From c6315dd5377477d6d1d6825ab7d4de49378c0c8e Mon Sep 17 00:00:00 2001 From: wendux <824783146@qq.com> Date: Fri, 25 Jan 2019 21:00:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Scaffold=E4=B8=80=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/workspace.xml | 165 +++++++++++++----- _book/chapter1/configuration.html | 2 +- _book/chapter1/dart.html | 2 +- _book/chapter1/flutter_intro.html | 2 +- _book/chapter1/index.html | 2 +- _book/chapter1/install_flutter.html | 2 +- _book/chapter1/mobile_development_intro.html | 2 +- _book/chapter10/dio.html | 2 +- _book/chapter10/file_operation.html | 2 +- _book/chapter10/http.html | 2 +- _book/chapter10/index.html | 2 +- _book/chapter10/json_model.html | 2 +- _book/chapter10/socket.html | 2 +- _book/chapter10/websocket.html | 2 +- _book/chapter11/android_implement.html | 2 +- _book/chapter11/develop_package.html | 2 +- _book/chapter11/index.html | 2 +- _book/chapter11/ios_implement.html | 2 +- _book/chapter11/platform-channel.html | 2 +- _book/chapter12/index.html | 2 +- _book/chapter12/intl.html | 2 +- _book/chapter12/locallization_implement.html | 2 +- _book/chapter12/multi_languages_support.html | 2 +- _book/chapter13/combine.html | 2 +- _book/chapter13/custom_paint.html | 2 +- .../gradient_circular_progress_demo.html | 2 +- _book/chapter13/index.html | 2 +- _book/chapter13/intro.html | 2 +- _book/chapter13/turn_box.html | 2 +- _book/chapter14/element_buildcontext.html | 2 +- _book/chapter14/flutter_app_startup.html | 2 +- _book/chapter14/flutter_ui_system.html | 2 +- _book/chapter14/index.html | 2 +- _book/chapter14/render_object.html | 2 +- _book/chapter2/first_flutter_app.html | 2 +- _book/chapter2/flutter_app_debug.html | 2 +- _book/chapter2/flutter_assets_mgr.html | 2 +- _book/chapter2/flutter_package_mgr.html | 2 +- _book/chapter2/flutter_router.html | 2 +- _book/chapter2/index.html | 2 +- .../thread_model_and_error_report.html | 2 +- _book/chapter3/buttons.html | 2 +- _book/chapter3/flutter_widget_intro.html | 2 +- _book/chapter3/img_and_icon.html | 2 +- _book/chapter3/index.html | 2 +- _book/chapter3/input_and_form.html | 2 +- _book/chapter3/radio_and_checkbox.html | 2 +- _book/chapter3/text.html | 2 +- _book/chapter4/flex.html | 2 +- _book/chapter4/index.html | 2 +- _book/chapter4/intro.html | 2 +- _book/chapter4/row_and_column.html | 2 +- _book/chapter4/stack.html | 2 +- _book/chapter4/wrap_and_flow.html | 2 +- .../chapter5/constrainedbox_and_sizebox.html | 2 +- _book/chapter5/container.html | 2 +- _book/chapter5/decoratedbox.html | 2 +- _book/chapter5/index.html | 2 +- _book/chapter5/material_scaffold.html | 2 +- _book/chapter5/padding.html | 2 +- _book/chapter5/transform.html | 2 +- _book/chapter6/custom_scrollview.html | 2 +- _book/chapter6/gridview.html | 2 +- _book/chapter6/index.html | 2 +- _book/chapter6/intro.html | 2 +- _book/chapter6/listview.html | 2 +- _book/chapter6/scroll_controller.html | 2 +- _book/chapter6/single_child_scrollview.html | 2 +- _book/chapter7/index.html | 2 +- _book/chapter7/inherited_widget.html | 2 +- _book/chapter7/theme.html | 2 +- _book/chapter7/willpopscope.html | 2 +- _book/chapter8/eventbus.html | 2 +- _book/chapter8/gesture.html | 2 +- _book/chapter8/index.html | 2 +- _book/chapter8/listener.html | 2 +- _book/chapter8/notification.html | 2 +- _book/chapter9/animation_structure.html | 2 +- _book/chapter9/hero.html | 2 +- _book/chapter9/index.html | 2 +- _book/chapter9/intro.html | 2 +- _book/chapter9/route_transition.html | 4 +- _book/chapter9/stagger_animation.html | 4 +- _book/imgs/pay.jpeg | Bin 0 -> 68951 bytes _book/index.html | 2 +- _book/search_index.json | 2 +- _book/search_plus_index.json | 2 +- _book/todo.html | 2 +- book.json | 2 +- docs/imgs/pay.jpeg | Bin 0 -> 68951 bytes 90 files changed, 215 insertions(+), 128 deletions(-) create mode 100644 _book/imgs/pay.jpeg create mode 100644 docs/imgs/pay.jpeg diff --git a/.idea/workspace.xml b/.idea/workspace.xml index f9999e09..0793a11b 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,9 +2,95 @@ + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -68,7 +154,7 @@ - + @@ -81,7 +167,7 @@ - + @@ -98,18 +184,18 @@ - + - + - - + + @@ -147,7 +233,7 @@ - + @@ -173,11 +259,11 @@ - + - - + + @@ -290,7 +376,6 @@ @@ -371,7 +457,8 @@ - @@ -466,14 +553,7 @@ - - - - 1543503312810 - 1543504243283 @@ -811,11 +891,18 @@ - \ No newline at end of file diff --git a/_book/chapter1/configuration.html b/_book/chapter1/configuration.html index 231792d2..a7bf32a2 100644 --- a/_book/chapter1/configuration.html +++ b/_book/chapter1/configuration.html @@ -1488,7 +1488,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"常见配置问题","level":"1.2.4","depth":2,"next":{"title":"Dart语言简介","level":"1.2.5","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]},"previous":{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/configuration.md","mtime":"2019-01-02T10:06:06.480Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"常见配置问题","level":"1.2.4","depth":2,"next":{"title":"Dart语言简介","level":"1.2.5","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]},"previous":{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/configuration.md","mtime":"2019-01-02T10:06:06.480Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/dart.html b/_book/chapter1/dart.html index 5906226e..0ac745ce 100644 --- a/_book/chapter1/dart.html +++ b/_book/chapter1/dart.html @@ -1732,7 +1732,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Dart语言简介","level":"1.2.5","depth":2,"next":{"title":"第一个Flutter应用","level":"1.3","depth":1,"path":"chapter2/index.md","ref":"chapter2/index.md","articles":[{"title":"计数器示例","level":"1.3.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},{"title":"路由管理","level":"1.3.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},{"title":"包管理","level":"1.3.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},{"title":"资源管理","level":"1.3.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},{"title":"调试Flutter APP","level":"1.3.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]}]},"previous":{"title":"常见配置问题","level":"1.2.4","depth":2,"path":"chapter1/configuration.md","ref":"chapter1/configuration.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/dart.md","mtime":"2019-01-24T08:10:01.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Dart语言简介","level":"1.2.5","depth":2,"next":{"title":"第一个Flutter应用","level":"1.3","depth":1,"path":"chapter2/index.md","ref":"chapter2/index.md","articles":[{"title":"计数器示例","level":"1.3.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},{"title":"路由管理","level":"1.3.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},{"title":"包管理","level":"1.3.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},{"title":"资源管理","level":"1.3.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},{"title":"调试Flutter APP","level":"1.3.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]}]},"previous":{"title":"常见配置问题","level":"1.2.4","depth":2,"path":"chapter1/configuration.md","ref":"chapter1/configuration.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/dart.md","mtime":"2019-01-24T08:10:01.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/flutter_intro.html b/_book/chapter1/flutter_intro.html index 73e41daf..9fefaa41 100644 --- a/_book/chapter1/flutter_intro.html +++ b/_book/chapter1/flutter_intro.html @@ -1515,7 +1515,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Flutter简介","level":"1.2.2","depth":2,"next":{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},"previous":{"title":"移动开发技术简介","level":"1.2.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/flutter_intro.md","mtime":"2019-01-02T10:06:06.482Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Flutter简介","level":"1.2.2","depth":2,"next":{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},"previous":{"title":"移动开发技术简介","level":"1.2.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/flutter_intro.md","mtime":"2019-01-02T10:06:06.482Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/index.html b/_book/chapter1/index.html index cca2971b..f4db1d51 100644 --- a/_book/chapter1/index.html +++ b/_book/chapter1/index.html @@ -1453,7 +1453,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"起步","level":"1.2","depth":1,"next":{"title":"移动开发技术简介","level":"1.2.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},"previous":{"title":"缘起","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/index.md","mtime":"2018-11-29T06:45:48.491Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"起步","level":"1.2","depth":1,"next":{"title":"移动开发技术简介","level":"1.2.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},"previous":{"title":"缘起","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/index.md","mtime":"2018-11-29T06:45:48.491Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/install_flutter.html b/_book/chapter1/install_flutter.html index 092e3877..3df92112 100644 --- a/_book/chapter1/install_flutter.html +++ b/_book/chapter1/install_flutter.html @@ -1765,7 +1765,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"next":{"title":"常见配置问题","level":"1.2.4","depth":2,"path":"chapter1/configuration.md","ref":"chapter1/configuration.md","articles":[]},"previous":{"title":"Flutter简介","level":"1.2.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/install_flutter.md","mtime":"2019-01-02T10:06:06.483Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"next":{"title":"常见配置问题","level":"1.2.4","depth":2,"path":"chapter1/configuration.md","ref":"chapter1/configuration.md","articles":[]},"previous":{"title":"Flutter简介","level":"1.2.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/install_flutter.md","mtime":"2019-01-02T10:06:06.483Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter1/mobile_development_intro.html b/_book/chapter1/mobile_development_intro.html index e8eb9bc5..8a9df2a3 100644 --- a/_book/chapter1/mobile_development_intro.html +++ b/_book/chapter1/mobile_development_intro.html @@ -1646,7 +1646,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"移动开发技术简介","level":"1.2.1","depth":2,"next":{"title":"Flutter简介","level":"1.2.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},"previous":{"title":"起步","level":"1.2","depth":1,"path":"chapter1/index.md","ref":"chapter1/index.md","articles":[{"title":"移动开发技术简介","level":"1.2.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},{"title":"Flutter简介","level":"1.2.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},{"title":"常见配置问题","level":"1.2.4","depth":2,"path":"chapter1/configuration.md","ref":"chapter1/configuration.md","articles":[]},{"title":"Dart语言简介","level":"1.2.5","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/mobile_development_intro.md","mtime":"2019-01-24T08:10:01.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"移动开发技术简介","level":"1.2.1","depth":2,"next":{"title":"Flutter简介","level":"1.2.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},"previous":{"title":"起步","level":"1.2","depth":1,"path":"chapter1/index.md","ref":"chapter1/index.md","articles":[{"title":"移动开发技术简介","level":"1.2.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},{"title":"Flutter简介","level":"1.2.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},{"title":"常见配置问题","level":"1.2.4","depth":2,"path":"chapter1/configuration.md","ref":"chapter1/configuration.md","articles":[]},{"title":"Dart语言简介","level":"1.2.5","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter1/mobile_development_intro.md","mtime":"2019-01-24T08:10:01.644Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/dio.html b/_book/chapter10/dio.html index 96ae37c6..ed3907a8 100644 --- a/_book/chapter10/dio.html +++ b/_book/chapter10/dio.html @@ -1520,7 +1520,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"next":{"title":"WebSocket","level":"1.12.4","depth":2,"path":"chapter10/websocket.md","ref":"chapter10/websocket.md","articles":[]},"previous":{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"path":"chapter10/http.md","ref":"chapter10/http.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/dio.md","mtime":"2018-12-09T13:12:23.219Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"next":{"title":"WebSocket","level":"1.12.4","depth":2,"path":"chapter10/websocket.md","ref":"chapter10/websocket.md","articles":[]},"previous":{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"path":"chapter10/http.md","ref":"chapter10/http.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/dio.md","mtime":"2018-12-09T13:12:23.219Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/file_operation.html b/_book/chapter10/file_operation.html index e65edc02..8306b043 100644 --- a/_book/chapter10/file_operation.html +++ b/_book/chapter10/file_operation.html @@ -1538,7 +1538,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"文件操作","level":"1.12.1","depth":2,"next":{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"path":"chapter10/http.md","ref":"chapter10/http.md","articles":[]},"previous":{"title":"文件操作与网络请求","level":"1.12","depth":1,"path":"chapter10/index.md","ref":"chapter10/index.md","articles":[{"title":"文件操作","level":"1.12.1","depth":2,"path":"chapter10/file_operation.md","ref":"chapter10/file_operation.md","articles":[]},{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"path":"chapter10/http.md","ref":"chapter10/http.md","articles":[]},{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"path":"chapter10/dio.md","ref":"chapter10/dio.md","articles":[]},{"title":"WebSocket","level":"1.12.4","depth":2,"path":"chapter10/websocket.md","ref":"chapter10/websocket.md","articles":[]},{"title":"使用Socket API","level":"1.12.5","depth":2,"path":"chapter10/socket.md","ref":"chapter10/socket.md","articles":[]},{"title":"Json转Model","level":"1.12.6","depth":2,"path":"chapter10/json_model.md","ref":"chapter10/json_model.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/file_operation.md","mtime":"2018-12-09T13:12:23.220Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"文件操作","level":"1.12.1","depth":2,"next":{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"path":"chapter10/http.md","ref":"chapter10/http.md","articles":[]},"previous":{"title":"文件操作与网络请求","level":"1.12","depth":1,"path":"chapter10/index.md","ref":"chapter10/index.md","articles":[{"title":"文件操作","level":"1.12.1","depth":2,"path":"chapter10/file_operation.md","ref":"chapter10/file_operation.md","articles":[]},{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"path":"chapter10/http.md","ref":"chapter10/http.md","articles":[]},{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"path":"chapter10/dio.md","ref":"chapter10/dio.md","articles":[]},{"title":"WebSocket","level":"1.12.4","depth":2,"path":"chapter10/websocket.md","ref":"chapter10/websocket.md","articles":[]},{"title":"使用Socket API","level":"1.12.5","depth":2,"path":"chapter10/socket.md","ref":"chapter10/socket.md","articles":[]},{"title":"Json转Model","level":"1.12.6","depth":2,"path":"chapter10/json_model.md","ref":"chapter10/json_model.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/file_operation.md","mtime":"2018-12-09T13:12:23.220Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/http.html b/_book/chapter10/http.html index 3faf5c70..7564f3fb 100644 --- a/_book/chapter10/http.html +++ b/_book/chapter10/http.html @@ -1691,7 +1691,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"next":{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"path":"chapter10/dio.md","ref":"chapter10/dio.md","articles":[]},"previous":{"title":"文件操作","level":"1.12.1","depth":2,"path":"chapter10/file_operation.md","ref":"chapter10/file_operation.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/http.md","mtime":"2018-12-09T13:12:23.223Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"next":{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"path":"chapter10/dio.md","ref":"chapter10/dio.md","articles":[]},"previous":{"title":"文件操作","level":"1.12.1","depth":2,"path":"chapter10/file_operation.md","ref":"chapter10/file_operation.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/http.md","mtime":"2018-12-09T13:12:23.223Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/index.html b/_book/chapter10/index.html index d2877dc3..67917f46 100644 --- a/_book/chapter10/index.html +++ b/_book/chapter10/index.html @@ -1455,7 +1455,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"文件操作与网络请求","level":"1.12","depth":1,"next":{"title":"文件操作","level":"1.12.1","depth":2,"path":"chapter10/file_operation.md","ref":"chapter10/file_operation.md","articles":[]},"previous":{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"path":"chapter13/gradient_circular_progress_demo.md","ref":"chapter13/gradient_circular_progress_demo.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/index.md","mtime":"2018-11-30T08:52:59.416Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"文件操作与网络请求","level":"1.12","depth":1,"next":{"title":"文件操作","level":"1.12.1","depth":2,"path":"chapter10/file_operation.md","ref":"chapter10/file_operation.md","articles":[]},"previous":{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"path":"chapter13/gradient_circular_progress_demo.md","ref":"chapter13/gradient_circular_progress_demo.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/index.md","mtime":"2018-11-30T08:52:59.416Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/json_model.html b/_book/chapter10/json_model.html index 51e33861..9179c045 100644 --- a/_book/chapter10/json_model.html +++ b/_book/chapter10/json_model.html @@ -1768,7 +1768,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Json转Model","level":"1.12.6","depth":2,"next":{"title":"包与插件","level":"1.13","depth":1,"path":"chapter11/index.md","ref":"chapter11/index.md","articles":[{"title":"开发package","level":"1.13.1","depth":2,"path":"chapter11/develop_package.md","ref":"chapter11/develop_package.md","articles":[]},{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"path":"chapter11/platform-channel.md","ref":"chapter11/platform-channel.md","articles":[]},{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"path":"chapter11/android_implement.md","ref":"chapter11/android_implement.md","articles":[]},{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"path":"chapter11/ios_implement.md","ref":"chapter11/ios_implement.md","articles":[]},{"title":"系统能力调用","level":"1.13.5","depth":2,"path":"todo.md","ref":"todo.md","articles":[]}]},"previous":{"title":"使用Socket API","level":"1.12.5","depth":2,"path":"chapter10/socket.md","ref":"chapter10/socket.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/json_model.md","mtime":"2018-12-10T11:36:41.001Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Json转Model","level":"1.12.6","depth":2,"next":{"title":"包与插件","level":"1.13","depth":1,"path":"chapter11/index.md","ref":"chapter11/index.md","articles":[{"title":"开发package","level":"1.13.1","depth":2,"path":"chapter11/develop_package.md","ref":"chapter11/develop_package.md","articles":[]},{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"path":"chapter11/platform-channel.md","ref":"chapter11/platform-channel.md","articles":[]},{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"path":"chapter11/android_implement.md","ref":"chapter11/android_implement.md","articles":[]},{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"path":"chapter11/ios_implement.md","ref":"chapter11/ios_implement.md","articles":[]},{"title":"系统能力调用","level":"1.13.5","depth":2,"path":"todo.md","ref":"todo.md","articles":[]}]},"previous":{"title":"使用Socket API","level":"1.12.5","depth":2,"path":"chapter10/socket.md","ref":"chapter10/socket.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/json_model.md","mtime":"2018-12-10T11:36:41.001Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/socket.html b/_book/chapter10/socket.html index 4841e0e7..5afd3387 100644 --- a/_book/chapter10/socket.html +++ b/_book/chapter10/socket.html @@ -1465,7 +1465,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"使用Socket API","level":"1.12.5","depth":2,"next":{"title":"Json转Model","level":"1.12.6","depth":2,"path":"chapter10/json_model.md","ref":"chapter10/json_model.md","articles":[]},"previous":{"title":"WebSocket","level":"1.12.4","depth":2,"path":"chapter10/websocket.md","ref":"chapter10/websocket.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/socket.md","mtime":"2018-12-09T13:12:23.225Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"使用Socket API","level":"1.12.5","depth":2,"next":{"title":"Json转Model","level":"1.12.6","depth":2,"path":"chapter10/json_model.md","ref":"chapter10/json_model.md","articles":[]},"previous":{"title":"WebSocket","level":"1.12.4","depth":2,"path":"chapter10/websocket.md","ref":"chapter10/websocket.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/socket.md","mtime":"2018-12-09T13:12:23.225Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter10/websocket.html b/_book/chapter10/websocket.html index b2780b03..06f1ed90 100644 --- a/_book/chapter10/websocket.html +++ b/_book/chapter10/websocket.html @@ -1569,7 +1569,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"WebSocket","level":"1.12.4","depth":2,"next":{"title":"使用Socket API","level":"1.12.5","depth":2,"path":"chapter10/socket.md","ref":"chapter10/socket.md","articles":[]},"previous":{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"path":"chapter10/dio.md","ref":"chapter10/dio.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/websocket.md","mtime":"2018-12-09T13:12:23.226Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"WebSocket","level":"1.12.4","depth":2,"next":{"title":"使用Socket API","level":"1.12.5","depth":2,"path":"chapter10/socket.md","ref":"chapter10/socket.md","articles":[]},"previous":{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"path":"chapter10/dio.md","ref":"chapter10/dio.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter10/websocket.md","mtime":"2018-12-09T13:12:23.226Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/android_implement.html b/_book/chapter11/android_implement.html index b6d844e3..34ae2563 100644 --- a/_book/chapter11/android_implement.html +++ b/_book/chapter11/android_implement.html @@ -1588,7 +1588,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"next":{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"path":"chapter11/ios_implement.md","ref":"chapter11/ios_implement.md","articles":[]},"previous":{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"path":"chapter11/platform-channel.md","ref":"chapter11/platform-channel.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/android_implement.md","mtime":"2018-12-09T13:12:23.227Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"next":{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"path":"chapter11/ios_implement.md","ref":"chapter11/ios_implement.md","articles":[]},"previous":{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"path":"chapter11/platform-channel.md","ref":"chapter11/platform-channel.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/android_implement.md","mtime":"2018-12-09T13:12:23.227Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/develop_package.html b/_book/chapter11/develop_package.html index 442c41b5..0bcdf970 100644 --- a/_book/chapter11/develop_package.html +++ b/_book/chapter11/develop_package.html @@ -1562,7 +1562,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"开发package","level":"1.13.1","depth":2,"next":{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"path":"chapter11/platform-channel.md","ref":"chapter11/platform-channel.md","articles":[]},"previous":{"title":"包与插件","level":"1.13","depth":1,"path":"chapter11/index.md","ref":"chapter11/index.md","articles":[{"title":"开发package","level":"1.13.1","depth":2,"path":"chapter11/develop_package.md","ref":"chapter11/develop_package.md","articles":[]},{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"path":"chapter11/platform-channel.md","ref":"chapter11/platform-channel.md","articles":[]},{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"path":"chapter11/android_implement.md","ref":"chapter11/android_implement.md","articles":[]},{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"path":"chapter11/ios_implement.md","ref":"chapter11/ios_implement.md","articles":[]},{"title":"系统能力调用","level":"1.13.5","depth":2,"path":"todo.md","ref":"todo.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/develop_package.md","mtime":"2018-12-09T13:12:23.228Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"开发package","level":"1.13.1","depth":2,"next":{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"path":"chapter11/platform-channel.md","ref":"chapter11/platform-channel.md","articles":[]},"previous":{"title":"包与插件","level":"1.13","depth":1,"path":"chapter11/index.md","ref":"chapter11/index.md","articles":[{"title":"开发package","level":"1.13.1","depth":2,"path":"chapter11/develop_package.md","ref":"chapter11/develop_package.md","articles":[]},{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"path":"chapter11/platform-channel.md","ref":"chapter11/platform-channel.md","articles":[]},{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"path":"chapter11/android_implement.md","ref":"chapter11/android_implement.md","articles":[]},{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"path":"chapter11/ios_implement.md","ref":"chapter11/ios_implement.md","articles":[]},{"title":"系统能力调用","level":"1.13.5","depth":2,"path":"todo.md","ref":"todo.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/develop_package.md","mtime":"2018-12-09T13:12:23.228Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/index.html b/_book/chapter11/index.html index 3fe0e953..15d53837 100644 --- a/_book/chapter11/index.html +++ b/_book/chapter11/index.html @@ -1453,7 +1453,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"包与插件","level":"1.13","depth":1,"next":{"title":"开发package","level":"1.13.1","depth":2,"path":"chapter11/develop_package.md","ref":"chapter11/develop_package.md","articles":[]},"previous":{"title":"Json转Model","level":"1.12.6","depth":2,"path":"chapter10/json_model.md","ref":"chapter10/json_model.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/index.md","mtime":"2018-12-05T05:43:24.021Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"包与插件","level":"1.13","depth":1,"next":{"title":"开发package","level":"1.13.1","depth":2,"path":"chapter11/develop_package.md","ref":"chapter11/develop_package.md","articles":[]},"previous":{"title":"Json转Model","level":"1.12.6","depth":2,"path":"chapter10/json_model.md","ref":"chapter10/json_model.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/index.md","mtime":"2018-12-05T05:43:24.021Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/ios_implement.html b/_book/chapter11/ios_implement.html index c2294e9c..04c5c543 100644 --- a/_book/chapter11/ios_implement.html +++ b/_book/chapter11/ios_implement.html @@ -1558,7 +1558,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"next":{"title":"系统能力调用","level":"1.13.5","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},"previous":{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"path":"chapter11/android_implement.md","ref":"chapter11/android_implement.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/ios_implement.md","mtime":"2018-12-09T13:12:23.229Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"next":{"title":"系统能力调用","level":"1.13.5","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},"previous":{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"path":"chapter11/android_implement.md","ref":"chapter11/android_implement.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/ios_implement.md","mtime":"2018-12-09T13:12:23.229Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter11/platform-channel.html b/_book/chapter11/platform-channel.html index d6368a72..2491ab75 100644 --- a/_book/chapter11/platform-channel.html +++ b/_book/chapter11/platform-channel.html @@ -1609,7 +1609,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"next":{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"path":"chapter11/android_implement.md","ref":"chapter11/android_implement.md","articles":[]},"previous":{"title":"开发package","level":"1.13.1","depth":2,"path":"chapter11/develop_package.md","ref":"chapter11/develop_package.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/platform-channel.md","mtime":"2018-12-09T13:12:23.230Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"插件开发:平台通道简介","level":"1.13.2","depth":2,"next":{"title":"插件开发:实现Android端API","level":"1.13.3","depth":2,"path":"chapter11/android_implement.md","ref":"chapter11/android_implement.md","articles":[]},"previous":{"title":"开发package","level":"1.13.1","depth":2,"path":"chapter11/develop_package.md","ref":"chapter11/develop_package.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter11/platform-channel.md","mtime":"2018-12-09T13:12:23.230Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/index.html b/_book/chapter12/index.html index e2c2e30c..049a2e46 100644 --- a/_book/chapter12/index.html +++ b/_book/chapter12/index.html @@ -1452,7 +1452,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"国际化","level":"1.14","depth":1,"next":{"title":"让App支持多语言","level":"1.14.1","depth":2,"path":"chapter12/multi_languages_support.md","ref":"chapter12/multi_languages_support.md","articles":[]},"previous":{"title":"系统能力调用","level":"1.13.5","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter12/index.md","mtime":"2018-12-10T10:14:41.235Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"国际化","level":"1.14","depth":1,"next":{"title":"让App支持多语言","level":"1.14.1","depth":2,"path":"chapter12/multi_languages_support.md","ref":"chapter12/multi_languages_support.md","articles":[]},"previous":{"title":"系统能力调用","level":"1.13.5","depth":2,"path":"todo.md","ref":"todo.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter12/index.md","mtime":"2018-12-10T10:14:41.235Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/intl.html b/_book/chapter12/intl.html index 0a7ee2f3..c337c30b 100644 --- a/_book/chapter12/intl.html +++ b/_book/chapter12/intl.html @@ -1633,7 +1633,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"使用Intl包","level":"1.14.3","depth":2,"next":{"title":"Flutter核心原理","level":"1.15","depth":1,"path":"chapter14/index.md","ref":"chapter14/index.md","articles":[{"title":"Flutter UI系统","level":"1.15.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},{"title":"Element和BuildContext","level":"1.15.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},{"title":"Flutter从启动到显示","level":"1.15.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]}]},"previous":{"title":"实现Localizations","level":"1.14.2","depth":2,"path":"chapter12/locallization_implement.md","ref":"chapter12/locallization_implement.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter12/intl.md","mtime":"2018-12-10T10:13:54.035Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"使用Intl包","level":"1.14.3","depth":2,"next":{"title":"Flutter核心原理","level":"1.15","depth":1,"path":"chapter14/index.md","ref":"chapter14/index.md","articles":[{"title":"Flutter UI系统","level":"1.15.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},{"title":"Element和BuildContext","level":"1.15.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},{"title":"Flutter从启动到显示","level":"1.15.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]}]},"previous":{"title":"实现Localizations","level":"1.14.2","depth":2,"path":"chapter12/locallization_implement.md","ref":"chapter12/locallization_implement.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter12/intl.md","mtime":"2018-12-10T10:13:54.035Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/locallization_implement.html b/_book/chapter12/locallization_implement.html index e47db3a6..95020e86 100644 --- a/_book/chapter12/locallization_implement.html +++ b/_book/chapter12/locallization_implement.html @@ -1514,7 +1514,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"实现Localizations","level":"1.14.2","depth":2,"next":{"title":"使用Intl包","level":"1.14.3","depth":2,"path":"chapter12/intl.md","ref":"chapter12/intl.md","articles":[]},"previous":{"title":"让App支持多语言","level":"1.14.1","depth":2,"path":"chapter12/multi_languages_support.md","ref":"chapter12/multi_languages_support.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter12/locallization_implement.md","mtime":"2018-12-09T13:16:59.578Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"实现Localizations","level":"1.14.2","depth":2,"next":{"title":"使用Intl包","level":"1.14.3","depth":2,"path":"chapter12/intl.md","ref":"chapter12/intl.md","articles":[]},"previous":{"title":"让App支持多语言","level":"1.14.1","depth":2,"path":"chapter12/multi_languages_support.md","ref":"chapter12/multi_languages_support.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter12/locallization_implement.md","mtime":"2018-12-09T13:16:59.578Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter12/multi_languages_support.html b/_book/chapter12/multi_languages_support.html index 8c58e4d8..aa7db19c 100644 --- a/_book/chapter12/multi_languages_support.html +++ b/_book/chapter12/multi_languages_support.html @@ -1531,7 +1531,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"让App支持多语言","level":"1.14.1","depth":2,"next":{"title":"实现Localizations","level":"1.14.2","depth":2,"path":"chapter12/locallization_implement.md","ref":"chapter12/locallization_implement.md","articles":[]},"previous":{"title":"国际化","level":"1.14","depth":1,"path":"chapter12/index.md","ref":"chapter12/index.md","articles":[{"title":"让App支持多语言","level":"1.14.1","depth":2,"path":"chapter12/multi_languages_support.md","ref":"chapter12/multi_languages_support.md","articles":[]},{"title":"实现Localizations","level":"1.14.2","depth":2,"path":"chapter12/locallization_implement.md","ref":"chapter12/locallization_implement.md","articles":[]},{"title":"使用Intl包","level":"1.14.3","depth":2,"path":"chapter12/intl.md","ref":"chapter12/intl.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter12/multi_languages_support.md","mtime":"2018-12-09T10:14:56.830Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"让App支持多语言","level":"1.14.1","depth":2,"next":{"title":"实现Localizations","level":"1.14.2","depth":2,"path":"chapter12/locallization_implement.md","ref":"chapter12/locallization_implement.md","articles":[]},"previous":{"title":"国际化","level":"1.14","depth":1,"path":"chapter12/index.md","ref":"chapter12/index.md","articles":[{"title":"让App支持多语言","level":"1.14.1","depth":2,"path":"chapter12/multi_languages_support.md","ref":"chapter12/multi_languages_support.md","articles":[]},{"title":"实现Localizations","level":"1.14.2","depth":2,"path":"chapter12/locallization_implement.md","ref":"chapter12/locallization_implement.md","articles":[]},{"title":"使用Intl包","level":"1.14.3","depth":2,"path":"chapter12/intl.md","ref":"chapter12/intl.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter12/multi_languages_support.md","mtime":"2018-12-09T10:14:56.830Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/combine.html b/_book/chapter13/combine.html index dd2640ce..e79aa334 100644 --- a/_book/chapter13/combine.html +++ b/_book/chapter13/combine.html @@ -1548,7 +1548,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"next":{"title":"实例:TurnBox","level":"1.11.3","depth":2,"path":"chapter13/turn_box.md","ref":"chapter13/turn_box.md","articles":[]},"previous":{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"path":"chapter13/intro.md","ref":"chapter13/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/combine.md","mtime":"2018-12-11T12:46:09.646Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"next":{"title":"实例:TurnBox","level":"1.11.3","depth":2,"path":"chapter13/turn_box.md","ref":"chapter13/turn_box.md","articles":[]},"previous":{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"path":"chapter13/intro.md","ref":"chapter13/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/combine.md","mtime":"2018-12-11T12:46:09.646Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/custom_paint.html b/_book/chapter13/custom_paint.html index f0a6469e..b668cfc9 100644 --- a/_book/chapter13/custom_paint.html +++ b/_book/chapter13/custom_paint.html @@ -1588,7 +1588,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"next":{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"path":"chapter13/gradient_circular_progress_demo.md","ref":"chapter13/gradient_circular_progress_demo.md","articles":[]},"previous":{"title":"实例:TurnBox","level":"1.11.3","depth":2,"path":"chapter13/turn_box.md","ref":"chapter13/turn_box.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/custom_paint.md","mtime":"2019-01-24T08:10:01.647Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"next":{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"path":"chapter13/gradient_circular_progress_demo.md","ref":"chapter13/gradient_circular_progress_demo.md","articles":[]},"previous":{"title":"实例:TurnBox","level":"1.11.3","depth":2,"path":"chapter13/turn_box.md","ref":"chapter13/turn_box.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/custom_paint.md","mtime":"2019-01-24T08:10:01.647Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/gradient_circular_progress_demo.html b/_book/chapter13/gradient_circular_progress_demo.html index 5099545a..1027201c 100644 --- a/_book/chapter13/gradient_circular_progress_demo.html +++ b/_book/chapter13/gradient_circular_progress_demo.html @@ -1831,7 +1831,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"next":{"title":"文件操作与网络请求","level":"1.12","depth":1,"path":"chapter10/index.md","ref":"chapter10/index.md","articles":[{"title":"文件操作","level":"1.12.1","depth":2,"path":"chapter10/file_operation.md","ref":"chapter10/file_operation.md","articles":[]},{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"path":"chapter10/http.md","ref":"chapter10/http.md","articles":[]},{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"path":"chapter10/dio.md","ref":"chapter10/dio.md","articles":[]},{"title":"WebSocket","level":"1.12.4","depth":2,"path":"chapter10/websocket.md","ref":"chapter10/websocket.md","articles":[]},{"title":"使用Socket API","level":"1.12.5","depth":2,"path":"chapter10/socket.md","ref":"chapter10/socket.md","articles":[]},{"title":"Json转Model","level":"1.12.6","depth":2,"path":"chapter10/json_model.md","ref":"chapter10/json_model.md","articles":[]}]},"previous":{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"path":"chapter13/custom_paint.md","ref":"chapter13/custom_paint.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/gradient_circular_progress_demo.md","mtime":"2018-12-11T12:15:42.772Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"next":{"title":"文件操作与网络请求","level":"1.12","depth":1,"path":"chapter10/index.md","ref":"chapter10/index.md","articles":[{"title":"文件操作","level":"1.12.1","depth":2,"path":"chapter10/file_operation.md","ref":"chapter10/file_operation.md","articles":[]},{"title":"Http请求-HttpClient","level":"1.12.2","depth":2,"path":"chapter10/http.md","ref":"chapter10/http.md","articles":[]},{"title":"Http请求-Dio package","level":"1.12.3","depth":2,"path":"chapter10/dio.md","ref":"chapter10/dio.md","articles":[]},{"title":"WebSocket","level":"1.12.4","depth":2,"path":"chapter10/websocket.md","ref":"chapter10/websocket.md","articles":[]},{"title":"使用Socket API","level":"1.12.5","depth":2,"path":"chapter10/socket.md","ref":"chapter10/socket.md","articles":[]},{"title":"Json转Model","level":"1.12.6","depth":2,"path":"chapter10/json_model.md","ref":"chapter10/json_model.md","articles":[]}]},"previous":{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"path":"chapter13/custom_paint.md","ref":"chapter13/custom_paint.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/gradient_circular_progress_demo.md","mtime":"2018-12-11T12:15:42.772Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/index.html b/_book/chapter13/index.html index 3b90103f..a9f92f0d 100644 --- a/_book/chapter13/index.html +++ b/_book/chapter13/index.html @@ -1454,7 +1454,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"自定义Widget","level":"1.11","depth":1,"next":{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"path":"chapter13/intro.md","ref":"chapter13/intro.md","articles":[]},"previous":{"title":"交错动画","level":"1.10.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/index.md","mtime":"2018-12-12T04:19:43.420Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"自定义Widget","level":"1.11","depth":1,"next":{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"path":"chapter13/intro.md","ref":"chapter13/intro.md","articles":[]},"previous":{"title":"交错动画","level":"1.10.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/index.md","mtime":"2018-12-12T04:19:43.420Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/intro.html b/_book/chapter13/intro.html index 15fd1575..75e87041 100644 --- a/_book/chapter13/intro.html +++ b/_book/chapter13/intro.html @@ -1462,7 +1462,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"next":{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"path":"chapter13/combine.md","ref":"chapter13/combine.md","articles":[]},"previous":{"title":"自定义Widget","level":"1.11","depth":1,"path":"chapter13/index.md","ref":"chapter13/index.md","articles":[{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"path":"chapter13/intro.md","ref":"chapter13/intro.md","articles":[]},{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"path":"chapter13/combine.md","ref":"chapter13/combine.md","articles":[]},{"title":"实例:TurnBox","level":"1.11.3","depth":2,"path":"chapter13/turn_box.md","ref":"chapter13/turn_box.md","articles":[]},{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"path":"chapter13/custom_paint.md","ref":"chapter13/custom_paint.md","articles":[]},{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"path":"chapter13/gradient_circular_progress_demo.md","ref":"chapter13/gradient_circular_progress_demo.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/intro.md","mtime":"2019-01-24T08:10:01.649Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"next":{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"path":"chapter13/combine.md","ref":"chapter13/combine.md","articles":[]},"previous":{"title":"自定义Widget","level":"1.11","depth":1,"path":"chapter13/index.md","ref":"chapter13/index.md","articles":[{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"path":"chapter13/intro.md","ref":"chapter13/intro.md","articles":[]},{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"path":"chapter13/combine.md","ref":"chapter13/combine.md","articles":[]},{"title":"实例:TurnBox","level":"1.11.3","depth":2,"path":"chapter13/turn_box.md","ref":"chapter13/turn_box.md","articles":[]},{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"path":"chapter13/custom_paint.md","ref":"chapter13/custom_paint.md","articles":[]},{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"path":"chapter13/gradient_circular_progress_demo.md","ref":"chapter13/gradient_circular_progress_demo.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/intro.md","mtime":"2019-01-24T08:10:01.649Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter13/turn_box.html b/_book/chapter13/turn_box.html index 101f1429..099d9807 100644 --- a/_book/chapter13/turn_box.html +++ b/_book/chapter13/turn_box.html @@ -1565,7 +1565,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"实例:TurnBox","level":"1.11.3","depth":2,"next":{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"path":"chapter13/custom_paint.md","ref":"chapter13/custom_paint.md","articles":[]},"previous":{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"path":"chapter13/combine.md","ref":"chapter13/combine.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/turn_box.md","mtime":"2018-12-11T12:12:19.975Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"实例:TurnBox","level":"1.11.3","depth":2,"next":{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"path":"chapter13/custom_paint.md","ref":"chapter13/custom_paint.md","articles":[]},"previous":{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"path":"chapter13/combine.md","ref":"chapter13/combine.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter13/turn_box.md","mtime":"2018-12-11T12:12:19.975Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/element_buildcontext.html b/_book/chapter14/element_buildcontext.html index 1e532875..1c0b93d5 100644 --- a/_book/chapter14/element_buildcontext.html +++ b/_book/chapter14/element_buildcontext.html @@ -1546,7 +1546,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Element和BuildContext","level":"1.15.2","depth":2,"next":{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},"previous":{"title":"Flutter UI系统","level":"1.15.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/element_buildcontext.md","mtime":"2019-01-24T08:10:01.651Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Element和BuildContext","level":"1.15.2","depth":2,"next":{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},"previous":{"title":"Flutter UI系统","level":"1.15.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/element_buildcontext.md","mtime":"2019-01-24T08:10:01.651Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/flutter_app_startup.html b/_book/chapter14/flutter_app_startup.html index 103f3b67..39a06d61 100644 --- a/_book/chapter14/flutter_app_startup.html +++ b/_book/chapter14/flutter_app_startup.html @@ -1702,7 +1702,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Flutter从启动到显示","level":"1.15.4","depth":2,"next":{"title":"Flutter资源汇总","level":"2.1","depth":1,"path":"todo.md","ref":"todo.md","articles":[]},"previous":{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/flutter_app_startup.md","mtime":"2019-01-24T08:30:12.270Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Flutter从启动到显示","level":"1.15.4","depth":2,"next":{"title":"Flutter资源汇总","level":"2.1","depth":1,"path":"todo.md","ref":"todo.md","articles":[]},"previous":{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/flutter_app_startup.md","mtime":"2019-01-24T08:30:12.270Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/flutter_ui_system.html b/_book/chapter14/flutter_ui_system.html index ccdcb896..36e0f082 100644 --- a/_book/chapter14/flutter_ui_system.html +++ b/_book/chapter14/flutter_ui_system.html @@ -1464,7 +1464,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Flutter UI系统","level":"1.15.1","depth":2,"next":{"title":"Element和BuildContext","level":"1.15.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},"previous":{"title":"Flutter核心原理","level":"1.15","depth":1,"path":"chapter14/index.md","ref":"chapter14/index.md","articles":[{"title":"Flutter UI系统","level":"1.15.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},{"title":"Element和BuildContext","level":"1.15.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},{"title":"Flutter从启动到显示","level":"1.15.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/flutter_ui_system.md","mtime":"2019-01-24T08:10:01.651Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Flutter UI系统","level":"1.15.1","depth":2,"next":{"title":"Element和BuildContext","level":"1.15.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},"previous":{"title":"Flutter核心原理","level":"1.15","depth":1,"path":"chapter14/index.md","ref":"chapter14/index.md","articles":[{"title":"Flutter UI系统","level":"1.15.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},{"title":"Element和BuildContext","level":"1.15.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"path":"chapter14/render_object.md","ref":"chapter14/render_object.md","articles":[]},{"title":"Flutter从启动到显示","level":"1.15.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/flutter_ui_system.md","mtime":"2019-01-24T08:10:01.651Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/index.html b/_book/chapter14/index.html index 5858fd40..9ed47f42 100644 --- a/_book/chapter14/index.html +++ b/_book/chapter14/index.html @@ -1453,7 +1453,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Flutter核心原理","level":"1.15","depth":1,"next":{"title":"Flutter UI系统","level":"1.15.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},"previous":{"title":"使用Intl包","level":"1.14.3","depth":2,"path":"chapter12/intl.md","ref":"chapter12/intl.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/index.md","mtime":"2019-01-18T10:50:33.135Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Flutter核心原理","level":"1.15","depth":1,"next":{"title":"Flutter UI系统","level":"1.15.1","depth":2,"path":"chapter14/flutter_ui_system.md","ref":"chapter14/flutter_ui_system.md","articles":[]},"previous":{"title":"使用Intl包","level":"1.14.3","depth":2,"path":"chapter12/intl.md","ref":"chapter12/intl.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/index.md","mtime":"2019-01-18T10:50:33.135Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter14/render_object.html b/_book/chapter14/render_object.html index 82c01950..491e64d1 100644 --- a/_book/chapter14/render_object.html +++ b/_book/chapter14/render_object.html @@ -1679,7 +1679,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"next":{"title":"Flutter从启动到显示","level":"1.15.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]},"previous":{"title":"Element和BuildContext","level":"1.15.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/render_object.md","mtime":"2019-01-24T08:10:01.653Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"RenderObject与RenderBox","level":"1.15.3","depth":2,"next":{"title":"Flutter从启动到显示","level":"1.15.4","depth":2,"path":"chapter14/flutter_app_startup.md","ref":"chapter14/flutter_app_startup.md","articles":[]},"previous":{"title":"Element和BuildContext","level":"1.15.2","depth":2,"path":"chapter14/element_buildcontext.md","ref":"chapter14/element_buildcontext.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter14/render_object.md","mtime":"2019-01-24T08:10:01.653Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/first_flutter_app.html b/_book/chapter2/first_flutter_app.html index 73482117..abbd0b75 100644 --- a/_book/chapter2/first_flutter_app.html +++ b/_book/chapter2/first_flutter_app.html @@ -1670,7 +1670,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"计数器示例","level":"1.3.1","depth":2,"next":{"title":"路由管理","level":"1.3.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},"previous":{"title":"第一个Flutter应用","level":"1.3","depth":1,"path":"chapter2/index.md","ref":"chapter2/index.md","articles":[{"title":"计数器示例","level":"1.3.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},{"title":"路由管理","level":"1.3.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},{"title":"包管理","level":"1.3.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},{"title":"资源管理","level":"1.3.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},{"title":"调试Flutter APP","level":"1.3.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/first_flutter_app.md","mtime":"2019-01-02T11:45:59.971Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"计数器示例","level":"1.3.1","depth":2,"next":{"title":"路由管理","level":"1.3.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},"previous":{"title":"第一个Flutter应用","level":"1.3","depth":1,"path":"chapter2/index.md","ref":"chapter2/index.md","articles":[{"title":"计数器示例","level":"1.3.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},{"title":"路由管理","level":"1.3.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},{"title":"包管理","level":"1.3.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},{"title":"资源管理","level":"1.3.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},{"title":"调试Flutter APP","level":"1.3.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/first_flutter_app.md","mtime":"2019-01-02T11:45:59.971Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/flutter_app_debug.html b/_book/chapter2/flutter_app_debug.html index 4323da40..589bb718 100644 --- a/_book/chapter2/flutter_app_debug.html +++ b/_book/chapter2/flutter_app_debug.html @@ -1972,7 +1972,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"调试Flutter APP","level":"1.3.5","depth":2,"next":{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]},"previous":{"title":"资源管理","level":"1.3.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/flutter_app_debug.md","mtime":"2019-01-15T12:03:59.127Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"调试Flutter APP","level":"1.3.5","depth":2,"next":{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]},"previous":{"title":"资源管理","level":"1.3.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/flutter_app_debug.md","mtime":"2019-01-15T12:03:59.127Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/flutter_assets_mgr.html b/_book/chapter2/flutter_assets_mgr.html index db489223..3aa42087 100644 --- a/_book/chapter2/flutter_assets_mgr.html +++ b/_book/chapter2/flutter_assets_mgr.html @@ -1584,7 +1584,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"资源管理","level":"1.3.4","depth":2,"next":{"title":"调试Flutter APP","level":"1.3.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},"previous":{"title":"包管理","level":"1.3.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/flutter_assets_mgr.md","mtime":"2018-12-09T13:12:23.233Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"资源管理","level":"1.3.4","depth":2,"next":{"title":"调试Flutter APP","level":"1.3.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},"previous":{"title":"包管理","level":"1.3.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/flutter_assets_mgr.md","mtime":"2018-12-09T13:12:23.233Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/flutter_package_mgr.html b/_book/chapter2/flutter_package_mgr.html index 48908630..65bf9a55 100644 --- a/_book/chapter2/flutter_package_mgr.html +++ b/_book/chapter2/flutter_package_mgr.html @@ -1557,7 +1557,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"包管理","level":"1.3.3","depth":2,"next":{"title":"资源管理","level":"1.3.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},"previous":{"title":"路由管理","level":"1.3.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/flutter_package_mgr.md","mtime":"2018-12-17T10:09:40.411Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"包管理","level":"1.3.3","depth":2,"next":{"title":"资源管理","level":"1.3.4","depth":2,"path":"chapter2/flutter_assets_mgr.md","ref":"chapter2/flutter_assets_mgr.md","articles":[]},"previous":{"title":"路由管理","level":"1.3.2","depth":2,"path":"chapter2/flutter_router.md","ref":"chapter2/flutter_router.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/flutter_package_mgr.md","mtime":"2018-12-17T10:09:40.411Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/flutter_router.html b/_book/chapter2/flutter_router.html index 32bf0e10..d6ceedbf 100644 --- a/_book/chapter2/flutter_router.html +++ b/_book/chapter2/flutter_router.html @@ -1582,7 +1582,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"路由管理","level":"1.3.2","depth":2,"next":{"title":"包管理","level":"1.3.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},"previous":{"title":"计数器示例","level":"1.3.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/flutter_router.md","mtime":"2018-12-17T09:52:09.933Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"路由管理","level":"1.3.2","depth":2,"next":{"title":"包管理","level":"1.3.3","depth":2,"path":"chapter2/flutter_package_mgr.md","ref":"chapter2/flutter_package_mgr.md","articles":[]},"previous":{"title":"计数器示例","level":"1.3.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/flutter_router.md","mtime":"2018-12-17T09:52:09.933Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/index.html b/_book/chapter2/index.html index 209adeb5..3b57c9ff 100644 --- a/_book/chapter2/index.html +++ b/_book/chapter2/index.html @@ -1457,7 +1457,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"第一个Flutter应用","level":"1.3","depth":1,"next":{"title":"计数器示例","level":"1.3.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},"previous":{"title":"Dart语言简介","level":"1.2.5","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/index.md","mtime":"2019-01-07T10:49:20.042Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"第一个Flutter应用","level":"1.3","depth":1,"next":{"title":"计数器示例","level":"1.3.1","depth":2,"path":"chapter2/first_flutter_app.md","ref":"chapter2/first_flutter_app.md","articles":[]},"previous":{"title":"Dart语言简介","level":"1.2.5","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/index.md","mtime":"2019-01-07T10:49:20.042Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter2/thread_model_and_error_report.html b/_book/chapter2/thread_model_and_error_report.html index 073b0012..f6f2dfde 100644 --- a/_book/chapter2/thread_model_and_error_report.html +++ b/_book/chapter2/thread_model_and_error_report.html @@ -1588,7 +1588,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"next":{"title":"基础Widgets","level":"1.4","depth":1,"path":"chapter3/index.md","ref":"chapter3/index.md","articles":[{"title":"Widget简介","level":"1.4.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},{"title":"文本、字体样式","level":"1.4.2","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},{"title":"按钮","level":"1.4.3","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},{"title":"图片和Icon","level":"1.4.4","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},{"title":"单选框和复选框","level":"1.4.5","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},{"title":"输入框和表单","level":"1.4.6","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]}]},"previous":{"title":"调试Flutter APP","level":"1.3.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/thread_model_and_error_report.md","mtime":"2019-01-24T08:10:01.654Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"next":{"title":"基础Widgets","level":"1.4","depth":1,"path":"chapter3/index.md","ref":"chapter3/index.md","articles":[{"title":"Widget简介","level":"1.4.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},{"title":"文本、字体样式","level":"1.4.2","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},{"title":"按钮","level":"1.4.3","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},{"title":"图片和Icon","level":"1.4.4","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},{"title":"单选框和复选框","level":"1.4.5","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},{"title":"输入框和表单","level":"1.4.6","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]}]},"previous":{"title":"调试Flutter APP","level":"1.3.5","depth":2,"path":"chapter2/flutter_app_debug.md","ref":"chapter2/flutter_app_debug.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter2/thread_model_and_error_report.md","mtime":"2019-01-24T08:10:01.654Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/buttons.html b/_book/chapter3/buttons.html index 6a9f9717..5f47bfd4 100644 --- a/_book/chapter3/buttons.html +++ b/_book/chapter3/buttons.html @@ -1534,7 +1534,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"按钮","level":"1.4.3","depth":2,"next":{"title":"图片和Icon","level":"1.4.4","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},"previous":{"title":"文本、字体样式","level":"1.4.2","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/buttons.md","mtime":"2018-12-10T10:16:25.394Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"按钮","level":"1.4.3","depth":2,"next":{"title":"图片和Icon","level":"1.4.4","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},"previous":{"title":"文本、字体样式","level":"1.4.2","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/buttons.md","mtime":"2018-12-10T10:16:25.394Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/flutter_widget_intro.html b/_book/chapter3/flutter_widget_intro.html index e678a57a..9a85b95f 100644 --- a/_book/chapter3/flutter_widget_intro.html +++ b/_book/chapter3/flutter_widget_intro.html @@ -1987,7 +1987,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Widget简介","level":"1.4.1","depth":2,"next":{"title":"文本、字体样式","level":"1.4.2","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},"previous":{"title":"基础Widgets","level":"1.4","depth":1,"path":"chapter3/index.md","ref":"chapter3/index.md","articles":[{"title":"Widget简介","level":"1.4.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},{"title":"文本、字体样式","level":"1.4.2","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},{"title":"按钮","level":"1.4.3","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},{"title":"图片和Icon","level":"1.4.4","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},{"title":"单选框和复选框","level":"1.4.5","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},{"title":"输入框和表单","level":"1.4.6","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/flutter_widget_intro.md","mtime":"2019-01-15T12:03:59.128Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Widget简介","level":"1.4.1","depth":2,"next":{"title":"文本、字体样式","level":"1.4.2","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},"previous":{"title":"基础Widgets","level":"1.4","depth":1,"path":"chapter3/index.md","ref":"chapter3/index.md","articles":[{"title":"Widget简介","level":"1.4.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},{"title":"文本、字体样式","level":"1.4.2","depth":2,"path":"chapter3/text.md","ref":"chapter3/text.md","articles":[]},{"title":"按钮","level":"1.4.3","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},{"title":"图片和Icon","level":"1.4.4","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},{"title":"单选框和复选框","level":"1.4.5","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},{"title":"输入框和表单","level":"1.4.6","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/flutter_widget_intro.md","mtime":"2019-01-15T12:03:59.128Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/img_and_icon.html b/_book/chapter3/img_and_icon.html index 21b5af82..3c018b51 100644 --- a/_book/chapter3/img_and_icon.html +++ b/_book/chapter3/img_and_icon.html @@ -1635,7 +1635,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"图片和Icon","level":"1.4.4","depth":2,"next":{"title":"单选框和复选框","level":"1.4.5","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},"previous":{"title":"按钮","level":"1.4.3","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/img_and_icon.md","mtime":"2019-01-24T08:10:01.656Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"图片和Icon","level":"1.4.4","depth":2,"next":{"title":"单选框和复选框","level":"1.4.5","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},"previous":{"title":"按钮","level":"1.4.3","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/img_and_icon.md","mtime":"2019-01-24T08:10:01.656Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/index.html b/_book/chapter3/index.html index ff6b3160..868ae451 100644 --- a/_book/chapter3/index.html +++ b/_book/chapter3/index.html @@ -1457,7 +1457,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"基础Widgets","level":"1.4","depth":1,"next":{"title":"Widget简介","level":"1.4.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},"previous":{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/index.md","mtime":"2018-11-30T08:41:09.656Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"基础Widgets","level":"1.4","depth":1,"next":{"title":"Widget简介","level":"1.4.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},"previous":{"title":"Dart线程模型及异常捕获","level":"1.3.6","depth":2,"path":"chapter2/thread_model_and_error_report.md","ref":"chapter2/thread_model_and_error_report.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/index.md","mtime":"2018-11-30T08:41:09.656Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/input_and_form.html b/_book/chapter3/input_and_form.html index 02aed1c1..52df1062 100644 --- a/_book/chapter3/input_and_form.html +++ b/_book/chapter3/input_and_form.html @@ -1900,7 +1900,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"输入框和表单","level":"1.4.6","depth":2,"next":{"title":"布局类Widgets","level":"1.5","depth":1,"path":"chapter4/index.md","ref":"chapter4/index.md","articles":[{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},{"title":"弹性布局Flex","level":"1.5.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]}]},"previous":{"title":"单选框和复选框","level":"1.4.5","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/input_and_form.md","mtime":"2019-01-15T12:03:59.129Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"输入框和表单","level":"1.4.6","depth":2,"next":{"title":"布局类Widgets","level":"1.5","depth":1,"path":"chapter4/index.md","ref":"chapter4/index.md","articles":[{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},{"title":"弹性布局Flex","level":"1.5.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]}]},"previous":{"title":"单选框和复选框","level":"1.4.5","depth":2,"path":"chapter3/radio_and_checkbox.md","ref":"chapter3/radio_and_checkbox.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/input_and_form.md","mtime":"2019-01-15T12:03:59.129Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/radio_and_checkbox.html b/_book/chapter3/radio_and_checkbox.html index 503775b6..b2c4c6c6 100644 --- a/_book/chapter3/radio_and_checkbox.html +++ b/_book/chapter3/radio_and_checkbox.html @@ -1488,7 +1488,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"单选框和复选框","level":"1.4.5","depth":2,"next":{"title":"输入框和表单","level":"1.4.6","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},"previous":{"title":"图片和Icon","level":"1.4.4","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/radio_and_checkbox.md","mtime":"2018-11-28T07:09:51.745Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"单选框和复选框","level":"1.4.5","depth":2,"next":{"title":"输入框和表单","level":"1.4.6","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},"previous":{"title":"图片和Icon","level":"1.4.4","depth":2,"path":"chapter3/img_and_icon.md","ref":"chapter3/img_and_icon.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/radio_and_checkbox.md","mtime":"2018-11-28T07:09:51.745Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter3/text.html b/_book/chapter3/text.html index 28af2860..eed2862e 100644 --- a/_book/chapter3/text.html +++ b/_book/chapter3/text.html @@ -1620,7 +1620,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"文本、字体样式","level":"1.4.2","depth":2,"next":{"title":"按钮","level":"1.4.3","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},"previous":{"title":"Widget简介","level":"1.4.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/text.md","mtime":"2019-01-24T08:10:01.656Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"文本、字体样式","level":"1.4.2","depth":2,"next":{"title":"按钮","level":"1.4.3","depth":2,"path":"chapter3/buttons.md","ref":"chapter3/buttons.md","articles":[]},"previous":{"title":"Widget简介","level":"1.4.1","depth":2,"path":"chapter3/flutter_widget_intro.md","ref":"chapter3/flutter_widget_intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter3/text.md","mtime":"2019-01-24T08:10:01.656Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/flex.html b/_book/chapter4/flex.html index fb2c6bba..b6bf0cc0 100644 --- a/_book/chapter4/flex.html +++ b/_book/chapter4/flex.html @@ -1535,7 +1535,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"弹性布局Flex","level":"1.5.3","depth":2,"next":{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},"previous":{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/flex.md","mtime":"2018-11-29T14:53:37.389Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"弹性布局Flex","level":"1.5.3","depth":2,"next":{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},"previous":{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/flex.md","mtime":"2018-11-29T14:53:37.389Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/index.html b/_book/chapter4/index.html index e77e80e1..7afd2182 100644 --- a/_book/chapter4/index.html +++ b/_book/chapter4/index.html @@ -1454,7 +1454,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"布局类Widgets","level":"1.5","depth":1,"next":{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},"previous":{"title":"输入框和表单","level":"1.4.6","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/index.md","mtime":"2018-12-09T13:12:23.238Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"布局类Widgets","level":"1.5","depth":1,"next":{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},"previous":{"title":"输入框和表单","level":"1.4.6","depth":2,"path":"chapter3/input_and_form.md","ref":"chapter3/input_and_form.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/index.md","mtime":"2018-12-09T13:12:23.238Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/intro.html b/_book/chapter4/intro.html index 81552259..3cd4cac3 100644 --- a/_book/chapter4/intro.html +++ b/_book/chapter4/intro.html @@ -1479,7 +1479,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"next":{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},"previous":{"title":"布局类Widgets","level":"1.5","depth":1,"path":"chapter4/index.md","ref":"chapter4/index.md","articles":[{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},{"title":"弹性布局Flex","level":"1.5.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/intro.md","mtime":"2018-12-09T13:12:23.239Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"next":{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},"previous":{"title":"布局类Widgets","level":"1.5","depth":1,"path":"chapter4/index.md","ref":"chapter4/index.md","articles":[{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"path":"chapter4/row_and_column.md","ref":"chapter4/row_and_column.md","articles":[]},{"title":"弹性布局Flex","level":"1.5.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/intro.md","mtime":"2018-12-09T13:12:23.239Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/row_and_column.html b/_book/chapter4/row_and_column.html index 100a9293..5faf2dfa 100644 --- a/_book/chapter4/row_and_column.html +++ b/_book/chapter4/row_and_column.html @@ -1559,7 +1559,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"next":{"title":"弹性布局Flex","level":"1.5.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},"previous":{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/row_and_column.md","mtime":"2019-01-02T10:06:06.485Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"线性布局Row、Column","level":"1.5.2","depth":2,"next":{"title":"弹性布局Flex","level":"1.5.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},"previous":{"title":"布局类Widgets简介","level":"1.5.1","depth":2,"path":"chapter4/intro.md","ref":"chapter4/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/row_and_column.md","mtime":"2019-01-02T10:06:06.485Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/stack.html b/_book/chapter4/stack.html index b773b907..61d535bc 100644 --- a/_book/chapter4/stack.html +++ b/_book/chapter4/stack.html @@ -1523,7 +1523,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"next":{"title":"容器类Widgets","level":"1.6","depth":1,"path":"chapter5/index.md","ref":"chapter5/index.md","articles":[{"title":"Padding","level":"1.6.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},{"title":"变换Transform","level":"1.6.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},{"title":"Container容器","level":"1.6.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]}]},"previous":{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/stack.md","mtime":"2018-12-09T13:12:23.240Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"next":{"title":"容器类Widgets","level":"1.6","depth":1,"path":"chapter5/index.md","ref":"chapter5/index.md","articles":[{"title":"Padding","level":"1.6.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},{"title":"变换Transform","level":"1.6.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},{"title":"Container容器","level":"1.6.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]}]},"previous":{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"path":"chapter4/wrap_and_flow.md","ref":"chapter4/wrap_and_flow.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/stack.md","mtime":"2018-12-09T13:12:23.240Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter4/wrap_and_flow.html b/_book/chapter4/wrap_and_flow.html index 51e4b0ec..72e84c99 100644 --- a/_book/chapter4/wrap_and_flow.html +++ b/_book/chapter4/wrap_and_flow.html @@ -1571,7 +1571,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"next":{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},"previous":{"title":"弹性布局Flex","level":"1.5.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/wrap_and_flow.md","mtime":"2019-01-15T12:04:04.306Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"流式布局Wrap、Flow","level":"1.5.4","depth":2,"next":{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},"previous":{"title":"弹性布局Flex","level":"1.5.3","depth":2,"path":"chapter4/flex.md","ref":"chapter4/flex.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter4/wrap_and_flow.md","mtime":"2019-01-15T12:04:04.306Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/constrainedbox_and_sizebox.html b/_book/chapter5/constrainedbox_and_sizebox.html index a1bf6902..dcb6d7f8 100644 --- a/_book/chapter5/constrainedbox_and_sizebox.html +++ b/_book/chapter5/constrainedbox_and_sizebox.html @@ -1551,7 +1551,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"next":{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},"previous":{"title":"Padding","level":"1.6.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/constrainedbox_and_sizebox.md","mtime":"2018-12-09T13:12:23.240Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"next":{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},"previous":{"title":"Padding","level":"1.6.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/constrainedbox_and_sizebox.md","mtime":"2018-12-09T13:12:23.240Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/container.html b/_book/chapter5/container.html index f5131af8..d2ec1f70 100644 --- a/_book/chapter5/container.html +++ b/_book/chapter5/container.html @@ -1530,7 +1530,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Container容器","level":"1.6.5","depth":2,"next":{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},"previous":{"title":"变换Transform","level":"1.6.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/container.md","mtime":"2019-01-15T11:57:19.361Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Container容器","level":"1.6.5","depth":2,"next":{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},"previous":{"title":"变换Transform","level":"1.6.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/container.md","mtime":"2019-01-15T11:57:19.361Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/decoratedbox.html b/_book/chapter5/decoratedbox.html index 744e0c3a..b204351f 100644 --- a/_book/chapter5/decoratedbox.html +++ b/_book/chapter5/decoratedbox.html @@ -1496,7 +1496,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"next":{"title":"变换Transform","level":"1.6.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},"previous":{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/decoratedbox.md","mtime":"2018-12-09T13:12:23.241Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"next":{"title":"变换Transform","level":"1.6.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},"previous":{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/decoratedbox.md","mtime":"2018-12-09T13:12:23.241Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/index.html b/_book/chapter5/index.html index 8acd917f..b5eb956d 100644 --- a/_book/chapter5/index.html +++ b/_book/chapter5/index.html @@ -1462,7 +1462,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"容器类Widgets","level":"1.6","depth":1,"next":{"title":"Padding","level":"1.6.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},"previous":{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/index.md","mtime":"2019-01-24T07:55:23.564Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"容器类Widgets","level":"1.6","depth":1,"next":{"title":"Padding","level":"1.6.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},"previous":{"title":"层叠布局Stack、Positioned","level":"1.5.5","depth":2,"path":"chapter4/stack.md","ref":"chapter4/stack.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/index.md","mtime":"2019-01-24T07:55:23.564Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/material_scaffold.html b/_book/chapter5/material_scaffold.html index e879584b..7fb1e5f5 100644 --- a/_book/chapter5/material_scaffold.html +++ b/_book/chapter5/material_scaffold.html @@ -1713,7 +1713,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"next":{"title":"可滚动Widgets","level":"1.7","depth":1,"path":"chapter6/index.md","ref":"chapter6/index.md","articles":[{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},{"title":"ListView","level":"1.7.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},{"title":"GridView","level":"1.7.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},{"title":"CustomScrollView","level":"1.7.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]}]},"previous":{"title":"Container容器","level":"1.6.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/material_scaffold.md","mtime":"2019-01-24T07:57:45.557Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"next":{"title":"可滚动Widgets","level":"1.7","depth":1,"path":"chapter6/index.md","ref":"chapter6/index.md","articles":[{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},{"title":"ListView","level":"1.7.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},{"title":"GridView","level":"1.7.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},{"title":"CustomScrollView","level":"1.7.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]}]},"previous":{"title":"Container容器","level":"1.6.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/material_scaffold.md","mtime":"2019-01-24T07:57:45.557Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/padding.html b/_book/chapter5/padding.html index 0f3d266a..85d6617b 100644 --- a/_book/chapter5/padding.html +++ b/_book/chapter5/padding.html @@ -1495,7 +1495,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Padding","level":"1.6.1","depth":2,"next":{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},"previous":{"title":"容器类Widgets","level":"1.6","depth":1,"path":"chapter5/index.md","ref":"chapter5/index.md","articles":[{"title":"Padding","level":"1.6.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},{"title":"变换Transform","level":"1.6.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},{"title":"Container容器","level":"1.6.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/padding.md","mtime":"2018-12-09T13:21:00.918Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Padding","level":"1.6.1","depth":2,"next":{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},"previous":{"title":"容器类Widgets","level":"1.6","depth":1,"path":"chapter5/index.md","ref":"chapter5/index.md","articles":[{"title":"Padding","level":"1.6.1","depth":2,"path":"chapter5/padding.md","ref":"chapter5/padding.md","articles":[]},{"title":"布局限制类容器ConstrainedBox、SizeBox","level":"1.6.2","depth":2,"path":"chapter5/constrainedbox_and_sizebox.md","ref":"chapter5/constrainedbox_and_sizebox.md","articles":[]},{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},{"title":"变换Transform","level":"1.6.4","depth":2,"path":"chapter5/transform.md","ref":"chapter5/transform.md","articles":[]},{"title":"Container容器","level":"1.6.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/padding.md","mtime":"2018-12-09T13:21:00.918Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter5/transform.html b/_book/chapter5/transform.html index e2c05a1d..cf2ac83c 100644 --- a/_book/chapter5/transform.html +++ b/_book/chapter5/transform.html @@ -1548,7 +1548,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"变换Transform","level":"1.6.4","depth":2,"next":{"title":"Container容器","level":"1.6.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},"previous":{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/transform.md","mtime":"2018-12-09T13:12:23.242Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"变换Transform","level":"1.6.4","depth":2,"next":{"title":"Container容器","level":"1.6.5","depth":2,"path":"chapter5/container.md","ref":"chapter5/container.md","articles":[]},"previous":{"title":"装饰容器DecoratedBox","level":"1.6.3","depth":2,"path":"chapter5/decoratedbox.md","ref":"chapter5/decoratedbox.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter5/transform.md","mtime":"2018-12-09T13:12:23.242Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/custom_scrollview.html b/_book/chapter6/custom_scrollview.html index 448159d3..4f099a5f 100644 --- a/_book/chapter6/custom_scrollview.html +++ b/_book/chapter6/custom_scrollview.html @@ -1526,7 +1526,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"CustomScrollView","level":"1.7.5","depth":2,"next":{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]},"previous":{"title":"GridView","level":"1.7.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/custom_scrollview.md","mtime":"2019-01-02T10:06:06.485Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"CustomScrollView","level":"1.7.5","depth":2,"next":{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]},"previous":{"title":"GridView","level":"1.7.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/custom_scrollview.md","mtime":"2019-01-02T10:06:06.485Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/gridview.html b/_book/chapter6/gridview.html index 9cdffcd6..45eafa16 100644 --- a/_book/chapter6/gridview.html +++ b/_book/chapter6/gridview.html @@ -1623,7 +1623,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"GridView","level":"1.7.4","depth":2,"next":{"title":"CustomScrollView","level":"1.7.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},"previous":{"title":"ListView","level":"1.7.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/gridview.md","mtime":"2019-01-24T08:10:01.658Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"GridView","level":"1.7.4","depth":2,"next":{"title":"CustomScrollView","level":"1.7.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},"previous":{"title":"ListView","level":"1.7.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/gridview.md","mtime":"2019-01-24T08:10:01.658Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/index.html b/_book/chapter6/index.html index d562bd22..51a3554a 100644 --- a/_book/chapter6/index.html +++ b/_book/chapter6/index.html @@ -1455,7 +1455,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"可滚动Widgets","level":"1.7","depth":1,"next":{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},"previous":{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/index.md","mtime":"2019-01-02T10:06:06.486Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"可滚动Widgets","level":"1.7","depth":1,"next":{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},"previous":{"title":"Scaffold、TabBar、底部导航","level":"1.6.6","depth":2,"path":"chapter5/material_scaffold.md","ref":"chapter5/material_scaffold.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/index.md","mtime":"2019-01-02T10:06:06.486Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/intro.html b/_book/chapter6/intro.html index 06659bb8..12648c56 100644 --- a/_book/chapter6/intro.html +++ b/_book/chapter6/intro.html @@ -1480,7 +1480,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"next":{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},"previous":{"title":"可滚动Widgets","level":"1.7","depth":1,"path":"chapter6/index.md","ref":"chapter6/index.md","articles":[{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},{"title":"ListView","level":"1.7.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},{"title":"GridView","level":"1.7.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},{"title":"CustomScrollView","level":"1.7.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/intro.md","mtime":"2018-12-09T13:12:23.243Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"next":{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},"previous":{"title":"可滚动Widgets","level":"1.7","depth":1,"path":"chapter6/index.md","ref":"chapter6/index.md","articles":[{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},{"title":"ListView","level":"1.7.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},{"title":"GridView","level":"1.7.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},{"title":"CustomScrollView","level":"1.7.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/intro.md","mtime":"2018-12-09T13:12:23.243Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/listview.html b/_book/chapter6/listview.html index 36070d2d..68d9c6e0 100644 --- a/_book/chapter6/listview.html +++ b/_book/chapter6/listview.html @@ -1668,7 +1668,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"ListView","level":"1.7.3","depth":2,"next":{"title":"GridView","level":"1.7.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},"previous":{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/listview.md","mtime":"2019-01-15T09:41:50.405Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"ListView","level":"1.7.3","depth":2,"next":{"title":"GridView","level":"1.7.4","depth":2,"path":"chapter6/gridview.md","ref":"chapter6/gridview.md","articles":[]},"previous":{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"path":"chapter6/single_child_scrollview.md","ref":"chapter6/single_child_scrollview.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/listview.md","mtime":"2019-01-15T09:41:50.405Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/scroll_controller.html b/_book/chapter6/scroll_controller.html index f7c5b3ab..f9140006 100644 --- a/_book/chapter6/scroll_controller.html +++ b/_book/chapter6/scroll_controller.html @@ -1642,7 +1642,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"next":{"title":"功能型Widgets","level":"1.8","depth":1,"path":"chapter7/index.md","ref":"chapter7/index.md","articles":[{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},{"title":"主题-Theme","level":"1.8.3","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]}]},"previous":{"title":"CustomScrollView","level":"1.7.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/scroll_controller.md","mtime":"2019-01-02T10:06:06.486Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"next":{"title":"功能型Widgets","level":"1.8","depth":1,"path":"chapter7/index.md","ref":"chapter7/index.md","articles":[{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},{"title":"主题-Theme","level":"1.8.3","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]}]},"previous":{"title":"CustomScrollView","level":"1.7.5","depth":2,"path":"chapter6/custom_scrollview.md","ref":"chapter6/custom_scrollview.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/scroll_controller.md","mtime":"2019-01-02T10:06:06.486Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter6/single_child_scrollview.html b/_book/chapter6/single_child_scrollview.html index ef794955..945bd0f5 100644 --- a/_book/chapter6/single_child_scrollview.html +++ b/_book/chapter6/single_child_scrollview.html @@ -1488,7 +1488,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"next":{"title":"ListView","level":"1.7.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},"previous":{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/single_child_scrollview.md","mtime":"2018-12-17T09:55:28.470Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"SingleChildScrollView","level":"1.7.2","depth":2,"next":{"title":"ListView","level":"1.7.3","depth":2,"path":"chapter6/listview.md","ref":"chapter6/listview.md","articles":[]},"previous":{"title":"可滚动Widgets简介","level":"1.7.1","depth":2,"path":"chapter6/intro.md","ref":"chapter6/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter6/single_child_scrollview.md","mtime":"2018-12-17T09:55:28.470Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/index.html b/_book/chapter7/index.html index 726fb06f..28619665 100644 --- a/_book/chapter7/index.html +++ b/_book/chapter7/index.html @@ -1454,7 +1454,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"功能型Widgets","level":"1.8","depth":1,"next":{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},"previous":{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter7/index.md","mtime":"2018-11-30T08:50:53.318Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"功能型Widgets","level":"1.8","depth":1,"next":{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},"previous":{"title":"滚动监听及控制ScrollController","level":"1.7.6","depth":2,"path":"chapter6/scroll_controller.md","ref":"chapter6/scroll_controller.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter7/index.md","mtime":"2018-11-30T08:50:53.318Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/inherited_widget.html b/_book/chapter7/inherited_widget.html index 4244e5ef..4ee32f08 100644 --- a/_book/chapter7/inherited_widget.html +++ b/_book/chapter7/inherited_widget.html @@ -1545,7 +1545,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"next":{"title":"主题-Theme","level":"1.8.3","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},"previous":{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter7/inherited_widget.md","mtime":"2019-01-24T08:10:01.659Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"next":{"title":"主题-Theme","level":"1.8.3","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},"previous":{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter7/inherited_widget.md","mtime":"2019-01-24T08:10:01.659Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/theme.html b/_book/chapter7/theme.html index 06ad2c24..beeed2d0 100644 --- a/_book/chapter7/theme.html +++ b/_book/chapter7/theme.html @@ -1552,7 +1552,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"主题-Theme","level":"1.8.3","depth":2,"next":{"title":"事件处理与通知","level":"1.9","depth":1,"path":"chapter8/index.md","ref":"chapter8/index.md","articles":[{"title":"原始指针事件处理","level":"1.9.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},{"title":"手势识别","level":"1.9.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},{"title":"全局事件总线","level":"1.9.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},{"title":"通知Notification","level":"1.9.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]}]},"previous":{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter7/theme.md","mtime":"2018-12-09T13:12:23.245Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"主题-Theme","level":"1.8.3","depth":2,"next":{"title":"事件处理与通知","level":"1.9","depth":1,"path":"chapter8/index.md","ref":"chapter8/index.md","articles":[{"title":"原始指针事件处理","level":"1.9.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},{"title":"手势识别","level":"1.9.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},{"title":"全局事件总线","level":"1.9.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},{"title":"通知Notification","level":"1.9.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]}]},"previous":{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter7/theme.md","mtime":"2018-12-09T13:12:23.245Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter7/willpopscope.html b/_book/chapter7/willpopscope.html index c576262f..703acdda 100644 --- a/_book/chapter7/willpopscope.html +++ b/_book/chapter7/willpopscope.html @@ -1490,7 +1490,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"next":{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},"previous":{"title":"功能型Widgets","level":"1.8","depth":1,"path":"chapter7/index.md","ref":"chapter7/index.md","articles":[{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},{"title":"主题-Theme","level":"1.8.3","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter7/willpopscope.md","mtime":"2018-11-28T08:27:36.738Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"next":{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},"previous":{"title":"功能型Widgets","level":"1.8","depth":1,"path":"chapter7/index.md","ref":"chapter7/index.md","articles":[{"title":"导航返回拦截-WillPopScope","level":"1.8.1","depth":2,"path":"chapter7/willpopscope.md","ref":"chapter7/willpopscope.md","articles":[]},{"title":"数据共享-InheritedWidget","level":"1.8.2","depth":2,"path":"chapter7/inherited_widget.md","ref":"chapter7/inherited_widget.md","articles":[]},{"title":"主题-Theme","level":"1.8.3","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter7/willpopscope.md","mtime":"2018-11-28T08:27:36.738Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/eventbus.html b/_book/chapter8/eventbus.html index 18a275ce..eadfd650 100644 --- a/_book/chapter8/eventbus.html +++ b/_book/chapter8/eventbus.html @@ -1514,7 +1514,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"全局事件总线","level":"1.9.3","depth":2,"next":{"title":"通知Notification","level":"1.9.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]},"previous":{"title":"手势识别","level":"1.9.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/eventbus.md","mtime":"2018-12-05T05:51:04.226Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"全局事件总线","level":"1.9.3","depth":2,"next":{"title":"通知Notification","level":"1.9.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]},"previous":{"title":"手势识别","level":"1.9.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/eventbus.md","mtime":"2018-12-05T05:51:04.226Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/gesture.html b/_book/chapter8/gesture.html index 2031923d..d6416b2d 100644 --- a/_book/chapter8/gesture.html +++ b/_book/chapter8/gesture.html @@ -1760,7 +1760,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"手势识别","level":"1.9.2","depth":2,"next":{"title":"全局事件总线","level":"1.9.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},"previous":{"title":"原始指针事件处理","level":"1.9.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/gesture.md","mtime":"2019-01-02T10:06:06.488Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"手势识别","level":"1.9.2","depth":2,"next":{"title":"全局事件总线","level":"1.9.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},"previous":{"title":"原始指针事件处理","level":"1.9.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/gesture.md","mtime":"2019-01-02T10:06:06.488Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/index.html b/_book/chapter8/index.html index a102b9d3..8837c659 100644 --- a/_book/chapter8/index.html +++ b/_book/chapter8/index.html @@ -1455,7 +1455,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"事件处理与通知","level":"1.9","depth":1,"next":{"title":"原始指针事件处理","level":"1.9.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},"previous":{"title":"主题-Theme","level":"1.8.3","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/index.md","mtime":"2018-11-30T08:51:55.769Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"事件处理与通知","level":"1.9","depth":1,"next":{"title":"原始指针事件处理","level":"1.9.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},"previous":{"title":"主题-Theme","level":"1.8.3","depth":2,"path":"chapter7/theme.md","ref":"chapter7/theme.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/index.md","mtime":"2018-11-30T08:51:55.769Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/listener.html b/_book/chapter8/listener.html index 07917e9a..c325464b 100644 --- a/_book/chapter8/listener.html +++ b/_book/chapter8/listener.html @@ -1549,7 +1549,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"原始指针事件处理","level":"1.9.1","depth":2,"next":{"title":"手势识别","level":"1.9.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},"previous":{"title":"事件处理与通知","level":"1.9","depth":1,"path":"chapter8/index.md","ref":"chapter8/index.md","articles":[{"title":"原始指针事件处理","level":"1.9.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},{"title":"手势识别","level":"1.9.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},{"title":"全局事件总线","level":"1.9.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},{"title":"通知Notification","level":"1.9.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/listener.md","mtime":"2019-01-10T10:31:33.357Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"原始指针事件处理","level":"1.9.1","depth":2,"next":{"title":"手势识别","level":"1.9.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},"previous":{"title":"事件处理与通知","level":"1.9","depth":1,"path":"chapter8/index.md","ref":"chapter8/index.md","articles":[{"title":"原始指针事件处理","level":"1.9.1","depth":2,"path":"chapter8/listener.md","ref":"chapter8/listener.md","articles":[]},{"title":"手势识别","level":"1.9.2","depth":2,"path":"chapter8/gesture.md","ref":"chapter8/gesture.md","articles":[]},{"title":"全局事件总线","level":"1.9.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},{"title":"通知Notification","level":"1.9.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/listener.md","mtime":"2019-01-10T10:31:33.357Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter8/notification.html b/_book/chapter8/notification.html index ef212f92..59e36e9d 100644 --- a/_book/chapter8/notification.html +++ b/_book/chapter8/notification.html @@ -1537,7 +1537,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"通知Notification","level":"1.9.4","depth":2,"next":{"title":"动画","level":"1.10","depth":1,"path":"chapter9/index.md","ref":"chapter9/index.md","articles":[{"title":"Flutter动画简介","level":"1.10.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},{"title":"动画结构","level":"1.10.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},{"title":"Hero动画","level":"1.10.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},{"title":"交错动画","level":"1.10.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]}]},"previous":{"title":"全局事件总线","level":"1.9.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/notification.md","mtime":"2018-11-29T14:53:37.339Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"通知Notification","level":"1.9.4","depth":2,"next":{"title":"动画","level":"1.10","depth":1,"path":"chapter9/index.md","ref":"chapter9/index.md","articles":[{"title":"Flutter动画简介","level":"1.10.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},{"title":"动画结构","level":"1.10.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},{"title":"Hero动画","level":"1.10.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},{"title":"交错动画","level":"1.10.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]}]},"previous":{"title":"全局事件总线","level":"1.9.3","depth":2,"path":"chapter8/eventbus.md","ref":"chapter8/eventbus.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter8/notification.md","mtime":"2018-11-29T14:53:37.339Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/animation_structure.html b/_book/chapter9/animation_structure.html index 99fd0c58..c04ac08f 100644 --- a/_book/chapter9/animation_structure.html +++ b/_book/chapter9/animation_structure.html @@ -1671,7 +1671,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"动画结构","level":"1.10.2","depth":2,"next":{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},"previous":{"title":"Flutter动画简介","level":"1.10.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/animation_structure.md","mtime":"2018-12-09T13:12:23.247Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"动画结构","level":"1.10.2","depth":2,"next":{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},"previous":{"title":"Flutter动画简介","level":"1.10.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/animation_structure.md","mtime":"2018-12-09T13:12:23.247Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/hero.html b/_book/chapter9/hero.html index eae2c466..aec7fa4f 100644 --- a/_book/chapter9/hero.html +++ b/_book/chapter9/hero.html @@ -1504,7 +1504,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Hero动画","level":"1.10.4","depth":2,"next":{"title":"交错动画","level":"1.10.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},"previous":{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/hero.md","mtime":"2019-01-02T10:06:06.488Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Hero动画","level":"1.10.4","depth":2,"next":{"title":"交错动画","level":"1.10.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]},"previous":{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/hero.md","mtime":"2019-01-02T10:06:06.488Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/index.html b/_book/chapter9/index.html index b667bb6f..c5083e2c 100644 --- a/_book/chapter9/index.html +++ b/_book/chapter9/index.html @@ -1456,7 +1456,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"动画","level":"1.10","depth":1,"next":{"title":"Flutter动画简介","level":"1.10.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},"previous":{"title":"通知Notification","level":"1.9.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/index.md","mtime":"2019-01-24T08:10:01.661Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"动画","level":"1.10","depth":1,"next":{"title":"Flutter动画简介","level":"1.10.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},"previous":{"title":"通知Notification","level":"1.9.4","depth":2,"path":"chapter8/notification.md","ref":"chapter8/notification.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/index.md","mtime":"2019-01-24T08:10:01.661Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/intro.html b/_book/chapter9/intro.html index 3ebfd083..777fca36 100644 --- a/_book/chapter9/intro.html +++ b/_book/chapter9/intro.html @@ -1525,7 +1525,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Flutter动画简介","level":"1.10.1","depth":2,"next":{"title":"动画结构","level":"1.10.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},"previous":{"title":"动画","level":"1.10","depth":1,"path":"chapter9/index.md","ref":"chapter9/index.md","articles":[{"title":"Flutter动画简介","level":"1.10.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},{"title":"动画结构","level":"1.10.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},{"title":"Hero动画","level":"1.10.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},{"title":"交错动画","level":"1.10.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/intro.md","mtime":"2018-12-09T13:12:23.249Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Flutter动画简介","level":"1.10.1","depth":2,"next":{"title":"动画结构","level":"1.10.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},"previous":{"title":"动画","level":"1.10","depth":1,"path":"chapter9/index.md","ref":"chapter9/index.md","articles":[{"title":"Flutter动画简介","level":"1.10.1","depth":2,"path":"chapter9/intro.md","ref":"chapter9/intro.md","articles":[]},{"title":"动画结构","level":"1.10.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"path":"chapter9/route_transition.md","ref":"chapter9/route_transition.md","articles":[]},{"title":"Hero动画","level":"1.10.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},{"title":"交错动画","level":"1.10.5","depth":2,"path":"chapter9/stagger_animation.md","ref":"chapter9/stagger_animation.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/intro.md","mtime":"2018-12-09T13:12:23.249Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/route_transition.html b/_book/chapter9/route_transition.html index 4f98becf..00ad1342 100644 --- a/_book/chapter9/route_transition.html +++ b/_book/chapter9/route_transition.html @@ -1418,7 +1418,7 @@

) { return new FadeTransition( //使用渐隐渐入过渡, opacity: animation, - child: PageB(); //路由B + child: PageB() //路由B ); })); }), @@ -1540,7 +1540,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"next":{"title":"Hero动画","level":"1.10.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},"previous":{"title":"动画结构","level":"1.10.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/route_transition.md","mtime":"2018-11-28T08:50:52.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"自定义路由过渡动画","level":"1.10.3","depth":2,"next":{"title":"Hero动画","level":"1.10.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},"previous":{"title":"动画结构","level":"1.10.2","depth":2,"path":"chapter9/animation_structure.md","ref":"chapter9/animation_structure.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
Flutter中文网
":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/route_transition.md","mtime":"2019-01-25T12:51:29.334Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/chapter9/stagger_animation.html b/_book/chapter9/stagger_animation.html index 1275a447..756b981a 100644 --- a/_book/chapter9/stagger_animation.html +++ b/_book/chapter9/stagger_animation.html @@ -1404,7 +1404,7 @@

交错动画

-

有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。这时我们就需要使用交错动画(Stagger Animation)。交错动画需要注意以下几点:

+

有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。这时我们就需要使用交错动画(Stagger Animation)。交错动画需要注意以下几点:

  1. 要创建交错动画,需要使用多个动画对象
  2. 一个AnimationController控制所有动画
  3. @@ -1592,7 +1592,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"交错动画","level":"1.10.5","depth":2,"next":{"title":"自定义Widget","level":"1.11","depth":1,"path":"chapter13/index.md","ref":"chapter13/index.md","articles":[{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"path":"chapter13/intro.md","ref":"chapter13/intro.md","articles":[]},{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"path":"chapter13/combine.md","ref":"chapter13/combine.md","articles":[]},{"title":"实例:TurnBox","level":"1.11.3","depth":2,"path":"chapter13/turn_box.md","ref":"chapter13/turn_box.md","articles":[]},{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"path":"chapter13/custom_paint.md","ref":"chapter13/custom_paint.md","articles":[]},{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"path":"chapter13/gradient_circular_progress_demo.md","ref":"chapter13/gradient_circular_progress_demo.md","articles":[]}]},"previous":{"title":"Hero动画","level":"1.10.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
    Flutter中文网
    ":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/stagger_animation.md","mtime":"2018-12-09T13:24:17.137Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"交错动画","level":"1.10.5","depth":2,"next":{"title":"自定义Widget","level":"1.11","depth":1,"path":"chapter13/index.md","ref":"chapter13/index.md","articles":[{"title":"自定义Widget方法简介","level":"1.11.1","depth":2,"path":"chapter13/intro.md","ref":"chapter13/intro.md","articles":[]},{"title":"通过组合现有Widget实现","level":"1.11.2","depth":2,"path":"chapter13/combine.md","ref":"chapter13/combine.md","articles":[]},{"title":"实例:TurnBox","level":"1.11.3","depth":2,"path":"chapter13/turn_box.md","ref":"chapter13/turn_box.md","articles":[]},{"title":"CustomPaint与Canvas","level":"1.11.4","depth":2,"path":"chapter13/custom_paint.md","ref":"chapter13/custom_paint.md","articles":[]},{"title":"实例:圆形渐变进度条(自绘)","level":"1.11.5","depth":2,"path":"chapter13/gradient_circular_progress_demo.md","ref":"chapter13/gradient_circular_progress_demo.md","articles":[]}]},"previous":{"title":"Hero动画","level":"1.10.4","depth":2,"path":"chapter9/hero.md","ref":"chapter9/hero.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
    Flutter中文网
    ":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"chapter9/stagger_animation.md","mtime":"2019-01-25T12:51:29.336Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/_book/imgs/pay.jpeg b/_book/imgs/pay.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..34546fa64be5b1ea6090ac37bd0420de1d82905c GIT binary patch literal 68951 zcmce-2~-o=_C6X%T5ZJ%QE5%Ls3@pu2S6Jn*AW2`l}W~^h=>dk5r{%kt%!(-v;&|- zh$9FAA~FOSQX-Rz5C=$v0D&N&2_Xrw$Uvp?j@^B4-`{)x_tsnMzurr&Rn!WVQ)i#E z_dehE?Njf+iCijxH&&eAWw*!G+`NT;+zSS=1kDn_|QzIu##7&wrdG0S$*3Vlud+N3W8|EL0Ff};; z^Y!gU_YZC?UVik~1+}N&@3^t)!Vi6}|5_1XY$?AP`C$LfXYq=aZdS)`oq2iq!^MXS zPl?QSSqGN5M?FfbOBnsQJNoy2dynI#)21(4ylS=i<}JVNad7lJG$}H34hsj^H$nlragT0w{g!( zO8>U+W!=9m{P=GZMg4ypIr<+f1-Ko+Y5(^=deF%KUJKyY`cB-Bll~mOIl#GesKDd@ z`vV=*O+yzKnZ)UF+AXB@vRuo!CeB?nh4qCs*vW0})OD!^A6U#zY>|Sni}itUAD+0m z6T3n*rkzFavxZ?F@eb+Bz8aE!ZwpOH`+?Sv9p%5e`K{9e`Kb9u_+X^8CrN9j(6X?} zm=v04G`@&)w_UkZ8|nF$rW+(>x9iTmbq*{0>mb*%dPueTRa%!pt_^Fe@X9&3*yS~` z6kEf34%OKPAQ(TOpW zkgr(!$Ax#(j*m@|9z+}$D7rbp0t=RjK>J-LY72&rp9@V*Q$x6 zNE(~AXVhrS<@s5IPnMiT>WpvOIpJ6wT#z@bzx8hsRjC$ffD%NTF@bgOvLd!@QwJfSoDbJm?dhZ$DM<5 z{85K7;kQWw&nQ%=$L+zl=paAkJfE?(NbI2QWwWI4&+tqz=07Baw7ouAu9(8FI zej#bTu-b(gdYri)cPyXg6Q)^9dT-Fkz{i!5J`nowc{Hx4q1r$2vhi< z;MOn$aXalIWGH+E+cy@@U&|XFswb0mTx4L-z0BJvMr#7PvK^yfrpRKY1cZ%@<7co+E zNl)NIJ(#cOSF%9(#w1_MPz-5rU=b26PrE~nV8u-J8;q;RC3Ejf1{lvE3h|aBmWO>a z9zEb+rQ58>&4vUC&>B-zbcFPb_|a1ytgRuz#Fj*4%jj0xG@Uad>u>lUqu01K+oB2D zWR}8uOK8Ve*F1yorY1v0!gZ`f*!`oL?Vz0|th?1bn#9lIBQo*QBN}UxA$ncsKb{3` zB651(f78WfAOoyX28qLXB^%?S9{e$QRMkd&ld=i@hBZ5onv6T~AIR3ECKpyEmYc7~ zHS2M|K=-a-0fqy5Tw4~+6#Jsa52ip4oh!>b|2o*82@?JtzT*CPyw*uw0 zu@b8>RUVsfr0awh(ynU>B#s_ePevqBq_;omar@HB&_-=gBjZ!lS*}u}+XF3h*X^a5 z=y49D`V=VG9E&5yGBuGSG?VcQ@Y8AkL*JGwFp~e zhtN#cHVGU9tqJL!h1cFh<5{h@wuCvdjXNxr8J;>L9f|Y`Z>-yk?eQGAH;%1?BZv>U zL-xu}_!+C8F}_G4exNmfsD8*AZc-oD)@egn1CfKm2gKYr*e>E8=+}`D?Q_&}n3!`C zx%2m^m3Oi&KVU07CC9N1Aap_oQuFMnXfUe_-^BVAyUZ-mSzuJ6lSJwCE#{lOrYr}_ z7rqHX(tPbl?`RV=Y5ui33T-arjPx-;5Kcn_`0t7QAq7i!ov$>Mr+&*q5x&IbGbG{4 z5_};eJx<_qm#?@f%6_aX=F4*tArgr0_Eb3yz;CU`3`n&Gd?CLiQ{y6+s7f?2OTsxC z62|=Na1)&TEY;&?z%wkyk~{9wT0E8aHPdt-p0WCNbI0#uffmS+;-iwNea!kiq!o=n z>x8#Jw`A}1IIg*liCu__DrId_qdNGPz>53UWZr|{h#z#vRKH? zO6@CzcJ>^Q;!E7oHL{T#9C#hHMUTq~vP7pr-lQ}=?n%35>$tIs?v3q->>wujb0z1V z?g(lUK>C=doH&+qSC8`(zH<3wBooew<@2(M318rMK?Byx=YlUF;k|@arl@Vy*gLJ+ zm;~LxS8Z3RSB;&+1e}O3#3ZqnK5l_+g`O@hF=!^W?t*;(D@6MEBkNebOei(ou#Gf!dWfEHUs?ILdcQPLK+EwrT`|=oVwt0c$H5wLa zxe6{PWt6EvjLy^btM$0PZZlDkjMW9XjuBtRRGcAo5CquyPp36e=)ca!sA5oe&vf1W zK@v|I0k_^KKJ?B(C-)KyGrtU-6#RX3sdlI>_n@bAg}T?QSNIJ0ES#N>GKcjzkU;k{ zmDb85tO0k(4bEcRA+^;&zv^)xgq?a^%K+p+dToEhk~L9fL6n?)4&Bq^KAs-R0w=8e}>wu@iXQ8S2vav}D;8zlmmlkgAyaC@APW%cT4AE?` zA3Gr64-melDxI_~q!g$WPR5ra2w|i8tY$r_OPH>)SEiBpW{Sr;V?E9aQIb`w(L`v! z(bobfQ@DjS9IN)h`rsRHM#euZ3SFm>w-7t&D%#Tn{8`a~GA$PbHLSjb? zDb{_7wQvM~Y{GwaaVdNx?i&1C1-B|HuIe)coy3Bib!){6m!e8SgQJpB;Z57ge@DEZ z9iY(B1hkp7a6Qhx>??eOWJwzVVf$?YlqXg|gN9P>+mjfKy~k{!qRe5t!-42fJA^z0 zJ>aFGr%_0EMUPvB43mjZNtq!Ua-c38GA+|RLcdDkjh;#yge47fCE4%$d+5sBVFQ=~ zO=T*+&)hzuM~Eg|_@2fZ+A%~L7RaY^zUoe*H^$T933k>hNN^Hegr(TM)8xR$cAK!P zoCmDW*PF%+Mr)v@q))QZGTp&;`_Wzeb1R@742m9S06G;0t-}j4Mp@%r(rY%D=f^Y+ ze{{lEp+nqrk^oZ97_VXqpzGW(bj>H0WTPe?E92}3kC%}7*_E6}S%2r5FeVt1QEaBW zka5m1i{INyW@_WqEGaSBVuZ{!1o@=3Q$rl9;$sf14#PoH)sWH=o&Xga)-u|?wM<3y zN0m36>C$1?1`T$?>xs`8A}4JOtC?$q727S&=MIp+1>9nZ8EQ|ANxZojtI*@7Z?)E@ zus+ivpWom=80OduC~G?QJCp%^N$dzwUm1Vjd=ldf{|vlqyl;BkKr}lS;Oep(VjjL=Tv!OrphiP?J%$ihkuXn>!*}Zf)f*)l z=;s(xzHAZo0A*AnF{>r|2#3~JQN7edVrF9o{t#`F6iLC(RB_Lvk-eljP9oVi&J_|LoZJn{|hv ztaUOZzCU#kB(ZqZ3GK!nR$C**Y(4JHZ5@fIam6!%YncZifcy;X<**o>$+nQot0o$66YW?ETpF@Pr@CXd|MkVV*L0x!jHwm#}m;a z?q$-Sr_{Kxi2l@t>W!$>nma=s@`CdVy&-!h%|ef}5zbb}){n3FM$c)k)Z;So=dGz+ z%&keRVWMv_)&-EJxW@ITd`;07J63w?pPej&z-`ef%?+^P3dQF{JWUaV=4G@if${6L z9B4F$==oO@x&Y83>w@hsy(DGWzmg>YT_}6?xVd`V2A8p9>=emQpvScv3DKh56fm3M z)Mm!Jq(BP$7)oH}RUz5}58l?}vPo#0Q0WR9vqywjM7EihrC{^Oyp{b3U6iWy0{<}U zmnnnf5D$L^9@tAO67tv=#)OlpN2$J0X72fFzg|FP?l9WLM%B>Wm?TNf|>a{UObQJ84F_iEyj3 z$%dm53DpgDMeyJQ3NwmvR1W`RLpwwBQC-!vbc+^vXXZ96oTT(6()BnyLj^&(T#q{e z57l5>1?XFNFdNvGivr&n31-GQ=lHVW#&!HjW2$! z=1NHQ!oh(m;4_1|U|8cTEVLGJ7mm;Ym^+uq%cJ85YTaTR|G89_PnVoH@0&X19pLPOX@kE08Jr#-dZ1spyV*@so2rllZCZNzl66Dx}I zL83%l7I`7nMSU|sdqr-|Yivg7eNy-($4;9CM)g27I0@UYjaP+@?U$x61z_)L|4}fu z*=xYnlQm5N0ay&lEB0}BlO~7iRu|a2b23Hv-C?PIP|Hqj1NeDd5dj6%dXS|%2eteR z>>_B2@F3sW4XBh+md4Prk90LL&tt6cdXTf4`q{FK4?!8~NA0h-ThpC=#ERO-Ab zp49(^e=MvwEZVqLBV1}x0!sPqes<)Ve4 z-R}t+)_#IULDuy#{0=`QN7Qt5i1RGYvrmsxo;>(S`voI63Ei`2YMY@^Cef9Qxd(|s zc)lsnIl~%vMjrU7c?kl{AMl{%2+vnf=wmPoStvkggE?w5v==M3om5QqqZrf?N&d## zR&6s_KMj-6i2f9nWK#XoS$f=NRsm}=C9;8I(GwReB2I(uLOdv;++`ZoS#2nBt@D}n znyn@WYC)TsC5R2k4G*Kh#KQT0l1PQI=C$sG+7o&PzR~0I8MD2BcMWYpii<~@&<@TM z)j}EEnk+dz^W{hM6D?Qdc755Q0%A*sI5n)grX>E_R;iaYjU+w%6 zqO007;#I;Ss5M3s)P(oQfJe({ znOz`qSItA{7laxhBDDMh)|lU2c*t*@hj7cdIJXgU7mnr&53~?LFMdu7wOQKHmqnM5 z(LSs!&J;-!&D7%}6}we`T76#^0HRgiga-Iq4jL}lg+&p4FAy~z#JuD?>)Z~P%2k>c z-Ki0qF{y2N)j_zGEy*?m?izr+!C1srPf1Wc?Kj9v(9_=sGdqZ_Oi9ib;y?(ea*`HM z!p+1&LlbHsWR0C+cx78^pU0zoyJ9p5Nn%r)#mz5-hrmMhhOKjel~1&l@|g41O)V^2L4x z&x5C_V`~{;wHj;&GrB`kB9TaZUgEum(64q?lYm?OMkvY)l9Sqv+qpcmi=1++t?*%O zLkHZ7mn0tTKuxJp&()riRZiGj6N2)#cCfr0_<*%6Pxs+t{eoXV$u#p1Ibdgqeio^< z(=8O?I_%vDkuv7Tjgn(hBmg_b@aZwtzU+ynvg>VJP$twy*LG?zYjfnPc9y1M*Bk9H zMs5)-8B2WF@c1iClfV&?`%$n>b0x2f#npOrKpa*8~%WJVHk|#D-zHhu&R!A;L zogmfY4qzr7oGNr}A2f{;S?d#|X{Lrz1JtIHN#f*M+Cr^J?#Z`LjdMpf_PfldRMjuF z?15S`uoIU6w;~{ZBC0^bt&1fk+Lc^4dSmodcaBO9EnhlS`$+p-A&iFx{IJK}DQP)^ zKq@i=+40<8{p<}tToK)Xy90^{kXJ9IvI*jO9TIaYkVx29q&~!W+{4!EhzlEuAfIx-bm227y)#YiUI7 zU3qRIjU8u*^!Gz^b^9pXdTgbFc+GleXSXNXao(jZl@IYfc|i$S8CGal6gLw|>2(>~ zrrSpx+fH?^DG7brQ9jhqWibjhLU_gwV- ztYSQ2a=fYAyR!mH>UY3_+EiJ z(im5naw*uZn%FXqo%pEj*7j;YeBzW~%orP;MBFbim3)*q9aZRh`p;I4WX}Ohx=YjS zw{aoGP^pXYj?=7phAd&xAH)veIv+qDKFVP?%enj@9#0{fDHA7)n}RyxRwErqmWVK) zQX++=knshPGwp+XCcdHn)fwOvKbYQO+GkTr$$P%vDq zd}?|f=1CL}j1Woi;6SxdCM5Y=rk?G#o+0f&HTiL;E{=M#)4Nj_4V>~~I_wU6W3#ke zL7?`Ywji4{=B#tA;^qnSZ+TO^8*NhO33LZ^p59!M>^oG21|LuXLTa(=RE59c#rl!4wTE>E>A$z%#sx1|vyG142T`rBqLder3B|6-?LTY+dG2;_IG5B^Hv^dffN3jAN?6 zUpB%{WY3kC>v4c_jCtw&;4yEiAFQNzTf0o49+uf~bRrXmGEnXrAH&KADgM(~3SB}( zJFDmQb`Jp@I#eFUJfZDazxo$JqZ>Sl>MvVrQ6qQJlnncvv8FB1K9LXH6}l7M@LnE7 zkkeglWakH}ia!_aJPa5*1KZ#-j~bvmyiK(EoV2N(-7a>gIfe!SG|-UZKTTV!;7LT> z#Z+G%sZ+gCT;AF$15O_RWY8DoL=W?^^6t7*oie*ewyq+`NO$}b#jw^Ua7Y<@iCY@Z z)h_8X*3FayC~n*GFt}6YqFf6i#0-_8t|FIN>Lk1u<4`kxkUf9tdO7}^^-BUe#Folx z0R&|X4g~~=U?yI9OR?_HktvWVDS}~JSHuO2Txudm65E&Ua!D8qwziPvb0>LIOkOg) z1my!yb^et2b8wF}o@rRHMEHWURx#yLx5&h>5SrwxcB(ht4`AKfd#?2ybLY6d&Q?m~ zCUTX_gLsQO@7>ug>>19H6L^LxD)QnTeJ(Qu%}5jQxh#)nR@>T?vL+svH}<+Dl;{Bp zE}IpXq(}oQ)bz^)txd*&LN#$wu60X)YzNFG>zJXOl?toosVa`Fs*5ogQ!0%SdJ2cU zVDi#=TF|H^wfS^6r(j()HD`>Zyswz0>LVAlaAUeuO!zONh@GL2D6p12rhtmkT`t}0 zwmr6)O4$}0fjCnVmi2$10)dQYaG5_nT0&6%(fLbPdEpyjIxvroZHVs^8s6OIB%C!o zk^6G}ecC$g8s)5-RVSEkyXMYdX{9z_!M_?qD7bU<3ed+MW-mQ8?6aa8{x7l=W3|AO z^=;NGX+dZKLo<9uh94xe!}!?%AlOPwEJ$;tRfBq5>5ht?k=W`ne^bR&uA!!=$4^Lg z1K3L(sr~dB%yuRheea@tSPa(xz^#{_LG*+-Yi;*#o;?G!l599F_Z*N6oF#{oX+4GO z7TA@I7{~Or4B(xDDo1>L(-(j0hLSBBm#$mA^I3!0x1okY+9rkDt6vLs`=FMC+OF&n za{d6Nzv1^(6ZP}mLk&w;RReHhbw8DFtz--_D@RO1g&$b6VWrK19$U+qWo1t@TU!T6 z560M9ix6liW%2?&&MTTerU)?96z^EjkGO#EBX-RPVDY!)@jj&LgrhqWP;CyD;v-$I zmBZsB(%`4VoQ(>rzJ9~GIv+|tG)4VxASwir)HIdXRyn&ypS&+(%$`6Ng=rm%tXkOL z!noyF(T4<)<%o%I>(fGl@;HaR!%!vx8^ug9CJ2uT*`8%wv77%2d5?}%C zL;)@Dq3^~Vr{>K@SfnaFlDhwX;1rvS_nS9-PLEA+T=;Gnv#7FJ*-{pcZR+XQGUQXL z@ql2~zw`C?W2SRd)2 z$-bc@NPhD8Y9r(;7@~Nz`*^xbkqr1N*XCqb%$^v(+^A0B_w-KOilp4vZ7j8kWrmaj zs=T13Dx3xo%%-&*S(x@YBjRZp>1zsL@>y2x&&i-fGsxX!V&6{Cw0G57^CzS^&fHw_ zeBaJTvv}5yyI5@}rAEC>C-S6}lG>i-oN5J`Z_v(@mg)kG-lT;tovYYn@@8umV%f3I zc7@27vT#>J7wp<&A}r??=y63e1SYb4VcwEtihx#*RT4r~hWRXIoP10Zh;Y#%%_wag zZB{Mea6#g>$pQ;T{dl9Slq{GIzm=U9gxOBe#s)<5qcbi8CrLPhFv`_F4fGn8rp#eh zE#iem@za&muul}52A}q#?p|ndhjXP=W#ix5_pfx)WGK^)4^pFn8Wtxvm>68KHN%3e zY-E?>wgJd1rBgv%ai>eIvrRJ&%TZ6eB?76HlbdXOx>QA&M0x2vvQ~9$4lVoBC!v)) z-stgZivQ3H{|(m&d0b6C$;U%w%m6F0D^Qlg5_!4&RP+O0Nv*hmFS;C)k|S~%l(EBD zAR?p6dni3_RBzpp-N0RD9PKG501}$b9ryW!t`^md@^u-cL#Zgw)9_;T6f9;u;Zi?x z9SiCC`BMQcpV%63SQzJtq_ddB0wX5cO%AQzh&b!k$bs)|mQ;lZi~cpu#^rb0APOTt zMH1A36%rq3FF4gQv)<*Df(IZP6{(9s9%GRvx4yHpApX?=JH`B*T(W1okT>^W_(})) z+7HCXUlcBvj*(LO)5%k*9+Vl4RS<9I#~oom+O3ceycPQLGCcJ-_t=czt3%kiXeaNn zE)p=e*tP}mpi@z+iad`JdE_Rlu-#TnrgJrSpq8!Oajtz?*B~WZXqDA3S?y#IYkvU^ zss?K{9XK5TT<$ihS8dHofChBeGf^d5s0-5Lo(Uw2nBqFgoZW^@e8IvY?VXY;0hZ6H zj+@!<$CY@D&d`<1#JNqh>Cd#q7bxLJ6tZ^NwUO$mzE^zXL`Jf+tt%Nx=(TfJsZ+S@ zu*s^8YU>xY&4Ow#gVbun$W6-H5CdLJGP;_h^VJ=J1|1F~kCxS(C19 z)Ha_f(IQ}7DPEi(Hwoadt$ZGdWA z7i_CB+FBu2YFEhKnq159pb+?;19*R@IVnVZEyepH>X~*vD#ij zkfZ{ouRmH_2$1$fBcvOw_Hrl*x??sD^uVnRtF19(ZKVRf_OpU?KF+;24{9McWlxtk zorgQ>ko{x$x$2k(D;BCqe?&b2WwO3|Jt*j8!dM7V33R&FdEyd@Ndw+nzQ7bfu|{ z#GmNT{pk??_B4gd zg=j-%fwoGKd(HY0^3A!?P_rvdP6mKKP+K|$>%fZLZT7(4=x*dCK=Yut-x$_lypvY&K^0W>+= z$(GFur+c!$QrYgH}MJW&a6xKvMp{e;qtB9_nKF0Q?){R zRMrd+A*fmN2CZVL-8vb{jPnz~qR2^|&E*emE_ zGjWW>^rg_7)S}L9%AO^60)1?1ll(uQ<=o`zjr|q`C0$#jeFJ7A8;ZT z;9a@jPpm+|a!V9TzXD&Et#&Ap2eq?#2C0BRrJd1^K%+$rKQ89}QSux}PLwfW*@?_}+L847^*O(H^9Ep>qOdu4c(DA_%lk ze?Tp4N!Ct?&fp*2EqywIEmjzQw=}Fy(k#w62`k3>1D>nL>qsP`>ln?1U2$nd*f6@s z)+Y%27~>GQ)D%QhaK^m7X;goxF<9gjEVH%gWj%2zT2j)8KLjgXIFF#gLh8vdn`=5G zf}p9=MHjhfJY9;0kR`}kBo{z#kjnl^VT5GPGh4&n)x?3Lc8?iofqh$vJR_yrqMu3l zuQGv}2?9x0Ys1iR)lGGFmY~@Gmx4%JuI=Y`BrS=U^^mknc6Lo`kRAUxvWixMvMOvj7X51Nk+WgBjR9T_;`8u zQ|Vv-!8}aGUc*E`k~_x?EFyr5{#S{o(vhrr#t8)o@HG(-6re^ef;DugWj#Oj_>P`9SEs3RHkaPx&emw)=F*xpDWZ+h#Gg8Wl#yxN&Iym%c=Gt_jqaF zcd!X_sDA33Xb+8DZBw>7@;+(sT^Uny^MBUzVuk(P@Y`lASf&v}jb!Y&P`MZ460nnG z4KTe0lrT5DJb?>H1%v|p6X*wW&s1%NR;P{EHfdjIU*QMoNd3)Td|~P&oeRaj33BE9 zrWGg>+rt~4Qv$?NT@XZ%;jymRQmcnmJtjS<8Fu=+kVQ%eW&PZ>h6QqdfH*O%rU!1x zkdSHJ_L^K>MB@-BoWXhOBjx4k+WtBS6iwhVSr!_^_8Y-w%b_*`kI>FeD#t66zz%|S zO5|a2xZO%^wZdLgt_!9_0*%Y+)@`iv|5UrPK(_Yd3oW=BH$q_sPX5E}J3&z{Y4S)0KnXdsxDD?|$kZR7I9$GNwV`tW(ZFc3>GrD24jaF7()dqZt&^AUKErnfWm`8?~DusvEA_po* z2$FfnI10k=SOMJfP-6X(MpVqwu_>fu3QxY_c}^L+1p$Ri_z*Tj+l-M>HL)IUiI+sy zLLTEmXd$s3@XWMa?R{tzfO|Ir=D`pr02IaN5fZTCxC4LAK1uT#6o%x+nhN!h#Gnoy z%_Vus#7?!ba61rmxXE@frzp-C)}2x3o>0W_GTMzbbyRPPk5~YPYd`j@wohSpHO`_! zZBf6&vyZEE2io1bT25$&&nyia$|UkU298vQS)1&WgkUE~UKt*BDA%s^V4uTI02D=@ zc7l#*W{NVZ0|FhNR2$3TVy7AIu_IqOGAp|!9q>Rf_JqVs)ih8KsWZe%aY%y?@gi1& z5jqSpg}DhOmS6^D z?V#((k=`LhhfL@vfh1@`wO8ZMX=~($Q1XscaGynI$uOdn%1r5SDGJhPS=hc0jpt1?a^wpdFxMk}UvkXPggI>nYw zp)BQZ+IK#G^@av`_a<&ZR%$(Mm7pjF`cXX(Z3mfmV?VKA<`q>vHkCLSf!uZZZv))$ zgYWxg6Ld$Q=IB2+U4YjKh!cPSu~x(CA)nWEUt5jx-<)CKWx|r5G(6xwBym z@vnndADCi&+>xOc+DP2GI3kf3Am;2SkOZ|iFPLcP^saw%#F0d&kBze%5|?fs-%aDY zBpbV23gmo_II`(wen z?VE^1?gL3B@%qM*LpL(Agzy5V%Uj2%UpH9CCSfj_?TyMKUK#cvV_ASIYeg&xP>PA3=@3n%( z_d^C%WYS&44fZS2M3z37VZltU_lBtncjTUjBGe7RZ-=9+p6@h0VC-* zTOy~svVG~Niq|L_mR-GN&fE0P)t+!^ZMAh-c=Q*6RkI={rb6iB=n2W(lheWiPiNYX zEKZ83iKkxjzAidAkNW7a?XRCX+LApexD@c zy~8ug=k#wBJ>2Cd6A!vzs`|N4e zn?3iQR$Tkdq&Hcw~6___^t$TPif38CiDj@Bf@wkf^M)gl(ysHWdGlSJdPN zFE#wsZ*uKxnRL`KMR>+rw7ajO^V6dJNmif!D6^Ms5gl_5ZWs~VjmYt`l9pqdIcsh` z*wyLd^xOWjIHa zKC>aAI^^xA(<#Tkww4lGsea$Z;Urjs52mfG6k2Z`tc|tgwNI&xt}VUwiZ1XP`lDIv z6b5fuap3oB2QCLlr!28YkI?|3Hh3x2?Ss{zG6)|c% zkW0l;Qk#9Rq36O{>NDDnwAkB%`pX$Ye#ix)z1N|J<`;qd#gCem{omiu`1-616pH811uzCC>LQGb2l<@i3#<1AsRc_;f)wHEGRUL)=iK?*7!QuQf-ggEpyw44+{$bj7 zUxpif>FWSaC}w=k=+KCu9aV&T?&-Op%5#le&|Y45EIusa?AB`E+pcM)r`86#=6gep zKoQhVBNKHX`Scsghjf$K4D5VtZgOr3yMz(hWeWQhR^N1(9CD4<`0kgvdv7^Dn*Zs3 z)WO*W>BWwd;aL<9{!78kw%C>YBPDea5f$OZ&cB5%bFN%*XO7qF`5}k)m^&^gjjwg1 zEmT-GRD0Z%jV};XIfYHXRZ+-?LX#7AEavkbHD&+e*rt$*{4U_9gG~HOA`5c{zTSPMyV>$ffa?8_Z!s-pJoI^KuJz4qt zlmGG%5JyRbbDQgkDZuRI32q|sd8IBZfC4C0)Qf>?Z29hrF{((5f+$-Rbox2Qf6Q&Ia`)L zt-dg}YT(!5^-gcxcnam@)4%MpoUlzz$L{C=q7CE|>U`F=-Dn7_lKC&`9J(=!^xNhb z3xUb%W67CG%LX58X?vo%US#{CWrp+jJpUhO23(@iUL=#ptp#s$NI*VGZ4maV0d&aY z18#y(hHK?)pe3>z{8ttWwBl~=KCXR zyY&Z6d#pE2q`bFVtXQ@SY_!;d#DM*lb}PZoZt7$8ICjo%DG-~Y1oC4Xi9A>B(}V&x@}El;Rd%*m5W4cI5Z+b0 zphLFO$OpUJsha=#mrC#SKnvL0dE(r;w{k9CD5H?EI~zgyFKH>*kKvpS2I`QB4*=#l zM6l&&e51k@h?O~s^}_LuJ{fgB$6KBXy-ZJb$}Wy4ew`56!co0_k9zO(+D;YZK3?v5 zMe>oDq_VLwvA82GSnEC|k=Xq*)YLcPiOGdyuea|C^0U}W0(iGy3EFcF=SC=w%Q%#5 z-uUTVH&&EC^=}%9SlP(4+4FpLbqCpO(TYU{MN#b`?yG*kXa>rHi=f0l2A0z^-naFc zXmqeHv`boWKl_`&q^!xRyWD^ELAp<@Puxq{u{{HV#=Enx4;#cn&k_X+YrC2Ck zI+gS-D3sG}1Zf>dnuFO_R+({Bwrf+~JZQ>1d}U$VQ^zA$PoNeerziK>&xO^*(h+4X znXznj%#2mx89&*+^laY#sA0?9JV&vra71N&SoM5-A zhRH*H1FQ)fUhlD3KI?9Ek1#;@ll+NuLwj1@eve_d+e4L?+6t!Zxs~>#q~0)bAhPw3 z4cB_S{$1&cux|OfxU)&Sy7#9! zKDzJgzRKBHMAinWSh@^f805^4KD|QSU8zfbYTKC~ z>gBMae!-ftM|EZ09X^87Yl6Dgnf{RzGHqbvYM-kww;vx6T`o?UyrxJf9(wUGq$_&) zr#jJu2oc>TS@%&GBhhuo9Efe?Q%eNn1^%Mcm~AB+f8@7h`^{i$-zvIC1_I!2hp1;x zVSP!z2+FUAJtg@Iyq%WRe6xA{Dcf!D!&ArL8yg}9>}MMg#)|ui+G#)o(wU#sGUYpc zELDkCHnFh+C&oN4f6|B~19ESaMc)~T)-{Ec`$lwemmPkb>9MR~!@6CM3Q1C%7s78- zdtmJY=%34&>{UIc&yr7dvuA|RZ-vQQrabVtyrv*=xHej50y2- z`q<310h}IkID5t;uU*Tn@-olhiYK3LvAvx7rE#_IhgBi&#t7Ibv)BF-aqPfJ)ctA4 zA&R93-RyGQu5vGWR&LCVzUV5uA!=}V`0`Zfl4Z+skGu`9ErbvqnD$^vLf8FePIL>W zq>1KpjW^ACb?*;{U$(4zH}{M(R)u~;?Lo@j+Wuf;ZS>b|xr@zzHk8937L3DJxA4rJ zhkuE^)>WY?KRu)3Ln$*veD(F*?TuGf7g=n_{xI*3jXAH#{4~WiuxHyuQJ0&c`uZHV zgfGF)=C1oP`Vtlg!)mX^=XSxN3NvZLM0ha_l$DRf8fcg^pf<)bg;T-nVM8asmlSh$ z)HBA-s-e#hu^((G^RQSzU4~iF&>_aR<`I(oU*EUnZLJXiMUy)h2txmNYm@=1jB^HL zp0iXYB5Fetu@5~zeSf(yXD?_@WM2gy9|*)*-cQfcNS^( zOj&UK%%MOl_f=UR#35BhZnigW?LMBpH=yn4i4bP7pzzJx1q;%7`xnhRxG?O< z&N)h>Z8zjskL6F#%p?Ld#f@!%$E|z(xjJ>Gu;^T1C8!p*%i~V`jGVX z?z@>s*Do=3JafgM@06`dIPLXVbItG#i{aPDv(Kv;0FVJ36{sS-fWPt7)*yM>xGK21 z4NJk!l8&u_`K-Xpw+UV_l)_YSTWrby`xM>72N{(5GT7>JQSUP=n=D@U)tF}Xjb1{x zTXwi(+3#1m`xYBurXoZ1wTi5D1SRXZZD4zY9mtLjeuM3Oms!7*z_3l$iy98&)U9q4 zpO7^d`6~`ij;(n#?S~@MC96=-+r4){H|tXYX3J@g1ek4RpF4Kb*!76yn=SE{Kf}C+7U`v z-?ByF;k>lft6xWDoy*!B&5`q7rJVOUWYIUSGQu>f>kff%^!YY zw(oeEdtBk6Ui0xesf)aR@0zvzkdTy13hI#wJLmfPt({yKn&9B|S-btg%vDQOePQ?Q zmU!@wr#z0nqztUAtXisLZ;RM)Jj^Nw!uN?;tq&D z@nfqjg1XsTnc*8c-qaKcx(fm-Z*QLya3o}Ls?{!sWk%*{?xHNN_~Xl8Lxbf_7l#r< zJFY*MX2fP`!;T3GVphzc3qN}Jitezd9a!{v;xfmHx60f>b=zZ*?lxkRA|m82C>OKK zhnDqx=&-FYjyPTM{>`&XdG2o?u`Gl5SE9+Y!roINyP~&Nehe*DWnCE*^>+`8W;e8E z+321HW=y{N*}3```vZ&pWumRGe3GRitqA+#vpuYL$anJNxF_zGwMp~0pNQX7YAGQE z$p^cQFQw!(lzK~}Y06?hC-cHF!Ol7ZyEEkXQ(hhTq18=rZ?(JUs#CP3-Q=^om8Uzb zs>X|U9$!Tjjl5YjII#2an>Fs-yIh@L8LL-@;&+BkL~feL*(9>xTPz*&rC{G@&5^uF?dec0{R>4 ztq&wU!x<59xbdl+aNj@LPwgw)UEG|xQ@nZAyF?@j#06(SkDF}x5>g7f;jz2mr5%PR zq)-CH)YO?R3F*tT`fOj-9Bj#l!!Dp{9SzIZpXSzdjyBHyDbe5FI}uy|6dJT5YEJ^b zWo3vqHUU0DQa1uM4#eX+zmW?TgOt4BdJR4@QA;C5xfk^qpdLWOi}z@^9mgR`pVoT_V@Br8B;2 zR6V*@Eh(=23$`ZH%qZ60GZ?v!B!)yriBcM=bzzl^6J0Sg(_ed3t&sZ zocZp@iguarDj3*~s{m!T34+2ni&8;{|Dn3dL$9laE2)YNBN?b*JXsx>W?r2hJSW?6 z&&~8%tDHJ%rM72-W1~dyyaxk5cgK$d32VU$8+WAV{n2D9r)P9eSbenB{%I499KyG# zmQQJYssgXzO|}Rvld}>=)~*>l5woN$w(N66_<{wor7vSOs)ffgGw3NzgykNa&qjQX zh$ZqouMV?@6!ysl{ava%(bE3Yf;AbZuaE4p8nfd6bbBs6#EDXxpVs{PeP#>1iBfU=U40B zT7j6qF1!!0%nkkGcK$Q%2v&dhEWi1|_q;lgcZRBs$(EL`l{TX4$j2LAmKpe?^dQ zVgp|u9l!~beu34U3{6ePcEZgw^ik}BqBf?rF7uKxmcAhk@Qe(4?dMv#>mzg+5nWR{ z83~w)sepb5$qJ`(h*UzHFEuubY_1mmGH`<^R2Oy@0jVR-X%VZ>oNpL>=>+pG8DD=$E3}+h;8;-<1^3 zay#LEL*J>N$)Dw15RuBx8HZteiTZ(6)&rOa_E$2ZI{=$#$B~22QT6%|Wk90?$u8$p zvbtC39|%lpmb5--$I#RHi6Q9SO>?OeoQ8mEa7N}PjGC4Px=CNdbOu{QzZ5H-X}1LXQCU_W&lrO z2*4Il6y=@WC!!DT02wByKzI57|H-`90&8Pa!^f766rU`W?6cusSMtM0uRV=%lP3Hi zXKd`x!~$*`!+0MF$p4K`By=zEbP#?Jidyik5J`DYy8)${x`R^HO|W*E3mBt#c#YD3 z@u8EAdNxVdHCKf30K)cyQBDeY;!)4bioK5>7-`+OQ&Sa?;$7mPtwx-Lcbubp4N zmS+&V)e)HZ6;F>Qn>(l$lZD?qY`9;R=YKEu8wPyXctMiJ#t|YSnsfo&;JvH6qs{ic z9#@m?=JegzbyHQNM5uKQ4IyF=l18IZ0TD+M-N?7k=6bu}0@==u_$2;yGHO7k$-W$x zXX4GrVrHn?ddcHt^qJCh+?3ZKYrJ3lczN!840&?Wj|9YiX0iTwu8o)Y`URXr-Gbew zMB!USFE2zvBbG`m(3vhqc9R1VlVPb=`)JM?rs6sZp!g59n_Y6eZRhfJ=~-kkPy^_z z%bpe%%Z9)Zd^m~dIEcCOe~n$oYKzZj14N_(P-mpUbAvtB)>$r~QZHGf>4{VWC^Ke7Jsh!k^rjQkYunKsC#S~%Ay4gRHP zHZUKe$%HS2Brx< zv*HR427s>1A3~epu zd)&tyE=_Hh*VpXJc5Z^G>y7wh7+>?)P%@7b;qF9iu1-LPy!6@`BtA?c3B9Wp19H{9sWFy~Q}c<2cBt~i zds_XtnceY$vhrxoU#7Az!wfwI?yzrJfBkmwhr>ZR~_uzDzbSJ=b9NxUQWd0XS&ohE`LC#M~?uB*R9)`{+5qqcTb?*3DD zu$ax@t8i*Q6-mO9+Qh=h;6eArKML=wc+0rcG#>>zi314P+$w3P=LySO6Yq+OV~MTa zjE@Us#=!J5M5KXN^)@KmKztjlebs777}{J9sT#FpX7r3O$)VKPy8+mFD4qUfo|K=_ z15FC>dr6B23wsI|!y72z`IbWD3GnmJMp#PbZ^1kftwzgI*G)oN$rfZtYm4chcH3x^ z_Pr)sT_co97iZvJ7;Vy_w@}k+MOiWcXMz9~!q=3Z#dG<`hPyeRp$6s}6K0^Fdinn- z8r`rbXxCSBB$P?9zZL7REYCOB8u*j)ho3hKWib80BzdYolj_A^9%`HGZG>lck;ET4 zc4HkRX&*d&EPpwOf8B8AdEM1asXs1HQpu>JJyExLoLy!1*6f3;{+kXxU$)F6d6{l0 z-YHO~*Qi9FK2enhq?oae3&5CCQq-4srm~RtwqxUM1A3YUzek_QaxtT-okR1&>UVR& z{kK`L`-}oTtaQfyzaZ#km4>ssUG8E-D>{>+Tz*AtlYzEt0T09$ic?N?m!(tpD;HQ> zZ?@1*rVc`PA=;G6;48|7o6>fJ#X)2JpqRit%oVmzB%C^b9gGc?-g|9CoqLY4nYVpj zoHvK^$<44duECTnXKq(%j!)14mG>;~rq4pQ_e5Vm9Aarr)~m9FWr^^Ph26;3wpq-sifg4?%+$-&~hB)#9cuxN8XUa#? z^BNIN+E=Z*uP9-UblK6D#iXNF-kyF4lzr zx0Vt3evJD5swqa@>#+i>xA6WRv^@TyOB!0?N3$vyKJ=XxN&PeyP&Bmn0cv6KCBh6s z1cg+;T`$|w(kfK@r&Jy>E1Kl~QCM>9QpEdu*1 zQvpRFO?NFHpqo1>7nh|Y<2aup#XCRr{y2Jlt%&F3^R~tc9+-GGQ>XvP_r3YSu)^Zt(0c2L1K_-v;6KPr+a~^mX*5d>F_MP)nb{jH9Xg~<)0HE zPvf6$y6N}yF-61NMqORB{LvTVM}?H&)R7>;0HvUmOm#>_`)JrTJ2AV!mY&2Bej}+ z*uh4<{m|g@vWm$vxXuLcS;t@{ih>q#9yI|BK~l$Jl?KFR>Qdw_zBpPe-xVA6WJ&u zPDjf+r5RQk$@{mxG5m(j;bZJnzpr%L#T|aw8aj{lXvJqU3uOEHI#W*?hCh}rQewtD z3CD<3gD67fpdf%P0xhzZ6o7x$G9d=ce*{Ng=VU;$3f+Q>H#6QCQ=xz7J!hNRB_B?aaS(hkv1 zgi~Wwh8v58#OzR{BiiJ9Q0JJ1V{cqEyKvdzeP;J>GbP0-&;!H56pv)H0!Elj#0gd= z)7ciLq3Pu~Sf|Ca?3nBPcKGB)*>v{e+XojAh2d%uo+p|&fCZFm1>jB(eP#bqv`C=0 zIJgP^$BiQXg!m~GvdPBmi}8GRr44oBz+fgrj4@0sYyukGz3V#A8kn8kNX``?R3QNf zNo#xh;=ogRTJUWSS5*4le6=#`+ixJ^^brV7?mdK*eB1PdC+FD%@W*Hpg3&ok65g6* z#_b_HD8l%uSCj^*;43%)3-AYU*vUI94m)nUerf5OSTD92e+BOaM5RO9SHsIn&`jhE zM~qqWSn=uGCF*byVbg;aL6$4CW|4mlXy{f-57IC75@&VQRGhS(hEW-9Ca`ZPv`}O38Dq1uy_x~Ur zZMo~MICq$Ya8=h3eGt|je)akY4C;5>ra`pAgNrTtjVaqJ00){2^dFkFH~vu^Mw8F_ zr`IY}J({=ey5xsTR(!Q3teu_x8sTT*M_*!}=@BVMep!kSfW@-j7iETNhO#&AMs_3X zdxJhX6773k5mrLE5)*UOkeU~h93>*Gal*oZ*4EyQC)OeJ^0Azi-Dp+Dhw%Cmqaq~I z-Bq-mfLOgkB*9mDK|;zp*V$c)LY7CX+4ySGO;c+WcEQAwe}sA&47n`VS5huv)e;X+jXW0Cn2aM&dd!)r)({lZt-K^mFd3- zzsega+$YSz8w6}quDeHb+1F~ieZm;*R1iMPxHvn>aUb&!Q~Zs&%O1+9CNAo*YhuO^ zX!x{%@!h>R>&^Bbwni@%x0quiiCQ=gOQ@s`ZZ~~~x3Ac|Nmjv}r#>JO4Y}HS8E6r1}mqQDhZe;?qv_8v3&wKtk4R&ZF zz0c*$w)xQ%X2D|YYiGjM!$9c{HH>#JN~8f7r;clup$rOi0STdOV+Z}Z; zUBknPN52OIbGAVX2aoK>jNp6*4ihU%ovNP_i-j#LOSHgfr5{>LYDdSeoK>Mh3K#3y zEU3;;Dr|VSopgn~mgDlhwf%n-fmL;zrBSsPSl-xvHg2AF0tsuVPzK*8z>hhlg4*J5 zct`eWtlYd$Ukoi0<-gVIo`YV`Jwcs!N}US@$cHk|dSO-UhF<&m(!{``)|;40m_(B? zwY90?MG*H(jrcvM$Rpy>@*s_!?ND%9RVV%GdW~Y23q%uo8jT5+MIV?2t6luaxJXgL zF4AvL+i}J9PSm<$KWXXsIMfK|!+z02qZ7NSrKj7!dT^T(JaxK)a>_e z+?O|ge&~)~xvscrVvvwg{2-B;9-=G;$?#m>sT$55?Nb*z7ifj+2N0L^+b$9a0dz(6 zjhM2=*V3Qa_zL-St(sYDFs!w-A$H^p?wh-qCvYkI6|3WXL=l>Um!1r}k9# zDI`bC1AgZrLF%ce1MPufoAL)CJ;R5RS6NNOhcIDuG8emaPGtLQ}rNhRt(iR}0JD zo(VtWkQRChpi4n=o;W|-^NoE^;!4lOPj$z@M&Xmk^Ba(!+On!=$G|9W zbj#zg!DkG^TV1>M{4l8$RRw&>)U|KVlwC5Hb6v!(&Fl5scL;aFuqL>mS^2o3fVlup zcbKHOf*N+hbBJLmIK3gd8c`7AUZ1TFW1M={?U*8mnEQ>w_olN$4r<9EzLPgcty&L0P>W;+$UoZFznI}WHe+v|?vaDBP_ zdV9?zY4X|cILz>}{1CfVLmi|jj9KWGrRqL)q3pT%MAa{BPH8vZGJP0ZXyd9I7cPRs z8rOfo*gi2ckP)+d5Ir?dyOInEM0NXh(mQC(b==lMS#2)gxa`G=-4NPbzV)=NgHV{e z>5g4M{0Ni#@+plknl75+OvK>Eg~v=duyZpZ&-;<}UMhYila02%ZF60H%z&k`)lBf~ z-=?IATzJpK*A^7i0K;XpS639HTa3t-gD_$!fl%w=glNihCxA1iPJOF`|kXkwXd%4mc+|PT`BV{|@s`y1&(4PMJQ^ljd)E812Cv*h%u%UNn2P zXQzOigr&v2f=O49BoZfrQ#l)o_Led8L+vOi+%pU_f481%19qg<_Oa-tZ$t zZ)0aq>a>_6r8@#!>ZrviO%{WyEg@=o7eOfW`4jEq-rlQ2JS73&rkJWVXI{=H7f%U{ zjeWcl+iIps!NrM8&pRkW?`53i{k;YZG{vTG`Z>?hjSc9-wC!xy&E-+X0i4s0ibTXA zn=qk=O+MhPEiR7O5W#5-q8^2Ni_*orh+7qy1rU!qs7{`B`_3H=o%bW!8|O&N&2=50 zuz(kxyr3y|`{sE^eA>2a->FATt2h(~;2pQH-_3$>WO+|}C?A`Z z_48g|1V*o+UqY}- zljFmM`w8+3>$mFSVXkR~`B(YUB^dn2}?C7exrR%7zG8IbrVSQ z+;>>V?8yX^oWFa3WJBMdGgrsQUY9?Kt<~O4K>~ayTQ;@?f<7=+1r!+Xr)U0AjE(do zcl)|=URcrH(D4Al+|kF^(wbYc{TG*$m&^%#wD%0TS}iJ!eV}}r>fPrzJ_Y8XX19a( ziD#JNU0pWi1^~=-qZXE*#9ub60cUS+h!a7xB2ScQEIji(^cYX&VloooTb%%(HU z9hhLF3Sw?$05va2%#5F&xE*vXWhe+yP8VyF#*REUpGD@^^pP~0n>j63MH z4&~X+nLqnl-kc^sSrIbi+t4Nw-z$$D=U<)^yw5Bgld361@SIcSTCT2#*Xv78^bL-7 zVW+XCQ**k~`^-2oL>3Fns)z$QW9Qok!8E zKSY>%uk|GMvq>;z2`-TFX+1c=?*Hu=mvJw#ytKK=CfNfc0s&d`55u&fVx7Foe`(KX z3wYdR|FF^Ibi@biQnOBf!Q!+fz5aOf-_kMX1(W{xjK|O@Wj<1?YV_YCwwHnD6)ZdH zacW)2YbT;XwKy8R6jYG-_G2Lo!V@F0!@U_f*&~H8tGLSzYR5y|Ja+)dxuloO!IRk zo_0Ay-AP}gi$>U!{F(twl3%l$HFG5$2Dzpao%HCZy@J)Eb^CQ(Gd4>lHfU-0h;Vz% zjJ_wyh&c*JA8)VRq>s5&zPayi*rdLjb)-^*iI? z0S{~toWV!O{ux%k=&}};8L#^Ez|x8(G*Zjyc?P69QKp+KYNrQ?_PuLqjij93-nyk` zoUJ5lSuxYBc9mhA+}4yF^8w(wJsdz{UyqmSdVCQu14vlih*ng$trpC`BtiA$mb zUm}Hp;xLM%+eh!^1(pKWSo~D$@6mXOx0+qaAusj>;4RyCmSY(t$QNALxrshc6m3n- zQj&W^j9q2)IK7#;k+1Bl5V3}jyX1k!Z7awww%-RXpUoN4{(au0DKJ^7^e%y4@oQb- z9JQgK4D``E;SZNgXFr|bLguiCCbF9ib;OWqN{O!eEG?!hHI~06EPp9?oQ$?wA0dr2 zs(2&YWn70-@|>7?(<5_eEwKp!suC$SLI=i+ai%&l@fpLBh_ctL@1q z&M$uNR)s7KCW-qlc3&MU7ooE-PLz18$uwcMR`%SU0E8vUFhsF2?~dMhD_^!2=^o<} z|FGEPBhW)Wl3*|#5T$tIxbVLsm+r=nx+crE;jHbN>Kfim;Vg!1i>n`p*y#skx@A3V zuZgA=dzh1}5P!XwV`J^U3pF-}!HLge+$9;yN@8HCSBsM9p;n@z$$own==ms(eHMqB zjYi`9L#J8e>{vUz%~b_Pqe^vpt5`sne z`;gAUE3xejNw@LunVSSeBhAawOdG`XSE`3RcX`77&%1`YGmcpUrbBrM@EVd^97UmL z&@#?A3G$}GDnju7)QRR*Dzq`VNl?_VP(Sjop$X{4C9@4xAd!@je8!xSa+0ucd9uyX z>la?PRmJM|ft#0bF3o2+hfx zP~vf;U4b{D(r=+w;SCko)|#K+fjBiDAtOO+I~JDM$S2C18ur&r{m;^HNu_1*hw$p9^fikLXRcOZ=+E#- zDTU$Xv%nT(>Cf3YgqJD4O^iL|EVublTg_`sdgU0Hw_6yCcmyvyi=7H-rt5->h)8Qc ziPQ*go%50svbP|M8jEZUU5$acYf?$4^Qn)-dvayK3G%UzKYHC{u)8JUe7I`6)E+pu z_2=L+iX8Izn0~tSNbJ_DV)q(=T0Z5AR`)T`4vw%a3ftc)#{eJJgtY)HLFlMPSo*kx{&{&&xz6cJ_rD4_ zGWWf`5K`PmlstnGUZsN>Ib)UKk3%gidir_#!R1bunsCjytcQ2PTqKp8Z4-+Vonr6c zcFiK-YuMe9KjNVKA4y4~G~HPH3MGD9iIgE}<_JE+{;OKId0ti5F4Z^JweDHJg>PV+ z zgCWNKX*^LZ=HWC|VgqAw85M&h1F7a{2homAG(rYF4UmZY3bHU**Y%@LGNRhE9sjBm zrC4oP&FmBrthSs7+R5erer!h|I1D*2wCXqQpsY6BPOrSoeC|XF$e6JT@LzU^uL?K4 z_KqmL*GoXC1cV1GJ#Mm2;sxz1oai+EI?DF`l0_PI~{U0RX)Nuq_wl{e5x);1T(f z0GKy6+8IrdAMQXHXUiXz)5PVp zr_htEE?_3ww)kStmT%8=gD0leD{`sB=$yYba+(Y8mCT^H6QG3Lh*?m7S)yAZWNhfr zlS13IVVedh{yN@v{A9oZyG!h|-SmT|Ku^R)oEHvVc%=60xSN1(wRc38x8Par;75yI z_{?zD@?2jIjCnjS=DEL0e>5E4YSd!Xirf|RUu2Bid7i#N@XZo?nASw*KK7Hnt4;l! z##aC)u&?w0PmYd>!oOCD&g(Bw43h4P-63LrPN8KE#;7 z3@djpj+gB?%@_f%Whk%7$X2^%+@f!jEXc}wKlX)djcH8Tt!o$%Rn)1C@7TQqGA{53`@2*h)PUa zhlK<;Ui>&jxi0WUA$)9mCAWM8sB93c2C$?w?snLnLd7keiIxh?$>ht~wN(VlIueHh zZr0KHke%(R^fboeb~Kc22#?k2d!NUBq}@3ROW@;iT!gP~VBf3jT=G|g`L zS(>el<9!xl{Ce~&5JmC()q3b8Z!OKEXKB~-9XGH>bjBXJ9#zG{yhhI8I#HsBx^s$7 z%6f5mj@-(5|H_S1*Q1^D55x{e1Geh|etV1>X0(>38_i>nTt+Ge6kp|5MaorzIhfqc z^-@o-%Q;`%;l8s}``1)q@d4n>U4+Q#1-mV;Btl_nf%QFy1=PaAVu2VD`#NTf&qNL8 z`OVV542?f%D0ocrFKJ$WZ<8_1#X4pae zIvDT7kI8=pv1E1eJ>9jqe-tsTN^T);0n1K|4s#2(4mg5VVV2J7-8X!DyjeOTw(+gwA#>zzfYD;Rs!Y&JRT9{VLAcV zrVsp%Uq~S`J#|11M2A~rY{WVV*HT$vv1S zAJTND!%9BbA8~ULaV81K^DCc><WPtlY_8cguRoa!=kChtv=c8*x8ypBAPXHun6Ju&lK)|r2ucVPf9q|ivQesrVzTx@r%D%ac+tMis+LWeCpsxQ2Q4A#sAycW}J3e zvdenqbI&uu+rM7+y&?3Meaw9*bP68sqjlKS ztbMXxuu3Z;+iS?(^)`z|_s(m|xj@ttoXk9tCKIFRQ{_cf7f!!|6XtXf@j_e@da)+PX*E&wM~eKywc`;m_!I0gGK+3;J+AxE;GdMyV%G_@pk z3G&i{nDlA;H|q?~f!L@2ZZkWhJn>`DW{p7P-lEq|P7~BZm5i~{8}P0(=U1F*CI)6) zjA44^+z){+29WD*l;PGrH1`U z7FZYT(+`H|Bz=jd045Q`B!Ig!H>WuPjU4oH3+7Iv*}SAjsoTMe>yd$JXm;3xUil5M zPfrUa7|LgmCKs<+_N}=5`6!1_B&-~yD|!>`!)GhPpxp^c){79OW&>Un`u}-Rm!kn5 zy2&-#1`tk%eDLY3ozsa57onetF#uv`E;2)gE@*iGD0c&gN0XG6oi>;N&=eQkvVXq5 zz`i?}`FL3S(_mNw#$621%r}HoUc8=0A4XK!0Kvy}!Y-`Sds>+$-ePNfO3;$DB?q3@ zlQ634jL;HKh$z}{d;L{avDK?A?|i9V*I$EOB#V>uDM}v#!G6W$jn{yPZF1Ya!F&$4 zj2x$MfqHCR{d%CUw_-O}TbXU-j%Rs~9&;5{`9?f!qT2rqu@~fgHQCpiCHL6xDMxXy z@UX?~;^zn{YC)xPL12>}Vtz$4vW6Bs+>E{(U8^9s0O8k8E$$PLR{Gd}cXH54yJM zsMc!`Cz`u#_|#mR0^(znfBi)SFVD}NwES z>Gg%uGF+<+7@@NLe&~e<-(RRXADLO0!k;`8-5@RkqDou( ztICyZ%@=nwT<8PHs=6GJ$cyoWC0mOOMU49eWA$AhJ%{pe))DuqxQ`P!hP^inCY|g<#j(n z)wHT&LArrwDIBhmEqN|1p~{{Ir5QzOc8Dc3uEsNHoPQgM*e(WyGltF#mc?V4pv=o! zAh%m`ioe<19M!jwKzNTiS%V1d^&@f`Cj$X*k}VU}g@|UiBScQEht(ZJ;WB-V{o>Cc z$qi)%?oe705s|_~^Ww0uEN14gWZD}SGHPcRZ_WS-l(FrSQw0ubGt9{_`{ z&;%Cxly&{ugAS{Um5>0pk=Wk(ML#^gaouNXsom)w(KS}p*Gg$E9)gjPId# z^NEy~q=}0z&&~OPpRmX>L9_$MSc((Hs(H@LKK`SKH$tB30h_(w+rQof^n`+I6kiPU zKMEcHOYfxl!QaS^BISitx~BZ4W0apSOOO;Kx)vBQ!n(*NCqf@{t@}QS{3O0Yx%}aj zz9s1BET>D>X+CGC$6Y~TfGvYw$FBHOUz)xBf$KwUQ0g7Iif9UrqZ~jvcsqUZFfQsx zykZecA-}e>W_fv`Iq+9XO^o(*qgwIDg7=r!&PvbHpE2yNRLxJ&m3N1}0!S7?95a_V$G34_v^ zv_E67_5(1sM=5EiVm`R056hUfM;IRkgO~@F%(Y%wI~d;FCr_YI44;VffTt)Gg6VcS zEK251dP78MvBYgC+5O3Lo$lf3BOu|G7nef^B%M#yyV_Tz z{!#<&e@y>*&jq`wC=30S9u)^&W??OpXR5uPMSEeBxLKMT zSCOm2wszl`8j0p_hN?qVgBPdBMHezV*U{53&5O1hy})%^n~IOQ+U1uzASdlgSHIw%NtN<4^|9;EXS++nfWK z9CrHYKE@B z;^-IjeGg|i$^vh@KrBrZClU~V9`881;|Qrjyoobx#_$xhDnqX;Nw)$f7kAX(!-1kK-`8A;rXPlw&P?kP-1Q^p|2xg*6 zXD&!n)Zodf*>{?_=LOyVHA^m#pBXo47dy0U_~tY|iU6m6aSPKeN)Idg+{~&d@=RdW z=wia^^+6K7=J~VGoAZzI@ol?(;|d~AHMARTx{{Oc-QoSTmp@%|wExR^qI?b7IAA2C zt*v_MH=QRbq4&Y;gg2z)ZSP6H;@GEi4uU&#YDL~w?_!x$MBdV+rc+uCZ-ryvw3?Xu zo1S!P;%6F)PZ!Ml_mcXsJ( z5280luPRw{dzB@KdY3$7!RWeQRGZ|?SspsxT}L$z2mh6e49?VOj6_AYB+N1{qs%l$GjB0;V=Q@ttgko4!c3meiZ|J;~6_l{g)jWHGZ}FJA$d z08^g#-BdjqD|;9AG+lV$wwP|Bhm*2u^=b^vD#E;)!PGHLi@#O&d^=hy4*F z!nrJElju)1(H6?|ebW>DQMtPZ4qJnT97}seOt7{gGuDc2U$}vRi3gt2`iB$?AqR`MZ`aZ^~t4~2(}7q7pF-o;>?&&D*ZZ&a}N~W`sbwgyX$0rc;IpBWrp&m zH9KAryd#$;5+P>n+%rSC5tW9A<0A*0pT$b_4X7agJQi0dS##XGDp%i%O&pSB!-g?~ zF?VY~9VIC}Ouk^IO20jJk@dlw7gGvmgRD2J@=3+)jH{*y!;_@?$z|qtZp(JdKjoCz{)BbEz~!vGjd8TCk~$3-rlP zK>Al)+j)C)buEEC&;qh*bAXcgQxdOe-v@-{*#Un8Y=Qc>vh?((8H85B%7o%wFt95iXXq zu)iuogoee%@IY%CBY5M2Q%^+Bv>&yI{}GN3vd6&7rKxW74)-Q@?7xZ25!uw5c!A~zej&k@8$Ejej-l0hw+LGd=nnL5Kb!}^IEf|!JxoCDf zK#6~jyh2pf!Pq#Zl8&YIB@Y6`1+6mdGYgFq%Rzceh#zc)Hes)h8zh}{NG?S-WH~A#aZqtM^<@*MMo7? zO%F;rylXkuFd}=k-W)FqQk-%-B3nADFq)qD><(IndK;gM`0VVgv5VEN0H>F1PT5y= z7PY?kXJeOwnkE0xtvZ~z4jXPb5WBoBH#TWr;TaeT-eKe*%YqhNg`shF*CHo9J?lu^ z7nsUtgvmqC2-X0hpxPbgyq9fB(lHf=SD#1hU%VBSIKd9N&EmG=TGW=;*9Xz#sI)n7 z!~7)c4o6W7wjoO-F%!A*ntt@Xz-uaWDJYHkRuRJ$Pzv&vxurM%du!eorHn6@kIG%X zD}24Yh83q0(4w4vc?Aj{8yX59r%f%*)2W;)eGK~WB#9nPnKrTkQE ze~INHF%{0Sh}S+PPB8Lg_3xJJ^`}#L%h@hi36w?t2#4?v!RXp7a*>CA0YII)o_Ww4;qF5PQMXhH9fs2WJzPB);sm#ZZ`)c z(kSUMf1|SH$;C(?d4f#d>caQ1PGfP5X1?CC>6OOMJFgnq*A4MUK?LGNZKrgKL4VoN zOg8A#b@7Nu&-Va&jhFK4)a^){6DpR?YAVn;NgB z808xGF{%tG=9NayY27~xzrdlBV41(qC3mVwkYk5;`SuQ4l;);0yn_6e#fjG=KU`1f ztP4c+t@Kb$x-U34Ww;YI7M&Z?;oV;LB2DL9@L-7lk(nXgQ=5q!3rK0f+sB zCEa=ceT^{156X`am0ctq4JC8h)9N8J+X-~ zwV&pEfvpg>r3ZJqU>;#!Jmf2fp4{tEusYDIM7?KQN?>xq2SJny+0i;rk={C&Xu3QH z9Wi2tP?M=RV$NFln4zvMg3$yXL~lj?Nobk<2R03K%PQh_ew1XP4zFJEQ4Eh;rnq}8 zhiiV;O>E-BF&k#4E^Ex=8f+X;LyF~X>8%}3F6@pK#(dkd;^Q44ej25vb^{#tD zBqxOZ8ss`<>B{TJ!va!KYFdtYRe+(U^(8lbdxaxrgrRF2e=EP6&Td&QAF&P-O^I^0p}Kq zs|#i1`F*&CsMf4If4AS~&DA=6Lp@Qxij$MvGxt69Zi#J`+HeGx;Cv-Yp6-T#PaVW9 zOQqQw(NuIU_EfDrdC)~m85-}x5Wr~YywZG=>v>G;XVOnMX~OgKej9^V9{jnqs!!UO=GqsV^wf@#U>j%Lb1lXJx*Yw<>k?y-&JI zw_ah$f~7T2eNtG?!uyUg$x*qZa_1BXZw6w9%Fz$yv56*re!f3;0Ie?^3EIdF!Vn}a zZku<5EWveO3PIs~qR>=L17P1G|D)*UBsNxY3w}zr%T$$anZ1wXkz5k=oi}PE^xqDu zP)-|&lC@Z}_@DTS5`ZyRzp&FUXNbibdtbcXqjGoYQwAs9DzK#g$UQB= z*x5`v7#50(;Usu~Z79mZ3qZhorv9l&h5nFmn7;NHcTl%__Is_ZR3Rfixc%jLF8dvE z&v?UH#=jK7eAE|rIK4teIA8CQs@MOD$1QzV`{r;FiEBT8;7y*~S6fLNSsfZ2O>cd% zi;NydPpWb*v!kyg`l>=lr25Qv?9|ulht!X;1M~`9B?s>J3RH}}2gDf{Z0AJWZ_;2O zIxj{VSFC?50&!~S^AB)@QBF$t8FmZK+?qD*yhQ2`h*t`7&qysN$rHZmwA)8zB$qR` zf{mLV^TTRSy8g?hdawQmXfN3Cq;_GLI{SR_o&)K}r$xSt1cza`BoWKc*jN8MVbV=;@vmOH$@GfH|6%N{qoNGIw$TAWNvQ#(Yv@u$5JBk}x{+=HVMr+fM;Zp{ z2I&E$d+3sG0m&hUQaY3d&-44%dDr*8>pSPH;~)INVlAA9`?>et*S^9C!6r{0`7WiGe$xHhUDpIPkmjjBct z(L73Mqr>E!O0Zy*rtfk5cyz8q{a3?LE@UglPT~y}s}YoL4M#d`4oepD0}-OUnVw^o zO>~Y;I&Lm}-lS)iib6DGtRHm=0qif;0$7Un1KtIbg8cwf;ZO4*)Ksk| zvuAlyA1Z0|Lw&hAu@8(p4p0Yv*{kcYl&OCp*pf>{dDXsiUTq|WvFW185JO)>ukw>2 zqRD(Y1~9NAq7eWfT9WV z9#0S%{J1RW2N17*n00%Qu^%v%d#Lq#NV66U5p4Ch6xk<*$|ZX|+h&zBGcxkY=wGqV zGtoRSH_%}nMCNiS2YRkYFT58Dj*q8CAf%+DncpM3F}&vGrn5NXWf2FJfNT1PMMa_H zR3ULXHN@;7KjZ<7(8>|qh z^0)d7THQpuLSCa&$O%@9}<; z<_Hn{k!rl}qIcC5@3d&2;zyMa=o>PLKFkk=c|usE3D}5GJ2B2u~Z37um_>;cLgnd7}#_LfaG_ zZLu;ieo?DLN3-WO(petODHrc!rnsgxbz37TXw~pFCokF3B7)+Z54nFghEc{|e(?#1 zB+}a(fDyAJ~tq=uF$F(#(#dGR?8o>9tGh7ODlvwtYz7Idju_Cntk{id6Uu({yx@85wn%RP5a zgknb*{?t^Xg?tHBd^<%zq8{x<*BI%=kGd9CWZgfy@Z(iUQsm-bFU2obja2e|tKgaco4!TU0L0eQyV>;QSmWGRv7N0irFQigj-ZoS85o+SmWyj+=@P(o2Vx^KZzl+G`;*zWoMY)IZgbV$o z5>LheD|wBUR@rrDL;HzKScO1E8{PVRWyQ`4YM!GpgTHj)xx6q>7Eh?#H*Vf&C{!AU z6w{1K5j)t4rjVB4RgG5zM-l=|Pbjw$RRTB^5{JwPy0!I%t#wjQxJX9&8$-yu*J1be z&TP#q-nQrwoDE}mFRgf2kvSwPi8=>wJG3FW`w8&QR7L5+0r zw3TpZgR5ZI#rN;BS!u7crad2=NLGB$`JEG5HWH!p=X}9vElaZBXJ$DLzQ*5&C%I2q z4D@yE-?D3B{jZ?n3vkMwG;-#?VVpF zo=IGg4-mI$9%VWuXz-2Tg>h*{CDFUE4Zn1#gb8OjDU$<=7b@B$|I(K*6d$HMB2z!zOyfv!_u9DAzu>@s^Gyf%82_ zM`QaT1@{Rd(!@wkAdXnH$HcIUVKjov@=hrqdI>*^0=D=5{(#-G7W+*)?1I} zI`jPXnvC|1iQSJ)0dOIAZjiF8dz{HNPUq9xc>s)7aD;ql?d`Z6nRSD-#qJ3TWY= z$D;SP#-jf~3gWPd_ZiA;k$4-eiD0h?@D)8Yl3{!+zp zsr)CIr)85*uw#82$|w$4>mBU0$kmi+RS;r1P|76a~%N9^3}eE$ZojTpB=w@@t&O(!DLMCWs)O5ciudJbZ^2L$S zf@|$l+hLjBv29H7rb9aYEo)0_JB(WC_Tl;Y;gmf;j32h%Vvig2cKAvXV;s}SN3a-jSkNB=?bI!?hdwwr^Kkvk7b1~D4?+d!WG&W z>=H~?;=7Z9kVe?5_wnHc&=Hy~V~9)70po)uL9e|`N5DB-Nx+6!jKY0DZ=B%NPmrW(>=hSVzJS4<Hx)m$KM(U@IZj#79;4*%t5wQE%jYPo74n`B9paN@Cfw}Z7Uh97u3yPml? zvMw&fQ-v9NOtxgmZ`YFe+z@ct$7LlpP3hy+NG`>${}1C>EGYB+mlIKv%e&*V=GNn# z@W$v9Ij4`3ljw<;GlNi~cO;Z>`*G7qpQa58}u?GVKte$M!!=MN8O;Qnh!dgmc zHVJP`rm;hy5PL0lPIjcu*b(Xz+lfoK2ygSPrhp}C8At%?@Pz^AE|a+P&CAN7Xve4= zoZ~Zc0^jOE#AX81?a$Z;zyZ~&1JvfmDK|ZS+cTYpJ+5WYN>tPh?E4BYa)5rg(PXw( zIb<}g2q8-&7NQ)g9i?Gkqor{x?=KE~!v3AeY+!PDeMA8WC|A6j;S)?f=6@qU{5RT; z=O?yhAfSOCP=YS*gxkos-zC=z886WVl;Uk~l^AG|vn8cXXdICO_W#LhwJu(bnO?Uoq)M#A*71|^O(Jn!)#!tw3}mK0kpP_UdmkuZ8yOXjIm^bok4GnG{Lpmj zU@DOWz3jv~XibgvXR&ND^f9n)Xa}gTkLO%G9XyD?+5=(=d}kfVbGd5mrcGttWCGG# z$0nFJsx>-vHR6IW${5WZ@8RfyJ^k>xw1m9Y2ziYjRf2SH>+4n6u|b53lQ%Ee?Cnyw z9ahlx%IT`OZ-HSO!84^u^7^tA%E)txobYqgoq;#xix&X}?*Mk`oKq+8yI}#1&LULt zMl16x#zP;dac2rgwWZw%x^&(9k-Wh`%tO78WUpu@plAdhkvrO@{2(`F>c(YBG;?o{ z7wtg2Y3pigv?MF6+-nmW++Ci7?Nj23u)#Rx=J7__Q{GDyD3=*Qa->uiG06lmZ&7SabrzK2{QEyvLQ7ltE(eKpGyyT`?N+wKOG55 zeJGC;+@tQcPp8_AbSvv^Rkl$ri6~UkCZ3hH3}A=g;yS3-`vTcQNQH>u$O~S7R~muN zjoW8;X6oTTm}+E7Bw6v;*3mtpqH{`(4UH$%;gy`(7%lpz-7XymbrZt1Tp{@{En}cI zM$!MdbEI%DE2rjw*!xs!(Kqy~{0D2{y_vdo8WL#Os2gBr(!!Gfr9uK=3A-}$W5KS* z*64jIy*5*Xq3M8op(<_JVxDa_TwCdS=7H)b|)N-TG#dqqti@E`rot*=Q zp%Sybi?Ou?lS)%gAyW*&GMXXSg%r|gAZ{;R4Snw_j!Z6N^#2YpZLPR3IqyFj0G|IU zmr+*}4|>*3gWZ5VuOg77A((8DX-lZ(Ml~Dd#?{ni%#4OWmP4Ks)Jbc6S!T5) zBEM?3pRnL}4V!W<2pT`+PG(}otOd}X3{tupk)-1vTeb18-wk|>`Q8IZ{Pn_XG-!o- zc-BFk(_dqD(HAACjI?Aw+HlN>BzQmd26B&K(4}I;(_n)=y*7yd(@{42ukn?a$*<)ne1FS<7o)D62(DG244LGKh<89n z&Mdfy!-FsO_86w7#L?n|RyDc?`g2-#L?@-D<6;C5neS6J(S*#qakp&1RDU_w;|CCH z)>j`N&~f~2Fn6AHT{&p2oU;QaEK6_d7bazyD&K5_KG>Ao$b`wgzjg7p^cO$@s37>V zV|&Wc7jfWRQRN*yY)gEPs`5>J^RFnYP#+|Mv7A1FisO4549O_C>0^T zFO&DzC(rQ8Olc#tWI`WT(q;Nm2vd_ON(kl70DEJc_`%@qBQjt`t$%m>8Lg9R0*yC~b6j4^Zw9e= zK3#6?khlPonvjG#J63G};V-x>lCOSUjU01ESd*a#Mz0x~LQXA|46A-iIsDM5OP1vS z;B^yF&YQiv>uAr9`Qkaoz8Nq7J_*;l{8WR0Z4hb8>dr;Urt!chf~+e-1PC^$B?Wm2?MCHplxPBCV%OlXl&VzK8 zO+sqR;VNG4*t3OhCK-R3WG}r=IwtEERRWrw-!Lq}_?*^2BW`ZOZwJVQxM{eq6VJ$ZKrSJxqsN8E1obzhbr(-`6}NiAPU8B<(U{7vX1`w=V#rwD9}* z&Z}=`v;cJmkV`48-u{#%h7SNlD5T5%d+M;x4SF>+%mJCaP_ALV12e+MhV2|8eddME3H29iIrRJJFIZ<- zdEV^>{bFi#NOxOj{LRFC5t?A#-e@YLo89r^@$`3dL%+V*;5LE%*H8f%kPS40+H0(`nXkAzb4~}k5%i~ooxU{u()=Cy zxYNT`D{uU2xYf)VcR0UpJ=ax`Z|ZYNrlSHs)1ukdHd zc7IgFv;@1^k((POB+{^$MsK=5TygCn)9<8c0CkumBC54Kzig7E;oRUXn!ql^`9Q|n z2rQY9d#lyvWL$1=qjq>^Cqa#J|Asb^i7t58XcDPe(;L2Ae(G;6WvGxK1xk_-Xk#2+Ekx?uO}_x>wLn+YX6((c{E|4 zwJ?h>#QeZ7LcqreyFKCQR_cf!QFIUE1~%MT$abC+np1_OUdW?#JS>@0fT=~ zx!;WXlj^jkLOfGpsX5|Z#aAR(_V#q()Sz%bWsaSvJ)y{QL zem`0$r9f)KbK1qpT6OH{ZLc^>5;i>N=$eEyqfO?a{QPM01TuMPmND&jj37CWZ`-$j zdsPVKmgIEv_GGn0HH0~4MyBrf;o#{e3|4La2b=5?S0NN+xcs<%dc94kqGDeenF4IJ z<$7Fj9Jcl#wG~`ScZHx^4`56TkCZ&u@VT#o|1MjQ3{^k#T6WH_L8ESb1&&-eg~JvX z!CQP&q{O5ly9H`M|D6%O-ub`YEMWeXIi9=qV!Bp15HXGI_hZ~?S>=&4oL@9a7vR*@ z9CBlheo3%SB&1aFL74G_l#epTv z=eJ*r(Zt(A0_pO%39rC;W%>TpZOD%R-{11VG2Pj`mmoRp^dPgnV)l-G?CYuV2%kgS zsyAJ$C%0FfiIghpOp#M=q)7L*R3|B59&wy?zfo_}Q^&e^O_!BLHeLp+d{W#mUNN=k zO2%(px}l~Us%eRsLHN_OAs=Ij-rzBPUd_^5i=L4?;W+Er%&9*r$GLp&3vva5cq~Ew zpI5)OirhHxr~J0`kMcu1q=FOrUTzL+HgxkHmzXr?n_6ecOWJlNg1PwRXPOhBkd zehr6=Vha`C#4U%I{_90qk5N=xeY&PeH;2fuy6b3Ye+$=VWW2$K+W7Z%YJIwJgoLrL ztp}q?Yn0>Nsz>&?{VsNOHg~=e&%-FnqAH7q=9BFa%D&2>25C3)_M?~ELErJVz68Gi z7*}5cA=njmH8ti_aq%EBAXVbQi5m?WBJYzDHUfiru;w&xl|DDDdAopT#OO7yf45%g z$IRVJpOdf`3@V9qW@I&%u?OAjKA{BAlzBF(CP8&?gZfZ(PLgUI0$riI=*! zu-XHv;r68q4Ps}M2vvlxyF zS4b|N{m&!44lp9$P%Z7FG70wtP%UM*jfmrT2#e5X(?EyV)X z1gp3HKuB86dFsZ|)vrrGK%q3}+|NYq6Etm|=q}%z!rc<{`_plho=j#?u#1b(r!Nzf zG6;>g%w#~)T|hmc=oA&a4+Lb#2a<=xBfx8wHNLU_8ngPbrmj_lnp)&!iS^}SFR4iy z{EIBU7OBbiT1{|#w%9vx{CelL%|Fnk8yg_?_^%*9hlN``OcZ~nyD3uiS3@)6ud*KU zRD(!|UDH^FMj4695}tr0c|x!=`dTiHy&G4&PSy_+ek>bvd>A+qnG@gLiTaI+G*rlJ zb^qw_CqHCQt@YmTKa%lA1l2}Kpki_vI z%Ks#0wb2>vR1$PP>?8WvhP?Diu@XC#W3)w|@Oy%2M}_)Is3s%FikJBO1u;NB>3wr% z=Syy*>d^%g84QWo&VMnTPE@k1^qT&qWLfOB)vY)HvCT8hlFH0VVyrQ2a^=w!0o-ps zNr|fsPju^;7&%k@Ff*FC_U_@@F`nP^drP3;K`|2)(;3}>~oA?|##`wVsU|~L^;_4I<(4np!%mb3h7l_u@Af1(NhTX& zd^;FY!lQIS*GYd6XS&dLm@2Z@xYQiCgl3DE;K3e1%YD-pu2A|7Aw6uwyCr*7LEU7s zT;wwSiH62l&^6^m$bI~joib2rO&d}LRWOqD2p%vtX*3}9tACnLJXi_cj!mS8-m@R@ z$m7JuW--0Iq_w2?noKVHa}oN76kYsWV_NQaAZ(HKN5; zKFBuhydE20@E{^B=6(7Vnd~4{f?cfre-}0FB!>I5)}^8mCp5opdq=C0jS>HWg}VDN zvNsaKg8wswMfnfO{quu@yPjtF9{?Kqa^nENKhEZNIQuAu@P4{aJFSPj3F5q5ES=lq zO|b2jgfJChg|Ey(h6E|~#YM@3NT%)kO2Bw;rxzfT*LN}jT*{u+8-dnOAZ`fLWH!f7 zT6otgiR8-AJ#A;pKad~i<@@`+6Pi~!zkPlJg^hoG;6E?e#QiwLuk%jCIOom+<~%_O z)S_O=o?CpTv*#xU1&R?8uWRMus38x}cbSpiS(P*Xd)&UFc$>>6`4(jC+F%7!1W7End9>GhfLUoW5o<>kM~mL4thuJe1iA@afjiW?RcA$L&@z%#LFVUMC$YY z&mo;!@0_NrJFF7skutpQ)%YOM8%zO;EHIM!;!~NzzYlgPM&{mCv_+HVa%hZe;ejdbs8>bdWV@$W& z+wNXG4Jjeebu85G}tT`|S3L1(Rwk&Wr;ECS1 zKpdi1_F)1}l_4tAId*Pt&Yef@rJHmAPKYGS zzo9yX$A*99bbb>)uvseJy@0Hu24Z3Du;e`>BK%UTF0VOqEwBnkCk` zJynuM?^M!a*ox%!IFxdmA=8R2y!%VEVuwT2N&D3zTgx}f4dn6)RK39M@bL=~Y z-J)D+oW@!YoPn6sW&Q#1If1`Jxi`whRJFdF_#k8|G2*UtbDRh0VPrWFu6D!d->>^#18n?FE_ z8eAm6mArgi8|nhRsR_68k1JKJq7`w13IVF?ojH8kxb9Okm3g!me>QqmR1MwZR}r@A zI2J_W)7sQv;@UUfoIvMuX81s?Fh=;qXzGPuXT$|8Ox(1}5tZZCkuH8eEf%&Y&P-V(jNxV;hgc@L?bZ~hrNesM(9Pso1QQ-a`lWsj+I%v>* zhawG5=-0W~FwA(rtef4@(x$uZu&QEP!MBj$EB85u#-0uc3Nh!|xFp&dnHRLnJJ{=u zt{7Xw(IAm21D9|HK9Y(1;8z^cCf)!z^NWgz^O26dIkB^2Mb_4APW%y?mBI-@lH%38uf`z1X5`YrH0AxW-Rr^u zq2cRUm;9tPo2|+y<>2KvwGt$j4oyB9y^SfYl|z0WE!_=c-i}nujc-e|=a+L$je)+p zIt`*4qNFA7-Y4(RuzrUDcelXkD3hcAaHWV%GW6p0IjBxjDl*?|gQX8J%Qx>Aov2ZV ztp{6wzm%;y!BW}VmU2S{C^x?iZOtNfDf5)hmc3q2;sf?PE`sMHy{vNMNv3ET{w-x& zMb$`hxIY6AZRcayMdtYi!|ZbPfqtq3Bi-tzs)x~AS^707Lr{T{CX)9zd2P@`X zb7bivzyv>CR#uKHl=dKh7pW}MrHwB$rL2pc*oA0a?l=orVrxbpR_-4L`HOZAM(osN ztN6vS$GYgMsA~7HszzwXPbmre#hh8zzolcCc3l$XW#@%ghdS0Txg5G2q(V5^$VWxF zhK2IAKfL<&v+75t-QgC~NjwY~cwTUH3|8Z(g!>*+#|Fj;_hc_g6u()%NNAEP}@Zqw3+uH--X zQKC0ZtH&3K`~J7o?yE;Nmp6UJu;`qyTc##spKy3)fuW8@OGPUPstCYPdiK~zxd%K^@dXncwyoDz91{2Bt zaZ$ju&%Db%pQTAnSEPVl?31aILhhJn=A*TsGeO@Ik)wLpF|5_Jy?-kJVtf$&9f&v? zmx<7fYgT$BR}|9u5RlB$RbrA!5dP0GPvPeOEn3PvwsWUo{pc>$v=e`1-AClgYLV~a zn_$3&yIN4tQKd+U#TLLa9R=5>zQ*OrGQZ3QroMED`5hk|;|JV1@$f%2N5+zo>vds= zXT6e0SYPt4%Z5m>?V`xB9*PVV56Y@8DT=s9y3O(U`m$yBpq5 z5p;qP`SLFB$P^e^$MLY!KjY>Bi2mrgd#jrZU@(94lIekoLSA4|BUL#-j%tSUqv0Q-r)c%{|;a@ zPV2Y>+F^};y4m?=cJzfg`4L^{*M#q_zSJ;JpJo>AwIqC2L+Ead6jfsWXF;937~Q+F zNPCSv&8ydl{teF+oO8c7bB-@H!W#RKYA&`o+94HGw!B#O!rJ)CVI|-E?l=dB36V2 z5L7md$Si5*EAkhPl}BxXL6Mx_Zw^5CFE~&ZpohprWjAl{Z*}um-UbHV&)~gb!i;(| zKj)rp#=0g_;*4Uq{N!OMTIbIm7^-b)XwArGiII1Q30StI;`oL5^5s+Fe3{}=r~oft zBoL5G-$xy_1jR`+^+x2;1_`qT3jU8Lh5Fx5%4Ko?!gRqPGwW|Q+CE)EtX-D&@aWLG z9woD#GWo2RT4EBg%_q|@;z&%!Z|SJXSb6MJFVS=rMI#VS zR>2fU&6ql(b*;fxcb6zS!O9zPPwxrF?KmYix#5jB^Ni{Z%e%aXAZ^aHbZ13z%8p9Smz zb~NTU+Nm;AK>Q)U)2-y;^USf1J?FPgcWmr^6by@OMw26RX-ONY z8q`2l{;!zPMW$<8e{p~+oXz2SnQE&)a7eLiw#d2aonF4PJ+EHou!k+;_%q~8yPR@@ z-60=AW@6s39(y|^AbFkXCmQNK{mz@eW5YMa#kEOq21R`{_V*TxqLR>-FG4^QQciZq ztcjfg{5qnexz>8|$|b<~$Lr?dZ(lrWuSwIcZ-=loU7bq-~MU|HH>M3 z;nrd!-9fFNg8+X~eYz5A0W|{kKz(JkAIx6VjH^eMF!K>`N#gl6}fstk&GQ=saWRaafm`CRP%Le~<8#buQ5vX^Q>UO*R5q zpVqm|>C)TpV5v3;4;b-Z-1l}={{$F!JojtAYZ0*A{+<=&2L9Si@zu(~RZl15+eJXw zS@Mye$QBUws6Zn&>2aP}7Nt_DTS(@iHHu11s-rjQ#gwy+kXbg#bP~I}>>s$WPV|c6 zne*&|H5io`851e3Y7%7TWOKEfGVh8u2af1Gm+z3<>}PD-usLd~Ir@gAfehc2Dfge+ zF;;F`s=ikIl?CQu&E8LCT@javbx!;O)yPtKL1|uo0}W43eI@_fs_$1|rNGpPLnT~$ zZ62xPT}S2FbdEM2dIt#|TJlep%+$VsF1L~CEEL9ca^wggJttm(skL^XThprHTj?=# zfj0qnOH`V69K7B1dl6Sr-9BvWA%gUe=P(De8YIMJ-_b?OnAbnhF5U*Ik_BFLzeJ6X zyz1$Qo12K30Z!0=y&^!Y z8s+7P#o`6=x?jvuwfX!4E1bj`^`jJnkzgY?QNv~l#W_ikXUC^axRu1H?HXbh_eG6c zTO*lKDZ7?Lt?Fm?K~eVDMe!zk^H{15K%n28s%A0j(#57@xo}z3&^BybJS*IzF4SGx z!Of2uaP{U2du6;hT9Z&(ZVw=uV(VOOBJFwj3pOjrcJZPOHw$*WWi}Q-(rRKjFPCjo z_ZGIRn*WyL;WL8iFoJD8TRi*Ka~csaY-k=;(UBRm=V|S6BqB;zU(0A>{AMjw4rxAs zXpYc_8pv~*7Kb(deOu-h?y(|B<+YdYeBf&w`X^O0Wb8#l#!qCPPh~aRH;3YYvpzbx zYhRX+1ocKy5h#n(p^utjHf}ll!rhN3%MYZ;g-4SWY;0>?T$P z^W#O(9XoJFFUlvtv~u@8J$Sz=Px!`0|rfIvK;1T!iW_4P^3z zUqE@&8LYg5f3tTp+vcev?TIj@I#gJgl2Nw37h0q(%jZxT%-)Yg z;ysA>SEx)YM>_Y>(Z7NNIui7Z-!93O1-lTmNj}kS%Ps69FP71-X44%c*e>o{p+_fU zyIf2>cA?YDs7(1*G3^1je$mF^OB$&k5w!VGo`V}qp-rkD*7pDBkl((*1k9R0=7lX* z9`3YK`HgKYFQ~Qx=vhB=kXp>}3r5dB@3r*4+lQ2X&XU{$3eUe@&~s8O&;tBV&7mjvBLFGrBo^#asAaxC<8Ck6@W1qFzW9*tm8ZU=)6!7(ix2X2YOr?03pm%>POorh#lE2`+CI0A}C&;h_^Y0!G6}a~W5sVhF@aPHE;n_Uq1=N8bAr_Ti>ECzUMmy&nH zkZ2uE#Z((h_V8B(LmU$)=Pd*lG*4s@@AXtIL%VaXRK1@TANo{y-!GAEgfNsZk8x9j zOa6g~w``pu>~kfU%qfMI$VXvynzV8TE=-wm;nX@54u1^L`>+e5PP# zzDewNQaYW-H$1UlNmH8!#IFGe3;CwU)Y-})sSC4qyrrX%{5X%gXyJ9-@jK9GV1rR7 zhxrFOM#Q_ukN}{_B)QVe3!G0LGmqP{C@k8+EvFc+wK%?sOT=y*>(lCl$G@3QfqDf* zW~s*H^h6CJdPsb5GEk~Yk2CfFyW7&IvU7b)w+@ zJlchXq=4Ihz9|S2`wRfS*7nzKwY-hvV}{6~S+m?`!(J`PRDmYD+HzVPidgida;x8U z800}uo~((m{~!O;F({kvYEfpED?N7EKM-@b-pLzS3H!&b&ITNp_&|MX{XON6J6))gf1D+Q#mD@1SBBn1SAu7bg*NjC8ywl01+QW|zms zw_D2kY9HvZn%vd07 zP!~pWlOihLBTL^Vr<(JgFvQiL>E6OLUb3R>p^}>|0Gf7HBkMmwI<5V2W zJeA_p<`Tl{{p!x`ru&iz(V#R+8N>h|0PY@%lD(F?pwEvAEr|6wbR#Bc9j2{n*hwyr zFQs;k8FinH12fI>t9N7R;VS{*a%89lE02UV>DZXa=cWJofF{h?J9X*?MXr+f5?5zC z6FE`k8YGEpIGt-`-le{8j_Qz!j|C3PsVY96^2=#=Q~q%ER~8m)9e78LrQ~k$@TdE? zcc<7%^SYNWkA3AnGX64rt5-g3`D6h3ZMphW^Zahy@YblblTmd?9(?1%8O!>^{63^0 z0;Z8zT4GU0Ox2BMPf_qtTcmMh2P6QbTbgvltFqzNzC~w1@ zEKKJ$6c?9eGUH*)ZP#XiAQ7Nj#R}g6&(0{|XyQGSkqQRMfp9<|EZ`ms^9Mdl1Kl5@ z2fP9bWRkZ(jrGBg0PV>?5Xj)XZs1&hc}rr*aZX?YCO-AzwU6*4D@dXWq7^)%ggvmI zFa!XppDHV7Ts{qd0u~iHd67wYi20lKa?A(Mmwx2$T^89;?61~*BSpNZy24Gv)85Uu zf`66CTO39sp>fXwcd!{7`KIB3fKlr#KB>^m4C((lU4(lk(F}sh9!$uX3V(WetGSuH z$Nc2CM`9uc#6GV7;+c2+sd~IB7~7KZIVXsIR+CIo`YnfAK!_-Nmw~`dRw+HgAxF+0 zdTo(%mD^_ZcOq{%zT8UflUY31gJjT^<^89hqx?JJ%kTt>taN5koDlt5so~QwU33c2O2(=@#j?( z9Gbx_PendrnXo;4WV02imveLO%7exG*}a1xBjBB3ZuI22;44^%^w@XOm}X>b`ggpF zxiI*eGoH%_{db7Ml)Me_6H!(C+A98+Z~pV73J7IMo9qgG@kxu}wh@J^(s;1~lcN!7 zFGl!E@YZnyaMw689y*xsUP}3HAA@s*A)2rE3j0m3dMTSw37rxyd72)HU&D}Z)o@HURLqoo&ljVu&%mb z=pnhU2yn-@0s<8LEUw z&!3*xY4Uy)7Xm-J-M>_2@DYxvJ`2+Fc$}VEYWEF(7!4u~0zcFo{>{TPtyACCJJQ4Q zk+u`tlMvQW@oEWN!Ba0$ITEs?bmccK{H$B@xP}P8y4{hTx2omIdvrLe#ct{(vHw7V zoWma8MC=@&r}8zslib1^n=}^&4TUm556QxjH-5Uf35?=DHt@`FExr;dX{$q*-57)7 zXjq>ph=ut514VO|f_`h0Ls^MrNe~iIbBk65T>B50<@z`H=pSLfYk494xnB<3-6)J} z)`sIQ_m?c-D?7@mGid!JXx~=;apiGDoK%zm9x%E>T|17Hq*x$$VLakpns2cJ@zS0? z_}rzA&QL5oh>0gmOs*haeF&pj)f9kO#%xWP8XzD|4J_)Kz0$we7JFZIJvN?ue`R1E z`r?HCMy5(~%Ku=i(=UY0u6?;^;x=&>zJe5ePSf6&VX)o~&M zruviK{-{8vG;T+X>GwL#H@z>^fm6);x3|;blmkgcB}!@&ypQVj|5p>4a`R5~p7f7V zw*yJG92KWZJcR0P*j#x=#AZky?n+#|oO~_WlPdjh3nM>eg!I#(=~#o`-zRyIz1DcQ z(YsoxDv|~<>AGdL7)-!<&oVF|KrL1xir^al>=PO%cr1B#?^l8i)>NjZrVEUuX>ci$ zVQ+fl*2wA+9LA+_Yb?^&i1!n}_z3|EqHAA8dX`^%c*_96($U1MPA+Jl`ihM{KMLER zrZ3iBn=0xxw_dc=rIPKh^54O|RK<}{pMXiMSJ~tTNUTc8DFhVq5RAnfFsUZjA4Q?B zcg!(xQeRYq2N1O4`^?GG)3@_Q5(IrFH;udN^-=Tl-RVggAq!Sr**i}Bs^jM)H<50H1s@dFSl`C z6NWQB7@nvfuD)ZtfBv;JM2uW!U_O+BSF7ieWJ{x{yO?{(zD6N1DS=3dU7b!-j5^`< zil<_GkC4pQ+t}l{ypK2nJ~W^9=f3KJVwjHIPFtkhSku@4f!;`Pnfm+#Nlr+fJX0Yo z)|R?cVPrppkME}VXoip|CA?;^B#bguuxnoHzu)2g_Q$&%Um-l1Qb0aER^t z@Zu!H8g0>#_iuapg36M>09vTClf^k#(f&`7~Fkl zSZw?zkTAq24Zrq0lnE1o{Ubu5Z|jBKEd4VD4lGb)?LM90FUqe^DA}#M+zc&LqxI=Ks(SqeMMcBBN-9?ON#IHdVIkVp^vlEr>gx3t zILTAPNTn}xFYLQmETbcR!1!8&zdXgQi7-?l1W)y|CG6JR_$|pFP1=+%zNeqzK;qOb zvCB23W%dYU#P0i46ZSQwWYw`flqLWr>B{4?TF|oPyB^@9sy{ij^mrkNUK3J7F^E~<;Z#`3ivPfY@Ab04`Z>(dEL~yky3-I2rr15#b zn_>nW376(jZxFLNKdDW0pXjau)6QwX6{0JT0tz3&`W3bM8%r^j2l@}h@{%=~9sz`_ zyk}+{Xv(d;RPiW{&BvWzW6-f`xd9gVi4rljL$ez8uYa2yj#s6YZthkm<8+-OyHw$>> zk*avLAj&uo88K0ULJH2jX9F_KmOanPEzDjX6z#A{SzL4pq&_15L1{>Q!T2#g#*I&kR3Oe`Y62oO=~bBicp;Xl-$_k9J0aZ1y_j6DPJ6p%$?5B{acnftH9S$2t3;0F#DIT)%KdxNd&NV5@wmYD(1B=l+N zJy#c_a12YNmc)%!RpB|*aMe*UX+o2)J#ro=agKrOR*X^-p3#k8l-oOdEVet^;kLc` ztchhKuXG9c1s6%f=RSCB#Z99jGQ@RIqZ@(U{1g=bIbLYT^tLKN#wS-{0)^ul%*;0V zeCwebh34YV7u7>6&BpXBS#b#jcac_H6#gZY6*&*OzSO$uL`mMt^`%!4^4xgQtYbUT&3p-CP~ty z4d%EwBWN>LS%hfyBWLFZHO|G zcWgj%L>Vw=Nj4KN8fwl14_~v}d9#RwN++RAP_1e2Z<;)C=0a~}Gf@+*Smg*a9oW2Q zO3m(qCNcBAU(Dq*G_f*GReCd)ZRpEOYGzyxjDTP`B5N+Wa;EkbM;-MfB+oq(`5yaUo z8zb*Wnkh>`Gt|`}>q{4r*=$)k%l2oCrt4BjSj1F>G6PR7@{mFnW5tab%Aqj*H!)8p zV%`T019Lq!qO|aV5RPAhs~Ub0b-%GQ3zC}|<}B2UAm=!+*wouyPTSovfiSv4xfER%7g6>pDj{{|sKhQm!N+(G^a{x7Bd><3ly%$8;!KmpHPL%epz&fle~MIx-LuDj;CXb_pNv^ZSjU zy&;~f?SUc+{8o>N$|>Dq?_cXwMi^Bx)1q0##qFY;ggR)l4K~uCQ0~VLDWA-w9KyJi zExo3Osp*JQTI2X5foM8IDxG;)Nid3}P(dGNaUw}=cJp*7N+y5D5g{dL7t07lTxz(E z9ZYlV^pf%iMZDXdmuC)cMCFTfzN1TK$dK@Sza}YW6&x|-_iMZ(bL#^+Lx@+%tf1%0 z7K&{?AP23*Luz{#@QcDcc|nJ{O-tccD-)m8PK{bUuc2eZRe01?xq}#pq>TIWv@_MK z$JEdhSv49RBu&NM<-y(B-wLL_!PQ4KwNIGYmGw!DvNVvu4-*k(u$F)BV{xYbydKf; z$lqWMO8aOlYke7Y5d(_aCmx6Rj8K)qp7Ly>3~qI{X{{Rxh?3O8@?%t?LyCrf?G? z7pSZ6Aoj?401~B44`dN>TLW(u0$N^)=N*%B0oec}k*||&M0utw3RSMA5v4iZ$K}j4 zIV-r{aYM+XAq`Ws>H%8Ks=jve8S16$oOiEGb8nQ{`$ zPbNQV3iI|teoYXEN+~lqnX4E_Eyf28)RD_eSsSsP97xbB9FPtg{!oEhKSFJ#iYjjH z4D0%)k{j2-kfSr(e}N!I=(KIB?t37(DnDa8Jd^7Qw?sa7Kvk4TEboTYnG*IC>2~k> z$gCqqFu~S))o`Xv2)1wcjEpX@Qs0d9(@UPpR^x%J=K{YWOBJruawn^!(XMfd92JN^ zISGMN{YpIe!;8yS>VIhd8*Q!!e2N@F`PUF1%L$`VGWOODVTpLnWsvwY~=x%)?tUe_Ix?jCwO54Z+G`J~U%+E2C^aQ&%*?imZw<)Ef zWiwm$YJ9dbc?HC!VrqgSS*L8F_ZSGvh-=hLhn&4z0oMIJ3uda0`PT) zom6E2`P(K!Qcw%cV}LVZ>*G~!HM1ScmgZKb1PsL=V5e(*mgP2D^G4-5sA#FXUFq8& zQqCD@3nq@p*_ED5niOfa0`fVzg7e&9WwJBR7N;#1hZ8!L!~BuEdSyNXo0Lf8tgB^? zDd*%V*`8zSEwNW9zvyopyo=C_wjrZ0srg+u%fI2%8LNY+#oius;B3|184-bMEMH18 z`(mxo!HesO>q;je)!=e2-bp?&DS*_`F?l|uP5zaf&+)q~hxd!})kedKiTG=|=5ac$ zcUcN@NraI^v_l3eT4nai)Afm5r0BwQ0V$i~tmFF^69%Rv7gosih0nMTY2lCeNNh{;Wj z>j_#@{EU~ldN@w9P;9P`Omb92><-f?eHG2P`mb1R+L(UzLXpht-Uqv{6*8tt1c<;o z){-xJ;PC!&dOFTuPWFz5Os*2H6w}y?=t~WfN9a(~^@uN?TfqA__(VUD`sf3xk4wsz z{jrcs;pnaC+}9z#;mue19}BRw>yqBjwQEc!^~!*+9C-O5f8}%L_fvRrX01_0)ORa1 z&EIQ`$v1j!?MNij9PsX;SLjJibkoU zziOH=AEtorZSKcgh7c>$OP{!WE58_GK5jJcPJXaqfRUfWsnW9KnosxVizD?7N&^Ju zrY4>#fxBE(#*g<7FR_VVx1dUQIp+z~$yDnP%+$SMx%+XqM5-pKl+rrEgWpW)sj`L% z8~Dh*wX+^Rlo6u+-YU3saR?#-ig#Yz=X-qE(=Vg_rw-54_k6Rg)8NsYU^GQ?0)eUs zt+Z84NwG~rts~Y9BJXe3-)+X;8fJN?QRL3hequ(|b|W3e!O*GY;+7M4O>pp}f82=J zbO$Doa&#-Ykc0R<7a~otVGsW~_DvdJf13&wrYRV3P5i=``HKaa(Yl$I{(ZqDxOO65 zYJ_@qHg07&sv-Xt*HxCPl74T?wqVP^dlW|lBkkN z!NDhTAEa0A%D$`th0X+z-b|9cL@W1rK&-r)-#E7eL zOFvSCc{zKMb86G#Yc*ZKjjO?*+*nOrcAwabcnev|)2SQa`&9U%cV@oKleg}vlSyaV zjRYRY{Tv6DZT*KMT^X@-?GfL^^a%mUdaY$gYCiB5Or#i#H>Dh-M5A7yB2Ou)_!s3y z8|`R^6E+EzX8+8==?hnwYDAfGWZ7x+ye@reX`&4+7mvZqCFv+KU3a|RwgAkLH~FSX z=vZKcOB1v7OxIgnL6? z(p7@#P&c#D#YS4L+3jb=${gMI=$sRF2O>f>iu%Z#%YCll9wXLv*}p?1G|Yp(WIfwj zw51%OaEx{;O1%15BTcP{d3d*rX0SDP!286EfBg)>mPB?LxJbsjd+b3XWh#|uI*>0s z9b`;7;rKM;BHgy9G5yxct5EseAF6vw8b?>eD8G}SwU%@n13*fFxKh~p@r|9ZOopV( zipyA!Mdj!V-ha*euVJSqTD}fSjF)N;25Ioe>r#>S(4Vj@4Cud0p&As!hm-_>tEoGw=0n~D8?SXT3&fg(}T1;_S@{u zH{4cKDZmnyf{3|}Xnm#>CG{U!CEUfFfmXA11NAt7w+gI$-Hr- z_;67-;p@Wf6-l<~c#f)gL1>TqGv=vL|}63i?^Mt~tibTcE;i?|tGU6oDJndg`_ z)m~z^^@T_&Cj)NlzARn;bidZ-$qCvn!dX@cKa|Q=^=xawyQm+eN&pll%3zFvnLkZj z*b}6kHI-@FcFwu^T%CmC+6_tCj}lG+E$)XI&5wxn*7-gWn0yReL#}zxy&hMUeo}nK zvX)m|?ad)_w&?gF-z(kS9E>cG4hN5uMqMO=(UC3HuDD!L#n ztDIe5yB6!T+Xt>U7XjOo1p2aa6s*nj(S{Lc*_u;I5cX$UT-hDK#5@$BSmR>)x{N6A+BK~3`zx1`IbJM$g zQ?Y}mEUsM3#H|`8Upy+LrE_9;;4=+2-vpvuV+aA_v=1@;rJr}eV9&AtQJa-L9s)?jx<0Sm) z1;to!Vo>-%OH2y@2oN&*zkfiHmkLVd4V-6)7XblOzzayA#5zy}9E};5&FV)S{fp2` z=l~Mwz<@e$j5_RJgoy2Q0?5&mc1#4;3>ExvU<7_Ng+5AvITEw^{R1n(2y{UcF&oF5 zl_(N0C@uakg6iu>w+%q)Vh~TqV3}Y9PykXyfM}+6GG1jh)V}}}-inhont+)M0#*8e z-@gcKZWv)21(;~U<^b`35h6Aq27XK=UNJv~Ad{W_cNw6f#k8T!>wI(18HYlFKa;?! z#-Q^vs45k47gGAxe-WTB4(>lr&y@n5g&_V#pyI%!LR%6vdW1J>lwKT+5J{hm@IFmM z%n>P=j*9$u6?D)5B>@pRj^jNV1aSYp2P!pzHlYAiCO{1hpz<#yJ_rMp0R#>P^g+d= z!NC8+=bze+mI##25d%aJ5|V!!IwEo+fR;-F0m|)A{zq9+6>W3<>&O3x+K!l(NC^Sj zo3DN-{=~viwMDzS%q={kjAll8_LUK2@8L*`#?nb^2OG-B{bEI)VE+OUhX2X*Apie` zsD}#=Rbhk9VRGcqCse7^ce(mNDEs(lu8c6AwrMVC<>U9je2YTe;lIFP%KujQf&cSY zilTE{(X1ip=d-_<$P+Saut=j*^-kT!l@BsxlO(rX!35d$UvQ2|pd#im#=lbEYI3WL zyUhz0Pmrm~+1;bxGCO<^U#@>KB+g=p#ivn3MNpm#4Z_4X#0?6Q#U3p{ydL8e!SrwK z#f6e5$h9g2nrDsN>5*3gSGhF{fJ9S8;#+_Ks}`9gT`0Ngw|nRWN{vll4dr_ZfD3`a znU6HgUj4mW#)V{&?vmrm=WLgwg92CYm|SDpXf2uo%*dTQO(HjIYl=qGCYNl~77rx%9~Jc(TXMF`!A9v5K{ z(PO%}ii_rkr+^e}sn1q`b(py_$KJkeomIuZS1B zKxkCe+_dnvOzIe&Al&*XE#aP~Aq_n)tGSn0!{XTX(gUjjjsz$Sp%jyvC!Yedo=Nts z#8<1(@&J<2JE(N=X ze6iu=MDL+YwusrcZjj?Ho7p6UA&?P*z0zrF_Oy|lC%XrU9%Q+yrt4a{9xp{c%TK3H z7#oePRi+MLw2@&fAMahrK8$%OEQP}_mfwOckD>M%h2CjeH-9RF?uek2$n2mTUZ`55=RYc8CjTr z54nqHp`U-?|IV7>Wg><+4Puz&M6Cx7p_&>9#C8QTfq`gZ*Kc06YMW%BT||Us8%t{F zQP-kNczd!;Dz$HcIG8G7?gO!A*(rz8AB369pPy3{F>*PoSL$&gU;S!IV-V5m-~)LS z8rITI&gg>@5x;@|{QJ_PONgGC_a^C3!`jAej}H(GM5jzA^2f!uS3M9ndnplX(JLl< z%teT|^ca}541r#t<#dKYRi#~Ic#-(~Rb6>W_bc^?e=CEnU~prNM6^cPsJ8qHYq z_{=o_8ioDtQ^ZP3_)!BVo&!^MG=ZH<^p$Sfdt6j5e8K3tba518N4sAx0vu}?|)jDPakE^ zbNK}QEX~y9PDs;;z#nD!p$=*D1^|Sh$ zjyelXv*;%Fa6!(CGn>2z)hCwxsr1*Ha09a8=NXgm)}SUxUvS8#XqI^dm|}509S>~# z^QTTt)1tBDA$-V}&PKY?jAQ6Gfo{+8W%#OKOa8-bkp>t3)h|Q>ojh9^v$@vA7tJW* zR(OLD^Lo0c%X#li3gJ3lX}U=py&Et4T5j^nx#LyH` z?D##?K#{vjE+%Ck#fW|p8`-;KM(B-L7)v)etjsH{qwc zw4jU5f6|*Ez~8s8u5-Cd+HD_+MCNF-hX&_={siXR#ik=?*<32fLYBbaq{{T^Zs3ro z;kZfQ{L?$bhFw@-ex69G>5&5^n$_F{iJi>d3y|$RbqytWfSjj-RWo__sERZ8!uY)} zBa%%!iO58&aQB*^m;4r0eNbLex!SX{>=Qd>aFf2y#%>;bZ-{|@go)Y=b605!TqLLB z5pzS@nrVtk^rh=rxL{1wDQB^k5u4^1MlXhq+rYR|sVCE{TERqVs<-a=qN>3HQ(w-c zJ^t~&#-EoiY(si!Vo6Ya!3rVs`76QK`8$Hgvcf$iPO%vm8{H2;9n<-nl7u&^)CTw1 zlqGrmnawkZ?*zcpsk8QX-AMAaoe-AGbN1sV$+`)!O7!=`F_t44s_a};jCo&y+TC(` zfy>ej{=p9f{ss=Q_sQOY>#doOv~zbqd0hN{D&I{rPvZQhvRwSCTX8K{sG$tKLDnF- z3b~5q)71LKoBM$u!-w4kHFK{VgDQ|ZZln#1HWA_h~ z6w87d4G!om`*bphl&XE~w{GepE}KaA;yx|x{eI_eBO7cTyda>OV(CL zIu7xb41k;Rd>ZCTeOmWCa9u%7`OC021FIJ9GJ1mtS98VxyUoD9$z!LOA)W!Bp@Ryu z_IstL&4-K?1K~9y3ThFiCs{}JVtk3M#O}aHPuR! z%n{=XQk!_CL4t~!7GNe$B-8{TyY%Ks>@k95kbo0mSs^YY5ns8O>64wO6#XkN=*{ib z*9^;vju3uo*57O5xi2u~+4N(z4cVg1MJ&SC|7V^J>->ruLnKLWK9j!YF~B+t?G%+C z#(8CGgY}ZeL{-mvMx1(5xX-VD^1YJ6CA^@w9Ztah(z{hyyU=pQT2v+g2PismL|M)! zMV6b~A;256wI$kZ?%aucpr>B<^A^#`sSlOkr4$Y31AHat3x)LkuiL{~J`@(UWma0| z9a%cA)TGLXVZ1ERK=g~?ChBqph9M*6B-kXNBPzhzT9%#bln8uq#?o8b z$l8Ek9X~?6ho@BQITVpCK2mYz*52WHv+B4?sl1NoD4&_( zUdox8cEH zjX+6lSCb+@d33O4tj+cCi!~29Deu(H*ED5J)*Z9cbX-B-5cjU)Yw#_b$L1OUkqv2_ zuY@$JbY6D=@utCGme7lTE>`y9rOY=bb+7BI6V5SKXwjJY(h@c%ToDtG%DCj_&bIc) zC3o5-2`(E5lYL9^$<9f^p-MgzA{C^*v!_AzjxG!<8mWQ(?Qn|!ya^t; z_l2#l?`50Y^pUCa&>ZvT&I)@m74=a^(HKK zDE47;@3ATI?!r?e*hBn%yus;y(zex4ingB*{sO%U z{>KbaU&Z4C2l^|(J~|1~-Egcy6-T5+Gec|5`plK#c|*@+b8j@|dk#=#N$|@31#DHn z=BDHxd@3I~$WKt}vio?eDaRnpCr0UL`IWnT3|yJIJR07usv~?PB5&m&MP9G`Q%pr^ zCO0DF>#@p+s1cnQsc#S2brtyd;5=Tgmvv_fvR&gYc!S=C|0`z~-xYmi7(LPDgh zz?%KTtM&10l7`Tcl5x-&3%dOOtq@aTc(G$bB&$Heu}LVFo_%^5mtVC~xRDqFPvGHo zTjJgEsiBrF0WC^SH%SEV2-O3tSq269qGkyJJAFATToYzMLkb-JZG0#LiCi1Wze~e- z*`Sm@AMl0SvYlF;xEr3zZ8A0!D{W;~V+2ksF%o;~$g~3dm<@R9AfEx^Sd5nS3*|!u zzb3ITE#PavR~KIrxcd{WD7#0$tC(E_eT6tunL=fSui5gE-uFesSbKq9N zHYoWV!i~Ah8hP>3BHO|HU#RL2H%cc)X+;;MjIu1hx#lWOm(UI&B^Nb$p`es(cXyP) z+50Be>pUAVM|-Er!p#CgUpM6m2uE{7Q-ew#c!j&+?tMKnYW1Y%)&=_F#951d#3qPE zp-n?Dt4@PoI@Y+h{u^?)7>90(2y^9=fuw88XYV^}*=c>nPETHCmstmj32`prwUnm0 zz*?hkni9z5c2|&nW-t7PiX^L=ySQjC?t#VnS?(^f7#hNfxx0MFH;naO%lRJc4f$~J zisf%k2VpYn4OFDnF`!*8msmxL*{juatCJ$(4N+4Xqg~Q__LUOgzEF6U=TGsl`77k; zaVK?8y`igkj`fb3t)EGy?aXN>j~FT_V&e-c&1&gI>Tz@*+B4H>&m{~&gnN?^qO)lI zvTa3hBkp|WpB%5mmtP%qc)^kp_j^GMQAvj8SjiHToY4@a&)pp@R5 z_TQV}yC~N+yd@i~a63+I`17ahzbY2SJaIrDN}|6_^z@?GGFtuI8xSG6&zik{YwIs? zZRE{MbuVm?BbafFCmV*F8S)^Ggb8lS*m-Qm=?tF35u%ef^^H_@NRBI^+F)E@U13qm z?;L)VZQ>77zgHEwF&LY#M8)#~4wjc!OLd?2 zG&na(+;W#_NXU`|&tYgj9_~1Qm6b&KG#D31vj{#VkCZ*jO8bTJF?!iSpPXA{jgWFg(NgOHt>SzxkWqwo2+1WNWxTam#7KH_la_!fhewO5wif1% zv+Z{=`f&3rh}w+~t`^an`_4idA_5&>*<0mX%+m9spvuj@rw>uY!ccw;OJ2bXnAEc} zK}_R2-nJ-kK$Opxor{0Z={{7r{bu>4pXTi+AHVJIqVMf>DtM{A78@_i%OEW7AnEkj zFVYGI{iuu%ednkcq<);wg3>RRXR)?JX8576mOnU0{{s2l9<^f=uYtphfZBLkiAh7c zaIhqiSXJPq$TKl@VabQ~-#WE#tWkK`aSbIfwfzM|lim(=$fYf&a-T49**XR*KlLj) z+hU6)mzrzd8L;6qyRyar=EnipBdY7Z&q5#3$i08Mn{+#LOF!_OT7{B};z;^m7W4ZycdzOge|WbB8;iPPYT`yX3|pp zkfS{T7Rx&~9FG11UkPCqEgsDQ{X%Lc`x57$UJ=TkY!YNaQ|Z4=MRMw=Sjs5OCJwt* zT$DVv6>5A_laHPLbWe5S zUAl>B?6&wmIXpq@(#S<1EQ?Zq8pf5x2)CxVq}#rYcM3&Kv9a_aNa0$Bk;Cr;Yc!>@aFD0^kHSbBbx+Lp60?26o3 z_G|sW03&|>hhG$+9U?jvA(_tn8dwsh8nBl8W0j;46dC@JF{lMvaRpEN?D>f*tDgCW z*lx!-1@5i6_ch;1X&8|jlU7m}fG}F3P+kW$60+eG&rYTu^}l@Cxc}eS_`;Z{T!^=%0T9*602VnVL(yyv4AhABqop@f$@t@o~x`2#v)nDmg9|PW@(U z;p}9qIj6>Yt#Fp!sZdbeNm(2*w4+T}1IG`60n3sS`0#$V;NV9<_5P}EeWsHEAZjALnxhd60| znI4Y>GIOm_WbJ>33+^%D3))yU0@`_MvtzhGe<0 zyF+}^T8YJ_H4o`o#DZ9Z_EVgzIDeR&*|Mp7#3Ka#8P45R~d=V!O#+Gb&N zICf?hCLj~z&NBdyjzP8QcsMcxM7qC-y^*z*T6!3-DXaE-ZDkT$-2NCq2%r#5q!*mX z%PXcMM4pbyptw74yB3x{N!@umSbUYu8Tv6uRdGN8VWguL+k4cIUC6I19xN`lhS%2L z{i=;NQm&!7P}c$`71yY;?7%qp7yherBz%J8B!#0$kU) z84+GIT+gQ>hHc?4mP0U$AVxD`<0eygdGwHOOsyBZig=Fr(z{=VkE4fn7SJMren@|H zt2WvwvyC)gp4Fbn&xEcayW>+GbR8BD8ztf$=Qfpij&>$8He$dz`~}2W^3#;)^#qSX zeI=PG`NpO5Qd6Z3AI~xM`_(|3i@x}<6YJMr7o&)Rtc5Z`&#_9!N11{Tv>uPDsFBd; z5pTHZK^7?<qWH_9qZcZ~QqK~hnt!IB6&M-%cDV4?UhC*z zj<}>~g5C=G5j5ndBoZJzqN1v0-YNkP5TH>F&5P~C(f2#bsKbq5B<{oJ%sAor>gF*1 zAkECw^rXtfw>u`j@oACYwC0(NEvPke1t#`b4c(tYzu6*R;4msLG&(ni4m04O z&ZJk3XZjyaE`4s1qKEwcN-I6ZsUm{?FM-T_)7U)1-l)wkU7kb~i^%QQJ6r(Z5p_rS zZN1V-VLlzYEY73A@1^S8e*r=9d~=S~Th6ZS1z&p6OEXOh!{sog#I|Ro+S=Dmj5dr$ zld!!Ty7U>Q#KB$-SA{fME7(~uv+DlN1(4Oz5@U90l~V>4fDvMmKywa{a$P?HwhVM2 zp2Xx@jAMK+o%p#KwZwoCHInSGD}PY>z&dbVrNztvd%SO?G8;sXFCsmW`h(ky=7I@9 zZx|VT;A%X&t@0*RJD;^*C}-!2V~hqFY%zB;-St7;kDSVqIVNK+IcQKsTFDh9n=>Zy zc=0Mt@9K|w19lXtjMy zL&ChscB?z4L3DXXTh=u~FB}I>gg#tm{9Ath`GbxKO?aAfC-WYi?Du+M=9F5AGOPu7 z*<}lje2)X$veqUmwOb-%yj2(w@*}qEzO|^{6cqnd2AR`NOu_i$1_R>S9)x+8&Xv=G z<7Y=~YTJ4E9uqhJJQP&LyYh3$YFwr6IUp=Hp0Zlb#`V#vf)2o8C$m7vw@sT^5mab` z^q)`Kud8`jxjdx2!$ckXoAj7ge=X^*!LRCjyuxm;Z^SX&Kl{UL3)NnwNtu-@(F1F* zh}(SWivQ51Cf9mL3r-PZ<{1YTEcYVwBw?s1&C~}S5_L>a_(HIIMVHxOQ$os9jKrdQ!*i zOM75b)T4*2V`L%UzlT_w(+D`+fPHG$^M?Pizfv~iIXYh*{XGy*Vy z$f(wTJe{^48JpIbj$6L|j9baT{4XG|g!j`knzGq1JJz8ht%G;ph` z>^7h^DRUEhN$YA(f>2fZ3nV|GA@+B^0nL4r9ir$i8FU*7(4w+jdrIHEMJvkLDO=Mq zRo5%W!XK8ohZ&lY=wG9q`gQlKI(8x{W%qn%?%Lwo2=qa2kIKB#`@KwIwlfhRjXA{l z3zWi`&0k--C+!GvtvpS0;{NtYu(9c`W}RZ>RTGsf*ni9P$=LM!cz-=)dF{_VAL^)h zPARmLk$N6o{WbEM2bB|}Ps(HG(yE(-)|5rYv~;U)R1d_*R~h<*t9cC*MKH9D|IrYv zFSLRwOm@-G8_6rpE|hBGoPr;}t+z@j^hk43duK~|C-aZ}U*If=GEuu}9MZLA2I^>0 zJlQcO@i;Q}SXr3zEV4^i#SNVKgNbj|gPEkG(Na_c)k(_*3G6|ac6sG;BfsgBz{!Eri51n+0x>|5QK=$jd1AREakrO^&WT!{`lLuHCotz>xJMlpTW z^3tV8DN7_~s`jP+1)2)^$A)RjatF)qNYc1~calAOj}HF>1*OfLZ^<3rGJJ?0BtSEQ zE04*aD-EcP$(QjLi<8a0#Y8Y|fqc^hA(A_$VDwS7h1W>HbB z)fk%Tv;K$SH7Co=mNWrdhFS(j5j7Xuv(Z|gK^_f1XWSVyQY6Rg0xg@N=P+nT>x_8n zUOE0A@tPs!V_mEyw@^z)yECX5U&5bCXO#qn=xrCQ^l#(m4=GgZ)pE}62+fO_r8G7- zWj85ADt#;15%N@E3gsX->&He$LPe~=Ddlo?Yk)%@x{PUpEC1y!!$Dp>4isuC8L|1adATS`1vxRkJz>be#PNQaj|K+{j$; zp?wkbVHLZUPx5a21;Z;cx8mdJ&)=nmLA;Y&NpoX|4>TB3M0nhGe4#HFV}iiUkkNuK z_g;`5y?9Vr#eeef`KXPO#zv4_UG=DU7q6mX>gDt;yR15F5JPqfAsI;9Y3gC=RAv(w#>{o&jf2Q6OuE=xUgLdX=cKn1uV~w zWU-m01sJ&?)zjH7i|qR!zpB2PnlgD1(Frx$o{m))-N+4|?#lEFE?1zk!Y6EJ9AuD{ z-Ouw<8GCPcmgrfz#a;X%#b+XwxE48J;G4cel0GZPC~oZ(FUBn6h&aWJDC}Ix$Ruea zVb)Z)-V!X3Ow?im2~X1mDg`#G@@GWb1JtH4k_0GrJm`f>0e~BH*SK6R^O+w4lnYptc=GCg)1%;7O ztJJ|Qh1GTw-(@ylZL}Wm@ih(hXjZCx18j8PQY33X@-Cls%bn^?3;NbZ>-A(yv}LXD z6E{wfoYC=3&ufP=mgTpCk*-$vn&N{p$cfOYaphSJ=4c$#~ClwL~9eRqu( zYqiSzF_&vH_^aD{EYjh5yA1H#Q#q(7%LB1T-FUsGqIIaxb%Js@YcSpMDB`$`!OFtS z`d!#HLmsK?-#^)aTE_y{cGM(~(uud%)2X)t55z5LTlL;OCxBeQA3MwQxo#4uCB=Jh z1Zy34)zA+q9zq!TTymD3U%1i$aVuvFxN9&*DlaG#4o}~r??TPd4^`bA&UerM0=zrD z!%8g|yTwhXRy9La9Y3o^z3hI{zc^qU(ceGP)0X57+OOBo>` z;#20z>_k*~DHVsQuie2h&pbO zF(3WLnx}=0i{=ZV=FTOUr;!0vTn<*Mt+Gkh0vpe;MPT)eUC?C6lgnb(CrcIrq0%xw z+LNu#VatK>niwIB=nES!=SsGeBR~U#D69Dfpp%JhaE$qqQWuYM55Oq z8bC*oUHpDb`{i}-@k@%TS5y~yAXJi$ERW*tk=l1iIuC7}`tu-gyFofu5T>Lt%cwok zn(;^I*R3aFkIFw8Mb6FXx;YfyeLYc$rR3^FN=XCv)gBuM(0`RX?i95ZK~Gb?W9M-- ziw9*Tec5hqyBQ%RAWd%o_qDy1wHU{YuUpU9A5Uc7Bqp7G>O9xSowh7AvGzf4MryBi zFs8q<=3`|*SVVsFvj?_Or)qC3N0xElh(XJE^rP}uwjrWgG$5k?)#8bbsj-9SO(qp& z0%2-O$==GeFUA;pJH?`JBviA7gY&nHfL4>Mw`%UP3v;;#BSTPIW1q`AlEltBv0_&ahZZ)0fRHq!n zy$UI5^-Hf5rKAdcs59jBDW&KBEF3^1-_8Zq`yTR;W{m~)ft&{J^+M@XHO%4B!WO}6 z;<2-J4N}{m;VA8w+@l-M)BXZazY3{I9oDYfy=kxuUl_2Bk9-B@GLL-OSv#iJ=C&kk z>MNLD1>E@6C0kN8AxmwXLhs6vja4GpxPIPWHu~wxNs#~Z``6*;=xa|CAwf8B@p-1Q zar*Z92lc#ux7Xs7s;i*tB|6AZ;9~OvZ-NweIxE0;cSxLXXjYk*W1>(EG9VD9bDbkI z6rxi+8tlxeK38E9#Zx5_^e#r5TgA2PT*iD^nmIZ8w)0Acqh7_%d&&8;(3M3qc2D0v za}_J+L+|JQx(tsT6r+3hcYS?QAlo5Xs1&Z}v!2uepA?l&@eHpVb;&k9tYf!UxK%W_ z+HyD{j`2(QJE@+<&uShyjti#E!g=ZY6cn&$0t5m+W&b45Q&cCsA2=a8|4)O4{eAX# G<$nRl2MiVf literal 0 HcmV?d00001 diff --git a/_book/index.html b/_book/index.html index 96a7a7f4..d8255e03 100644 --- a/_book/index.html +++ b/_book/index.html @@ -1456,7 +1456,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"缘起","level":"1.1","depth":1,"next":{"title":"起步","level":"1.2","depth":1,"path":"chapter1/index.md","ref":"chapter1/index.md","articles":[{"title":"移动开发技术简介","level":"1.2.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},{"title":"Flutter简介","level":"1.2.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},{"title":"常见配置问题","level":"1.2.4","depth":2,"path":"chapter1/configuration.md","ref":"chapter1/configuration.md","articles":[]},{"title":"Dart语言简介","level":"1.2.5","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
    Flutter中文网
    ":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"README.md","mtime":"2019-01-04T06:48:57.807Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"缘起","level":"1.1","depth":1,"next":{"title":"起步","level":"1.2","depth":1,"path":"chapter1/index.md","ref":"chapter1/index.md","articles":[{"title":"移动开发技术简介","level":"1.2.1","depth":2,"path":"chapter1/mobile_development_intro.md","ref":"chapter1/mobile_development_intro.md","articles":[]},{"title":"Flutter简介","level":"1.2.2","depth":2,"path":"chapter1/flutter_intro.md","ref":"chapter1/flutter_intro.md","articles":[]},{"title":"搭建Flutter开发环境","level":"1.2.3","depth":2,"path":"chapter1/install_flutter.md","ref":"chapter1/install_flutter.md","articles":[]},{"title":"常见配置问题","level":"1.2.4","depth":2,"path":"chapter1/configuration.md","ref":"chapter1/configuration.md","articles":[]},{"title":"Dart语言简介","level":"1.2.5","depth":2,"path":"chapter1/dart.md","ref":"chapter1/dart.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
    Flutter中文网
    ":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"README.md","mtime":"2019-01-04T06:48:57.807Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":".","book":{"language":""}}); }); diff --git a/_book/search_index.json b/_book/search_index.json index def737e7..65b200fe 100644 --- a/_book/search_index.json +++ b/_book/search_index.json @@ -1 +1 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["为了更好的方便帮助中国开发者了解这门新技术,我们,flutter中文网,前后发起了flutter翻译计划、flutter开源计划,前者主要的任务是翻译flutter官方文档,后者则主要是开发一些常用的包来丰富flutter生态,帮助开发者提高开发效率。而时至今日,这两件事取得的效果还都不错!","之前,有很多次被没用过flutter但对其保持好奇的开发者问到”flutter的性能究竟怎样?“,”开发体验真的好吗?“这类问题。当时之所以会有很多这样的问题,主要的原因就是那时flutter的成功案例太少,虽然国内闲鱼是第一个引入flutter的商业应用,但初期也只是在很少的页面使用了flutter,flutter究竟能否适合用于完整项目缺乏考验。那时,我就想如果能用flutter开发一个完整的app发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下flutter的流畅度,这样有个直观的了解后,就会容易做出判断,为此,我开发了gitme,它是一个github客户端,它支持了源码浏览、issue、label等github的大多数功能。到目前为止,通过gitme登录过github账号的用户有5000多,日活用户有500。更重要的是,有很多人正是用了gitme后,才来学flutter的。","在全球,随着flutter被越来越多的知名公司应用在自己的商业app中,flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当google在2018年io大会上发布了第一个preview版本后,国内刮起来一股学习flutter的热潮。","如果只靠我一个人,也只能等我有空了才能写,但是今年实在是太忙了!当然,还是有一些方法可以加快进度,比如大家一起来写,本书已经开源,有志之士都可以提pr,然后需要做好的就是review和校稿;当然还有一个不能保证一定有用的办法就是点击下面的”打赏“按钮,然后发一个大红包,这样作者拿了钱,说不定会不好意思慢慢吞吞的写,毕竟是收了钱的,哈哈。","我们虽然翻译了官方文档,但是对于海量的sdk文档,基本很难去全部翻译。而那时,电子工业出版社正好找到了我,希望我能写一本flutter实战类的书籍。","最后再说一下为什么本书要开源。既然是电子工业出版社约的稿,就这么公开,难道将来就不会冲击实体书的销量?这个问题我是仔细考虑过的,很多写过书的人可能都知道,写技术书是不赚钱的,能收获的也就是一点点名气,而我吧却只喜欢钱,既然赚不到钱,那何不直接公开得了…当然还有另外一个原因就是要做实体书的话,最后和编辑校稿会花费很多时间,可是我实在是没时间了,很可能会放弃实体书出版,为了防止本书最后因不能正常出版而不能被大家看到,所以最终决定了开源。","最后,如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提pr。如果您想一起参与本书创作,可以参考《flutter实战》贡献指南。","最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。","目前,flutter中文官网日pv在5w左右,每日独立访问人数8000多。","缘起","自今年我们在github建立官方账号以来,前后开源了cookiejar、dio、flukit等多个项目,而dio在开源两周后,就迅速成为flutter第三方包中star排名第一的开源库。","虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。","这个想法听起来不错,书最大的好处就是可以系统性的介绍一门新技术,但由于我平时工作太忙,周末时间已经有很多花费在维护中文网和开源项目上了,所以此事不得不推迟,而直到今天,你现在看到的,也仍然不是完整的内容,目录灰色的部分都还没有写,那什么时候能写完?","随着学习flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时有些吃力,而这主要的原因是没有一个资料去系统的学习flutter。"],"chapter1/":["dart语言简介","flutter简介","搭建flutter开发环境","本章目录","移动开发技术简介","起步"],"chapter1/mobile_development_intro.html":["(android)或wkwebview(ios)来加载(以后若无特殊说明,我们用webview来统一指代android和ios中的网页加载控件)。这样一来,h5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在android和ios两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发","(dwebview)","(简称rn)是facebook于2015年4月开源的跨平台移动应用开发框架,是facebook早先开源的js框架","...","//dwebview继承自webview,由dsbridge提供","//打印机型","//注册原生api到jsbridg","//直接调用原生api","100","2017","2018年2月,flutter发布了第一个beta版本,同年五月,","2018年6月,flutter发布了首个预览版本,这意味着","27k","3","3.1.0正式发布,实现了对于ios的完全支持,新增winrt、beautifier等插件,废弃了无python接口的gdb调试支持,集成了基于clang的c/c++代码模块,并对android支持做出了调整,至此实现了全面支持ios、android、wp,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,qt虽然在pc端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到qt的声音,但一直很弱,无论qt本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:","@javascriptinterfac","`getphonemodel`","aot模式编译的,所以不支持动态化,但dart还有jit或snapshot运行方式,这些模式都是支持动态化的,后续会介绍。","api。比如android原生应用就是指使用java或kotlin语言直接调用android","app","beta","bridge,","build.model;","class","company开发的跨平台c++图形用户界面应用程序开发框架。2008年,qt","company科技被诺基亚公司收购,qt也因此成为诺基亚旗下的编程语言工具。2012年,qt被digia收购。2014年4月,跨平台集成开发环境qt","console.log(model);","cordova、ion","creator","c或swift语言直接调用io","dom树与控件树","dsbridge=require(\"dsbridge\")","dsbridge项目主页查看。","dsl","dwebview","dwebview.addjavascriptobject(new","dwebview=","findviewbyid(r.id.dwebview);","flutter","flutter是google发布的一个用于创建跨平台、高性能移动应用的框架。flutter和qt","flutter简介","flutter高,","getphonemodel","getphonemodel(object","github","googl","h5+原生","h5+原生混合开发","h5+原生(cordova、ionic、微信小程序)","hybrid技术简介","i/o","import","issue中找到答案。","javascript","javascript+原生渲染","javascriptcor","javascript为脚本语言,执行时需要jit,执行效率和aot代码仍有差距。","javascript开发+原生渲染","javascript开发+原生渲染的方式主要优点如下:","javascript开发+原生渲染的跨平台框架原理。","jsapi(),","jsapi{","jsbridge,它也是混合开发框架的核心。","jsx","mobile、flutter)","mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,qt","mobile做一个对比:","mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看flutter诞生过程:","mobile面对的问题flutter是否也一样,flutter会不会步入qt","moblie与flutt","model=dsbridge.call(\"getphonemodel\");","model,简称dom),是w3c组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个html或xml文档的标准接口。简单来说,dom就是文档树,与用户界面控件树对应,在前端开发中通常指html对应的渲染树,但广义的dom也可以指android中的xml布局文件对应的控件树,而术语dom操作就是指直接来操作渲染树(或控件树),","msg){","nativ","native、weex、快应用)","native中主要有两个作用:","native只支持jsx语法。","native和weex","native和weex的渲染/排版引擎是集成到框架中的,每一个app都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到rom中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。","native和weex相比主要有两点不同:","native是web开发技术栈,也只需维护一份代码,同样是跨平台框架。","native是原生控件渲染,所以性能会比混合应用中h5好很多,同时react","native类似,最大的不同是语法层面,weex支持vue语法和rax语法,rax","null);","object","public","qt","qt、flutter","qt低","qt是一个1991年由qt","qt简介","rax","react","react中提出一个重要思想:状态改变则ui随之自动改变,而react框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下react中响应式原理:","react框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过diff算法,计算出树中变化的部分,然后只更新变化的部分(dom操作),从而避免整棵树重构,提高性能。","return","rn、weex","sdk开发的应用程序。原生开发有以下主要优势:","sdk开发的应用程序;而ios原生应用就是指通过object","star","star。而今天(2018年8月16日),已经有35k的star。经历了短短一年多的时间,flutt","ui渲染方式","var","webview渲染","weex","weex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和react","wendu.dsbridge.dwebview","}","“千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了!","✔️","。","一般","上文已经提到react","上表中开发语言主要指ui的开发语言,动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是flutter的release包默认是使用dart","上面示例演示了javascript调用原生api的过程,同样的,一般来说优秀的jsbridge也支持原生调用javascript,dsbridge也是支持的,如果您感兴趣,可以去github","下面我们以android为例,实现一个获取手机型号的原生api供javascript调用。在这个示例中将展示javascript调用原生api的流程,读者可以直观的感受一下调用流程。我们选用笔者在github上开源的dsbridge作为jsbridge来进行通信。dsbridge是一个支持同步调用的跨平台的jsbridge,此示例中只使用其同步调用功能。","不同,在","不足:","业务需求变化快,开发成本变大;由于原生开发一般都要维护android、ios两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。","中","为javascript提供运行环境。","主要缺点:","也许你已经猜到flutter就属于这一类跨平台技术,没错,flutter正是实现一套自绘引擎,并拥有一套自己的ui布局系统。不过,自绘制引擎的思路并不是什么新概念,flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的qt。","但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:","便实现了跨平台。","值得注意的是,在第二步中,状态变化后react框架并不会立即去计算并渲染dom树的变化部分,相反,react会在dom的基础上建立一个抽象层,即虚拟dom树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟dom,最后再批量同步到真实dom中,而不是每次改变都去操作一下dom。为什么不能每次改变都直接去操作dom树?这是因为在浏览器中每一次dom操作都有可能引起浏览器的重绘或回流:","内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;","动态化","动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。","动态化较好,支持热更新。","动态性不足;为了保证ui绘制性能,自绘ui系统一般都会采用aot模式编译其发布包,所以应用发布后,不能像hybrid和rn那些使用javascript(jit)作为开发语言的框架那样动态下发代码。","原生应用程序是指某一个移动平台(比如ios或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的sdk","原生开发","原生开发与跨平台技术","原生控件渲染","原生根据布局信息通过对应的原生控件渲染控件树;","原生渲染,性能相比h5提高很多。","可访问平台全部功能(gps、摄像头);","名,已有","和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。","响应式编程","因此,可以看到其实dom树和控件树是等价的概念,只不过前者常用语web开发中,而后者常用于原生开发中。","在2018年googl","在javascript中调用原生api","在原生移动应用平台的衍生产物,目前支持ios和android两个平台。rn使用javascript语言,类似于html的jsx,以及css来开发移动应用,因此熟悉web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。","在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟dom映射的对象是什么?react中虚拟dom最终会映射为浏览器dom树,而rn中虚拟dom会通过","在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。","在本篇中,我们看看最后一种跨平台技术:自绘ui+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制ui,而不依赖系统原生控件,所以可以做到不同平台ui的一致性。注意,自绘引擎解决的是ui的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下:","在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。","基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!","基于此四点,尽管qt是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。","大会上,flutter","大会上,googl","好","如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在webview中,而webview实质上就是一个浏览器内核,其javascript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于h5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的api,","如果dom只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。","如果dom树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。","将原生api通过webview注册到jsbridge中","将虚拟dom布局信息传递给原生;","布局消息传递;","平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;","年","开发效率","开发效率;flutter的热重载可帮助开发者快速地进行测试、构建ui、添加功能并更快地修复错误。在ios和android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。","开发者只需关注状态转移(数据),当状态发生变化,react框架会自动根据新的状态重新构建ui。","快应用","快应用是华为、小米、oppo、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用javascript语言开发,原生控件渲染,与react","快应用自身不支持vue或react语法,其采用原生javascript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用vue语法开发(mpvue),从原理上来讲,vue的语法也可以移植到快应用上。","思考题:diff操作和dom批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适?","性能","性能高;由于自绘引擎是直接调用系统api来绘制ui,所以性能和原生控件接近。","总结","总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。","技术支持;现在google正在大力推广flutter,flutter的作者中很多人都是来自chromium团队,并且github上活跃度很高。另一个角度,从今年上半年flutter频繁的版本发布也可以看出google对flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。","技术类型","排行榜前","文档对象模型(document","映射为原生控件树。","是javascript与原生应用之间通信的桥梁,作用和jsbridge一样,事实上,在ios中,很多jsbridge的实现都是基于","是react","是一个javascript解释器,它在react","是使用","是必选的,它不支持通过其它方式创建组件,所以学习","更新到了","本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:","本章总结","本篇主要介绍一下","框架代表","此处需要有一张插图","混合应用的优点是动态内容是h5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。","混合开发技术点","渲染时需要javascript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。","灵活、组件库易维护、ui外观保真度和一致性高;由于ui渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。","然后暴露给webview以供javascript调用,这样一来,webview就成为了javascript与原生api之间通信的桥梁,主要负责javascript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于webview的用于在javascript与原生之间通信并实现了某种消息传输协议的工具称之为webview","版本。","现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列api供javascript调用,让javascript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。","现在,我们来和qt","生态系统得以快速增长,由此可见,flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!","生态;从github上来看,目前flutter活跃用户正在高速增长。从stackoverflow上提问来看,flutter社区现在已经很庞大。flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在stackoverflow或其github","由于rn和react原理相通,并且flutter也是受react启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下react原理。react是一个响应式的web框架,我们先了解一下两个重要的概念:dom树与响应式编程。","由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生ui系统限制,例如,在android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。","的","的必要基础。而react","目前混合开发框架的典型代表有:cordova、ion","相对于混合应用,由于react","示例:javascript调用原生api获取手机型号","移动开发技术简介","第一:qt移动开发社区太小,学习资料不足,生态不好。","第三:移动端发力较晚,市场已被其它动态化框架占领(hybrid和rn)。","第二:官方推广不利,支持不够。","第四:在移动开发中,c++开发和web开发栈相比有着先天的劣势,直接结果就是qt开发效率太低。","简称","而rn中将虚拟dom映射为原生控件的过程中分两步:","而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对dom进行操作,这会带来性能问题,而批量操作只会触发一次dom更新。","自绘ui+原生","自绘ui+原生(qt","至此,react","观其发展,在2018年5月份,flutter","语法是基于","语法而创造。与","调用系统api渲染","跨平台技术简介","这类框架主要原理就是将app的一部分需要动态变动的内容通过h5来实现,通过原生的网页加载控件webview","进入了","进入了正式版(1.0)发布前的最后阶段。","速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;","采用web开发技术栈,社区庞大、上手快、开发成本相对较低。","针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指android和ios两个平台),根据其原理,主要分为三类:","首先在原生中实现获取手机型号的api","首次推出了一款新的用于创建跨平台、高性能的移动应用框架——flutter。","高","默认不支持","(react",",如果一个应用的大多数功能都是h5实现的话,我们称其为web",",采用混合模式开发的app我们称之为混合应用或hybrid"],"chapter1/flutter_intro.html":["android平台。","aot模式运行时,javascript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,flutter使用自己的渲染引擎来绘制ui,布局数据等由dart语言直接控制,所以在布局过程中不需要像rn那样要在javascript和native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以javascript需要和native之间不停的同步布局信息,这和在浏览器中要javascript频繁操作dom所带来的问题是相同的,都会带来比较可观的性能开销。","aot,当以","app的android安装包比ios安装包小的主要原因。","app采用dart语言开发。dart在","app,一套代码同时运行在","c++实现的","chrome浏览器和android均采用skia作为其绘图引擎,值得一提的是,由于android系统已经内置了skia,所以flutter在打包apk(android应用安装包)时,不需要再将skia打入apk中,但ios系统并未内置skia,所以构建ipa时,也必须将skia一起打包,这也是为什么flutt","dart:ui库时,调用最终会走到engine层,然后实现真正的绘制逻辑。","dart团队就在你身边","dart实现的","dart支持","dart而不是","dart语言开发","dart运行时和编译器支持flutter的两个关键特性的组合:","engin","flutter","flutter与用于构建移动应用程序的其它大多数框架不同,因为flutter既不使用webview,也不使用操作系统的原生控件。","flutter中文网社区:flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。","flutter使用skia作为其2d渲染引擎,skia是google的一个2d图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,skia是跨平台的,并提供了非常友好的api,目前googl","flutter在发布时可以通过aot生成高效的arm代码以保证应用性能。而javascript则不具有这个能力。","flutter提供了丰富的组件、接口,开发者可以很快地为","flutter旨在提供流畅、高保真的的ui体验。为了实现这一点,flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而dart支持aot,在这一点上可以做的比javascript更好。","flutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,flutter将无法有效地工作。当然chrom","flutter框架本身有着良好的分层设计,本节旨在让读者对flutter整体框架有个大概的印象,相信到现在为止,读者已经对flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下flutter的开发语言dart。","flutter框架结构","flutter添加","flutter简介","flutter还使用","flutter高性能主要靠两点来保证,首先,flutt","framework","gallery源码:gallery是flutter官方示例app,里面有丰富的示例,读者可以在网上下载安装。gallery的源码在flutter源码“examples”目录下。","github:如果遇到的问题在stackoverflow上也没有找到答案,可以去github","google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过","io","javascript之前我们先来介绍两个概念:jit和aot。","javascript基本持平。但是","jit(即时编译)模式下,速度与","materi","native引擎渲染视图,这无疑能为用户提供良好的体验。","native扩展。同时","rendering层,这一层是一个抽象的布局层,它依赖于dart","sdk的源码是开源的,并且注释非常详细,也有很多示例,实际上,flutter官方的sdk文档就是通过注释生成的。源码结合注释可以帮你解决大多数问题。","sdk,其中包括了","sdk,它实现了一套基础库,自底向上,我们来简单介绍一下:","skia引擎、dart运行时、文字排版引擎等。在代码调用","stackoverflow:如果你还没听过stackoverflow,这是目前全球最大的程序员问答社区,现在也是活跃度最高的flutter问答社区。stackoverflow上面除了世界各地的flutter使用者会在上面交流之外,flutter开发团队的成员也经常会在上面回答问题。","time)即","time)即“即时编译”。aot程序的典型代表是用c/c++开发的应用,它们必须在执行前编译成机器码,而jit的代表则非常多,如javascript、python等,事实上,所有脚本语言都支持jit模式。但需要注意的是jit和aot指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以jit方式运行也可以以aot方式运行,如java、python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为aot的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于aot。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。","ui层,rendering层会构建一个ui树,当ui树有变化时,会计算出有变化的部分,然后更新ui树,最终将ui树绘制到屏幕上,这个过程类似于react中的虚拟dom。rendering层可以说是flutt","ui层,对应的是flutter中的dart:ui包,它是flutter引擎暴露的底层ui库,提供动画、手势及绘制能力。","ui框架最核心的部分,它除了确定每个ui元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。","v8的javascript引擎在内存分配上也已经做的很好,事实上dart开发团队的很多成员都是来自chrome团队的,所以在内存分配上dart并不能作为超越javascript的优势,而对于flutter来说,它需要这样的特性,而dart也正好满足而已。","vm之前已经针对吞吐量进行了优化,但团队现在正在优化vm的延迟时间,这对于flutter的工作负载更为重要。”","widgets层是flutter提供的的一套基础组件库,在基础组件库之上,flutter还提供了","“提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为jit(just","初识flutter","和","和cupertino两种视觉风格的组件库。而我们flutter开发的大多数场景,只是和这两层打交道。","基于aot的发布包:","基于jit的快速开发周期:flutter在开发阶段采用,采用jit模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;","如何学习flutter","官网:阅读flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新flutter发展动态的地方,由于目前flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。","底下两层(foundation和animation、painting、gestures)在google的一些视频中被合并为一个dart","开发效率高","快速内存分配","总结","掘金:掘金的flutter主页目前也收集了不少的博客文章,读者可以自行浏览。","是","有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入flutter的世界!","本节主要介绍了一下flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对flutter细节的了解,再回过头来看,相信你会有更深的体会。","本节我们先对flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下flutter官方提供的一张框架图:","本节给大家一些学习建议,分享一下笔者在学习flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。","源码及注释:源码注释应作为学习flutter的第一文档,flutt","现在我们看看flutter为什么选择dart语言?笔者根据官方解释以及自己对flutter的理解总结了以下几条(由于其它跨平台框架都将javascript作为其开发语言,所以主要将dart和javascript做一个对比):","由于dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,javascript是一个弱类型语言,也因此前端社区出现了很多给javascript代码添加静态类型检测的扩展语言和工具,如:微软的typescript以及facebook的flow。相比之下,dart本身就支持静态类型,这是它的一个重要优势。","目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为aot","相反,flutter使用自己的高性能渲染引擎来绘制widget。这样不仅可以保证在android和ios上ui的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。","看似不起眼,实则举足轻重。由于有dart团队的积极投入,flutter团队可以获得更多、更方便的支持,正如flutter官网所述“我们正与dart社区进行密切合作,以改进dart在flutter中的使用。例如,当我们最初采用dart时,该语言并没有提供生成原生二进制文件的工具链(这对于实现可预测的高性能具有很大的帮助),但是现在它实现了,因为dart团队专门为flutter构建了它。同样,dart","社区","类型安全","资源","跨平台自绘引擎","这是一个很有意思,但也很有争议的问题,在了解flutter为什么选择了","这是一个纯","采用dart语言开发","项目下提issue。","高性能","(ahead"],"chapter1/install_flutter.html":["$home/.bash_profil","$home/.bash_profile。文件路径和文件名可能在你的电脑上不同.","$path","'you","(64","(`cmd","(cmd","(git命令行工具);","(macos:preferences>plugins,","(不包括android","(不包括xcode或android","(如","(如myapp),","(带有闪电⚡️图标的按钮)。","(绿色圆形箭头按钮)。","(输入代码时进行验证、代码补全等)。","(运行、调试、热重载等)。","*","**save**","**热重载按钮**",".","/","/applications/xcode.app/contents/develop","1.","16)或更高版本的android设备.","2.","2.0","3.","4.","4.1(api","400","5.0","5s或更高版本)。","7","700","9.0或更新版本(通过链接下载或苹果应用商店).","9.0或更高版本:",";",">","[","]","`'you","`ctrl","action","action。","adb","android","android_hom","android设置","applic","archive/#maco","archive/#window","avds.","bash、mkdir、rm、git、curl、unzip、which","beta","beta.zip","bit)","brew","brows","built","bundl","button","cd","channel","channels:","channel查看所有分支,如笔者本地运行后,结果如下:","click","cocoapod","code","code。","code之一以获得更好的开发体验。flutter官方提供了这两款编辑器插件,通过ide和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下android","code是一个轻量级编辑器,支持flutter运行和调试。","code的配置与使用","code的配置及使用(android","code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。","command","creat","ctrl","d:\\android\\sdk","dart插件:","deploy","detail","dev","develop","devic","device.","doctor","doctor’","doctor命令","doctor命令来验证是否安装成功。","doctor并按照说明解决问题.","doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutt","download","echo","export","extens","extensions:","file>new","files\\)。","finish。","flutter","flutter\\bin","flutter\\bin的全路径,使用","flutter_storage_base_url=https://storage.flutt","flutter依赖于android","flutter插件:","gener","get获取项目所有的依赖包。","git","github项目下去下载安装包,地址:https://github.com/flutter/flutter/releas","gle","hardwar","head","homebrew","https://flutter.io/setup/#android","https://goo.gl/xxqghq","idea。","idea开发的,所以读者也可以使用intellij","ident","identifi","ideviceinstal","ide配置与使用","id登录xcode。","id都支持开发和测试,但若想将应用分发到app","imag","instal","install。","instructions.","io","io.cn","ios/runner.xcworkspac","level","lib/main.dart。","libimobiledevic","license同意过了.","line","maco","manag","manager”中,点击工具栏的","mani","master","master,flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。","mb","miss","myapp),然后点击","new","next.","next。","open","packag","palette…","palette…。","path","path=[flutter_install_path]/flutter/bin:$path","path=`pwd`/flutter/bin:$path","path=~/code/flutter_dir/flutter/bin:$path","performance”下,","platform","pod","powershel","project","project’","pub_hosted_url=https://pub.flutt","push","re","reload)","repositories…,选择","run","run。","run。模拟器启动并显示所选操作系统版本或设备的启动画面。","run启动flutter应用程序。","run图标。","s","s),","s`","s`),或者点击","save","scale","sdk","sdk,","sdk、android","sdk分支","sdk和io","sdk和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括flutt","sdk和依赖包","sdk已经在打包在flutter","sdk平台工具和android","sdk有多个分支,如beta、dev、master,其中beta分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装flutter后,你可以运行flutt","sdk构建工具,这些是用flutter进行android开发所需要的。","sdk版本是基于你的","sdk的安装,然后再介绍一下配ide和模拟器的使用。","sdk的目录记为“flutter_install_path”,您将在步骤3中用到。","sdk的路径(如:c:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如c:\\program","sdk里了,没有必要单独安装dart。","sdk),可以使用如下命令:","sdk,则必须将该","sdk,只需一句命令:","sdk,在安装flutter时也需要安装相应平台的构建工具和sdk。下面我们分别介绍一下windows和macos下的环境搭建。","select","selector","setup","sign","simul","sourc","spotlight","store,就必须注册apple开发者计划,有关详情读者可以自行了解。","studio","studio>tools>android>avd","studio。","studio不仅可以管理android","studio创建一个flutter项目,然后运行它,并体验“热重载”。","studio后插件生效。","studio和v","studio安装sdk并创建项目。","studio安装向导”。这将安装最新的android","studio工具栏:","studio是基于intellij","studio的全量安装。android","studio的磁盘空间).","studio的磁盘空间).","studio,下载地址:https://developer.android.com/studio/index.html","studio,在此不再赘述。","studio,然后执行“android","studio,读者可以先自行下载并安装android","sudo","switch","target","target设置页面中,确保在","team","times:'","times:'`","times:'。","toolchain","tools;","tools>android>avd","tri","trust。","unzip","updat","upgrad","usb调试","view>command","virtual","visit","vs","window","window>","windows,请确保可以在命令提示符或powershell中运行","windows:file>settings>plugins)。","window下只支持为android设备构建并运行flutter应用,而macos同时支持ios和android设备。下面分别介绍如何连接android和ios设备来运行flutter应用。","workspace.","x86","x86_64","x86。","xcode","xcodebuild","~/.bash_profil","~/develop","~/downloads/flutter_macos_v0.5.1","‘doctor’,","‘flutter:","‘flutter’,","‘install’,","‘ok’","“emul","“控制面板>用户帐户>用户帐户>更改我的环境变量”","•","✗","。","。详细说明可在android文档中找到。","上述命令创建一个flutter项目,项目名为myapp,其中包含一个使用materi","下载并安装","下选择了你的开发团队。当你选择一个团队时,xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。","不要按“停止”按钮;","不过,flutter官方建议使用android","中,","为要模拟的android版本选择一个或多个系统印象,然后选择","仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。","以启用","以获得有关镜像服务器的最新动态。","任何appl","体验热重载","作为","作为分隔符.","你会立即在运行的应用程序中看到更新的字符串。","使用usb将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。","使用xcode,您可以在ios设备或模拟器上运行flutter应用程序。","使用镜像","例如笔者flutter","例如:","依赖下面这些命令行工具.","值是否唯一.","创建flutter应用","刷新当前终端窗口。","升级","升级flutter","去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk","可以通过","名称","启动","启动android","启动您的设备。","命令","命令以验证flutter识别您连接的android设备。","和","和window一样,要在android设备上构建并运行flutter程序都需要先安装android","在","在android设备上启用","在flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们:","在flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在flutter命令行运行flutter命令了。","在macos上搭建flutter开发环境","在masos下可以同时进行android和ios设备的测试。","在runner","在windows上搭建flutter开发环境","在xcode中,选择导航面板左侧中的runner项目。","在“android","在“用户变量”下检查是否有名为“path”的条目:","在你flutter项目目录中通过","在你的mac上,通过","在命令行运行","在工具栏中点击","在搜索框输入","在项目目录中,您应用程序的代码位于","如果xcode中的自动签名失败,请验证项目的","如果一切正常,","如果你使用终端是zsh,终端启动时","如果你想在windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户path:","如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。","如果已安装git","如果想让flutter使用不同版本的android","如果该条目不存在,创建一个新用户变量","如果该条目存在,","如果这些命令中的任何一个失败并出现错误,请运行brew","安装","安装android","安装flutter","安装flutter和dart插件","安装flutter插件","安装xcode","安装步骤:","安装目录是“~/code/flutter_dir”,那么代码为:","安装遇到问题?","定位到android","实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉ide或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。","对于大多数情况,当您想要使用最新版本的xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。","对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如","将flutter添加到path中,可以在任何终端会话中运行flutter命令。","将不会被加载,解决办法就是修改","将字符串","将安装包zip解压到你想安装flutt","工具:","工具版本。","工欲善其事必先利其器,本节首先会分别介绍一下在windows和macos下flutt","带\"*\"号的分支即你本地的flutter","常规>设备管理","平台依赖、sdk版本等,而且它也是flutter开发推荐的ide之一(当然,你也可以使用其它编辑器或ide,我们将会在后面讨论)。","并信任您的证书。","并在那里创建一个。","并选择","建议使用","开发人员选项","当您第一次attach真机设备进行ios开发时,需要同时信任你的mac和该设备上的开发证书。首次将ios设备连接到mac时,请在对话框中选择","您应该在您的设备或模拟器上会看到启动的应用程序:","或","或以下命令找到模拟器:","或更新的版本","或更高版本","或者点击","打开(或创建)","打开`lib/main.dart`文件","打开lib/main.dart文件。","打开插件首选项","打开终端并运行如下这些命令:","打开默认的xcode","指定放置项目的位置,然后按蓝色的确定按钮","接下来,让我们用android","提供代码分析","插件并点击","搭建flutter开发环境","操作系统:","支持flutter开发工作流","是芯片系列,如","更改为","更新环境变量","有关上述步骤的详细信息,请参阅","查看“output”窗口中的输出是否有问题","根据你电脑屏幕大小,模拟高清屏ios设备可能会溢出屏幕。可以在模拟器的","此代码只能暂时针对当前命令行窗口设置path环境变量,要想永久将flutter添加到path中请参考下面更新环境变量","此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china","注意:","注意,flutter的渠道版本会不停变动,请以flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去flutt","注意:","添加flutter相关工具到path中:","添加以下路径:","点击","热重载按钮","热重载(hot","然后按回车键","然后点击","然后选择","然后,转到ios设备上的设置菜单,选择","环境变量设置为相应的sdk安装目录。","理论上可以使用任何文本编辑器与命令行工具来构建flutter应用程序。","由于android","由于flutter会同时构建android和ios两个平台的发布包,所以flutter同时依赖android","由于在国内访问flutter有时可能会受到限制,flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:","的全路径作为它的值.","硬件加速.","确保xcode许可协议是通过打开一次xcode或通过命令sudo","确定您flutter","磁盘空间:","第一次运行flutter命令(如flutt","等待android","等待项目创建继续,并显示main.dart文件","类型,","系统要求","组件的简单演示应用程序。","获取flutter","获取项目所有依赖包的最新版本。","菜单下设置设备比例。","菜单中的设置,确保模拟器正在使用64位设备(iphon","要为ios开发flutter应用程序,您需要xcod","要准备在android模拟器上运行并测试flutter应用,请按照以下步骤操作:","要准备在android设备上运行并测试flutter应用,需要android","要准备在ios模拟器上运行并测试flutter应用,请按以下步骤操作:","要升级flutter","要安装并运行flutter,您的开发环境必须满足以下最低要求:","要将flutter应用安装到ios真机设备,需要一些额外的工具和一个apple帐户,还需要在xcode中进行一些设置。","要开始您的第一个ios开发项目,您可能需要使用您的appl","要查更改,请调用","要查看您的更改,请调用","解压安装包到你想安装的目录,如:","让您的应用继续运行.","让您的应用继续运行。","该命令会同时更新flutter","该命令检查你的环境并在命令行窗口中显示报告。dart","调用","跟踪的分支,要切换分支,可以使用flutter","转到","输入","输入项目名称","运行","运行启动你应用程序","运行应用程序","这一步和windows下步骤一致,不再赘述。","连接android模拟器","连接android真机设备","连接ios模拟器","连接ios真机设备","连接的设备名是","连接设备运行flutter应用","追加","选择","选择一个设备并选择","选择一个运行该应用的android设备。如果没有列出可用,请选择","通过检查模拟器","遵循xcode签名流程来配置您的项目:","部分。","配置xcode命令行工具以使用新安装的xcode版本","配置与使用","重启android","重启windows以应用此更改.","重新启动","需要安装两个插件:","验证avd配置是否正确,然后选择","验证“flutter/bin”是否已在path中:","验证配置","默认情况下,flutter使用的android","(如果已经安装了brew,跳过此步骤)。",",其中",",在其中添加:sourc",",在搜索结果列表中选择",",然后将","~/.bash_profil","~/.zshrc"],"chapter1/configuration.html":["&","'http://maven.aliyun.com/nexus/content/groups/public/'","**","203.208.41.32","3.2.0.pom",">","allproject","android","appear","behavior","build,","build.gradl","c:\\users\\{user_name}\\.gradle\\gradle.properti","c:\\windows\\system32\\drivers\\etc\\","deployment/","dl.google.com","embed","enabl","execution,","file","file/","google()","gradl","gradle/","head","host","jcenter()","maven","maven.aliyun.com","repositori","sdk","set","settings/","site","studio","studio问题","system","updat","url","{","}","一般格式为","上手安卓最常遇见的问题之一,错误如下图所示,此时点击超链接即可自动跳转到安装页面","中,勾选上","列表,可以看到此时的","即可解决","即可解决。","如:android","安卓包配置问题","安装之后重新运行即可。","常见配置问题","库造成的,解决方法如下:","打开","找到下面这一部分,并加上","文件","无法连接。","是否有设置代理。删除后问题即可解决。","注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于","添加","的报错信息,请检查","缺少依赖库问题","解决方法如下:","这一类问题是由于无法连接到","这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入","进入","进入当前所在项目名/android","连接不上android",",重启"],"chapter1/dart.html":["!=","\"","\"hello","\"hello\";","\"hi","$device';","$msg';","'$from","'$result","'howdy');","'howdy',","'smoke","()","(){","(17666):","(devic","(e)","(e){","(str){","...","//","//const","//final","//return","//下面代码没有问题","//不指定返回类型,此时默认为dynamic,不是bool","//保存用户信息,接下来执行其它操作","//先分别定义各个异步任务","//可以省略string这个类型声明","//执行失败会走到这里","//执行成功会走到这里","//执行接下来的操作","//报错,isnoble不是bool类型","//无论成功或失败都会走到这里","//用户登录","//登录成功后通过,id获取用户信息","//结果是:","//结果是:bob","//获取用户信息","//获取用户信息后保存","//设置[bold]和[hidden]标志","//错误处理","1","1\";","1),","1秒后返回结果","2),","2),(){","2.0已经正式发布,所以本书所有示例均采用dart","2.0语法。","2秒后返回结果","3","3\";","3),","3秒后返回结果","4),","4秒后返回结果","7.0语法中就已经存在了,因此我们可以看到google对dart语言给予厚望,是想把dart打造成一门集百家之所长的编程语言。",";","=","[","[string","]","]).listen((data){","]).then((results){","_noblegas","_noblegases[atomicnumber]","assertionerror(\"error\");","async","async/await","async和await关键词支持了异步编程,运行您写出和同步代码很像的异步代码。","async用来表示函数是异步的,定义的函数会返回一个future对象,可以使用then方法添加回调函数。","atomicnumb","atomicnumber)","await","bob","bold,","bool","callback();","callback){","catch(e){","catcherror回调函数将被调用;但是,并不是只有","catcherror回调才能捕获错误,then方法还有一个可选参数onerror,我们也可以它来捕获异常:","cb){","const","const,不是var,也不是一个类型。","c和swift中早就很普遍,而??操作符在php","dart","dart中的async/await","dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:","dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。","dart类库有非常多的返回future或者stream对象的函数。","dart语言简介","device])","duration(seconds:","dynam","dynamic和object","enableflags(bold:","enableflags({bool","error","execute(()=>print(\"xxx\"))","execute(var","false);","final","final和const","from,","futur","future.catcherror","future.delayed(new","future.then","future.wait","future.wait([","future.whencomplet","future与javascript中的promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个future只会对应一个结果,要么成功,要么失败。","getuserinfo(id).then((userinfo){","getuserinfo(id);","getuserinfo(str","hell","hell)","hello","hell)。回调地狱问题在之前javascript中非常突出,也是javascript被吐槽最多的点,但随着ecmascript6和ecmascript7标准发布后,这个问题得到了非常好的解决,而解决回调地狱的两大神器正是ecmascript6引入了promise,以及ecmascript7中引入的async/await。","hidden:","hidden})","howdi","i/flutt","id","id){","io操作。而不是等到这个操作完成。","isnobl","isnoble(int","java","javascript","javascript的弱类型一直被抓短,所以typescript、coffeescript甚至是facebook的flow(虽然并不能算javascript的一个超集,但也通过标注和打包工具提供了静态类型检查)才有市场。就笔者使用过的脚本语言中(笔者曾使用过python、php),javascript无疑是动态化支持最好的脚本语言,比如在javascript中,可以给任何对象在任何时候动态扩展属性,对于精通javascript的高手来说,这无疑是一把利剑。但是,任何事物都有两面性,javascript的强大的动态化特性也是把双刃剑,你可经常听到另一个声音,认为javascript的这种动态性糟糕透了,太过灵活反而导致代码很难预期,无法限制不被期望的修改。毕竟有些人总是对自己或别人写的代码不放心,他们希望能够让代码变得可控,并期望有一套静态类型检查系统来帮助自己减少错误。正因如此,在flutter中,dart几乎放弃了脚本语言动态化的特性,如不支持反射、也不支持动态创建函数等。并且dart在2.0强制开启了类型检查(strong","login(\"alice\",\"******\").then((id){","login(\"alice\",\"******\");","login(str","mode)和可选类型(opt","mode),原先的检查模式(check","msg,","null","null)","null;","object","onerror:","param2,","print(\"success\");","print(cb());","print(data);","print(e);","print(e.message);","print(results[0]+results[1]);","print(str);","pwd){","result","result;","return","saveuserinfo(str","saveuserinfo(userinfo).then((){","saveuserinfo(userinfo);","say(\"hi","say('bob',","say(str","say=","signal","signal');","smoke","str","str1","stream","stream.fromfutures([","string","t;","t=\"hi","t=1000;","task()","test(callback","test(isnoble);","throw","tour,就开始动手写flutter了。","true,","try{","typedef","type)将淡出,所以在类型安全这个层面来说,dart和typescript、coffeescript是差不多的,所以单从这一点来看,dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、app开发、web开发,这就有优势了!","userinfo","userinfo){","username,","valu","var","var功能相似,都会在赋值时自动进行类型推断,不同在于,赋值后可以改变其类型,如:","vm在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要dart语言能流行,vm的性能就不用担心,毕竟google在go(没用vm但有gc)、javascript(v8)、dalvik(android上的java","vm)上已经有了很多技术积淀。值得注意的是dart在flutter中已经可以将gc做到10ms以内,所以dart和java相比,决胜因素并不会是在性能方面。而在语法层面,dart要比java更有表现力,最重要的是dart对函数式编程支持要远强于java(目前只停留在lamda表达式),而dart目前真正的不足是生态,但笔者相信,随着flutter的逐渐火热,会回过头来反推dart生态加速发展,对于dart来说,现在需要的是时间。","void","vs","world!\";","world!\",然后我们在then中接收异步结果并打印结果,代码如下:","world\");","world\";","world”。","{","}","})","}),","}).catcherror((e){","}).then((data)","}).then((data){","}).then((e){","}).then((userinfo){","}).whencomplete((){","});","},","},ondone:","};","“futur","…},用于指定命名参数。例如:","一个","上面的代码依次会输出:","上面的代码在javascript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为dart本身是一个强类型语言,任何变量都是有确定类型的,在dart中,当用var声明一个变量后,dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而javascript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。","下面代码在dart中会报错,因为变量t的类型已经确定为string,","下面是一个不带可选参数调用这个函数的例子:","下面是用第三个参数调用这个函数的例子:","不同的是,它可以接收多个异步操作的结果(成功或失败)。","与","为了方便示例,在本例中我们使用future.delay","之所以将dart与java和javascript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且dart","也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。","也是用于接收异步事件数据,和futur","代码很简单,就不赘述了。","使用async/await消除callback","使用future消除callback","保存用户信息","其实,无论是在javascript还是dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个promise(future)的调用链。","函数","函数作为参数传递","函数作为变量","函数内部。","函数声明","创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi","包装一组函数参数,用[]标记为可选的位置参数:","变量只能被设置一次,两者区别在于:const","变量声明","变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:","可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(callback","可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。","可选命名参数在flutter中使用非常多。","可选的位置参数","可选的命名参数","后面是一个future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在","和javascript中的async/await功能和用法是一模一样的,如果你已经了解javascript中的async/await的用法,可以直接跳过本节。","回调地狱(callback","在之前我们已经介绍过dart语言的相关特性,读者可以翻看一下,如果你熟悉dart语法,可以跳过本节,如果你还不了解dart,不用担心,按照笔者经验,如果你有过其他编程语言经验,尤其是java和javascript的话,所以,如果你是前端或android开发者,那么将会非常容易上手dart。当然,如果你是ios开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习dart时,只是花了一个小时,看完dart官网的languag","在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是","在笔者看来,dart的设计目标应该是既对标java,也对标javascript,dart在静态语法方面和java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和javascript很像,如函数式特性、异步支持等。除了融合java和javascript语言之所长之外,dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在dart中其实看到的不仅有java和javascript的影子,它还具有其它编程语言中的身影,如命名参数在object","如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户id,然后通过用户id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下:","如果异步任务发生错误,我们可以在catcherror中捕获错误,我们将上面示例改为:","如果您从未打算更改一个变量,那么使用","定义函数时,使用{param1,","客观的来讲,dart在语法层面确实比java更有表现力;在vm层面,dart","对于只包含一个表达式的函数,可以使用简写语法","常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子:","异步支持","思考题:既然stream可以接收多次事件,那能不能用stream来实现一个订阅者模式的事件总线?","总结","或","执行上面代码,4秒后你会在控制台中看到“hello","抛出一个异常","接下来,我们先对dart语法做一个简单的介绍,然后再将dart与javascript和java做一个简要的对比,方便读者更好的理解。","接下来,执行整个任务流:","是dart所有对象的根基类,也就是说所有类型都是object的子类,所以任何类型的数据都可以赋值给object声明的对象,所以表现效果和dynamic相似。","有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用future的whencomplete回调,我们将上面示例改一下:","有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到ui界面上,应该怎么做?答案是future.wait,它接受一个future数组参数,只有数组中所有future都执行成功后,才会触发then的成功回调,只要有一个future执行失败,就会触发错误回调。下面,我们通过模拟future.delay","来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下:","正如上文所述,","注意:由于本书并非专门介绍dart语言的书籍,所以本章主要会介绍一下在flutter开发中常用的语法特性,如果想更多了解dart,读者可以去dart官网学习,现在互联网上dart相关资料已经很多了。另外dart","由于本身功能较多,这里我们只介绍其常用的api及特性。还有,请记住,futur","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用”","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用。","类似于javascript中的var,它可以接收任何类型的变量,但最大的不同是dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如:","类型一旦确定后则不能再更改其类型。","综上所述,笔者还是很看好dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。","而在dart中几乎是完全平移了javascript中的这两者:future相当于promise,而async/await连名字都没改。接下来我们看看通过future和async/await如何消除上面示例中的嵌套问题。","语法中很多地方也都借鉴了java和javascript。","调用函数时,可以使用指定命名参数。例如:paramname:","这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像","通过future回调中再返回future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:","通过上面介绍,相信你对dart应该有了一个初步的印象,由于笔者平时也使用java和javascript,下面笔者根据自己的经验,结合java和javascript,谈一下自己的看法。","!=","(int",")=>",",如果在then中返回的是一个future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。"],"chapter2/":["app","dart线程模型及异常捕获","包管理","实现一个计数器","本章将通过一些简单的示例来一步步介绍flutter的开发流程.","本章目录","第一个flutter应用","简介","调试flutter","资源管理","路由管理"],"chapter2/first_flutter_app.html":["'$_counter',","'flutter","'increment',","'package:flutter/material.dart';","'you","),",");","...","//","//state.count","//应用名称","//应用首页路由","//所以animatedwidget必须通过某种方式将其状态对象_animatedwidgetst","//暴露给其子类","//由于子类要用到animatedwidget的状态对象_animatedwidgetstate,","//蓝色主题","0;",":","=","=>","@overrid","[","],","_animatedwidgetstate)","_counter","_counter++;","_incrementcounter()","_incrementcounter,","_myhomepagest","_myhomepagestate();","_myhomepagestate类是myhomepage类对应的状态类。看到这里,细心的读者可能已经发现,和myapp","animatedwidget{","animatedwidget的状态对象是animatedwidget内部实现细节,不应该暴露给外部。","appbar(","appbar:","app框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。materialapp也是一个widget。","auto","body:","body的widget树中包含了一个cent","build","build(buildcontext","button","center","center(","child:","children:","class","code创建的flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器demo的源码,让读者对flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍flutter应用的其它概念与技术。对于接下来的示例,希望读者可以跟着笔者实际动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉dart或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。","code根据前面“编辑器配置与使用”一章中介绍的创建flutter工程的方法创建一个新的flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的demo。","colors.blue,","column(","comma","context)","context),继承自animatedwidget的动画widget都要实现这个build方法。现在设想一下,如果statefulwidget","context,","createstate()","demo","demo',","extend","final","floatingactionbutton(","floatingactionbutton:","floatingactionbutton是页面右下角的带“➕”的悬浮按钮,它的onpressed属性接受一个回调函数,代表它本点击后的处理器,本例中直接将_incrementcounter作为其处理函数。","flutter","flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建ui界面(通常是通过组合、拼装其它基础widget)。","flutter默认提供了一套丰富的material风格的ui组件。","format","home","home:","icon(icons.add),","import","int","key);","key,","lib/main.dart","main()","mainaxisalignment.center,","mainaxisalignment:","main函数使用了(=>)符号,这是dart中单行函数或方法的简写。","make","mani","materialapp","materialapp(","material库中提供的一个widget,","methods.","myanimationwidget","myapp","myapp());","myapp类代表flutter应用,它继承了","myhomepag","myhomepage(title:","myhomepage({key","myhomepage类中并没有build方法,取而代之的是,build方法被挪到了_myhomepagestate方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。","new","nicer","onpressed:","page'),","primaryswatch:","push","return","runapp(new","scaffold","scaffold(","setstate(()","state","state){","statefulwidget","statefulwidget类本身是不变的,但是","statelesswidget","statelesswidget类,这也就意味着应用本身也是一个widget。","state类中持有的状态在widget生命周期中可能会发生变化。","state类;","string","studio和v","style:","super(key:","super.build(context,","text(","text(widget.title),","text子widget,第一个text","theme.of(context).texttheme.display1,","theme:","themedata(","this.title})","times:',","times:”,第二个text","title:","title;","tooltip:","trail","ui组件库。material是一种标准的移动端和web端的视觉设计语言,","void","widget","widget可以拥有状态,这些状态在widget生命周期中是可以变的,而stateless","widget是不可变的。","widget显示_counter状态的数值。","widget显示固定文本","widget有两点不同:","widget至少由两个类组成:","widget)。现在,我们可以简单认为st","widget,cent","widget,column的作用是将其所有子widget沿屏幕垂直方向依次排列,","{","}","});","“you","一个","一个statefulwidget类。","与c/c++、java类似,flutt","为flutter应用的首页,它也是一个widget。","为什么要将build方法放在state中,而不是放在statefulwidget中?","为保存屏幕右下角带“➕”号按钮点击次数的状态。","例如,flutter中有一个动画widget的基类animatedwidget,它继承自statefulwidget类。animatedwidget中引入了一个抽象方法build(buildcontext","分析","可以将其子widget树对齐到屏幕中心,","和stateless","在flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)。","在这个示例中,主要dart代码是在","如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。","子widget是一个column","它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。","对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。","导入包。","应用中main函数为应用程序的入口,main函数中调用了,runapp","应用入口。","应用结构。","当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setst","我们先运行此示例,效果图如下:","接下来,我们看看_myhomepagestate中都包含哪些东西:","文件中,下面我们看看该示例的源码:","方法。setstate方法的作用是通知flutter框架,有状态发生了改变,flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面,","方法,它的功能是启动flutter应用,它接受一个widget参数,在本示例中它是myapp类的一个实例,该参数代表flutter应用。","是","是material库中提供的flutt","是material库中提供的页面脚手架,它包含导航栏和body以及floatingactionbutton(如果需要的话)。","是应用的首页,它继承自statefulwidget类,表示它是一个有状态的widget(st","有很多状态,而每次状态改变都要调用build方法,由于状态是保存在state中的,如果将build方法放在statefulwidget中,那么构建时读取状态将会很不方便,试想一下,如果真的将build方法放在statefulwidget中的话,由于构建用户界面过程需要依赖state,所以build方法将必须加一个state参数,大概是下面这样:","本书后面示例中,路由默认都是通过scaffold创建。","构建ui界面","构建ui界面的逻辑在build方法中,当myhomepage第一次创建时,_myhomepagestate类会被创建,当初始化完成后,flutter框架会调用widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_myhomepagestate的build方法中都干了什么事:","此例中column包含两个","此行代码作用是导入了materi","注意,默认demo示例可能随着编辑器flutter插件版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。","状态。","状态访问不便","现在,我们回答之前提出的问题,为什么build()方法在state(而不是statefulwidget)中","现在,我们将整个流程串起来:当右下角的floatingactionbutton按钮被点击之后,会调用_incrementcounter,在_incrementcounter中,首先会自增_counter计数器(状态),然后setstate会通知flutter框架状态发生变化,接着,flutter会调用build方法以新的状态重新构建ui,最终显示在设备屏幕上。","用android","类不同,","类中已经有了一个build方法,正如上面所述,此时build方法需要接收一个state对象,这就意味着animatedwidget必须将自己的state对象(记为_animatedwidgetstate)提供给其子类,因为子类需要在其build方法中调用父类的build方法,代码可能如下:","继承statefulwidget不便","综上所述,可以发现,对于statefulwidget,将build方法放在state中,可以给开发带来很大的灵活性。","计数器应用示例","计数器示例","设置状态的自增函数。","试想一下,如果我们的state","该计数器示例中,每点击一次右下角带“➕”号的悬浮按钮,屏幕中央的数字就会加1。","这样很显然是不合理的,因为","这样的话就只能将state的所有状态声明为公开的状态,这样才能在state类外部访问状态,但将状态设置为公开后,状态将不再具有私密性,这样依赖,对状态的修改将会变的不可控。将build()方法放在state中的话,构建过程则可以直接访问状态,这样会很方便。","通过android","首页","?这主要是为了开发的灵活性。如果将build()方法在statefulwidget中则会有两个问题:"],"chapter2/flutter_router.html":["\"new_page\");","\"new_page\":(context)=>newroute(),","\"tip_widgets\":(context)=>echoroute(\"内容固定\")","'flutter","()","(context)",")","),",");",",","...","//","//navigator.push(context,","//}));","//回显tip内容","//导航到新路由","//注册路由表","//省略无关代码",":","=","@overrid","[","])","],","appbar(","appbar:","body:","bool","build(buildcontext","builder","builder,","center(","child:","children:","class","colors.blue,","column(","context)","context,","demo","demo',","echorout","echoroute(this.tip);","extend","false,","final","flatbutton(","fullscreendialog","fullscreendialog表示新的路由页面是否是一个全屏的模态对话框,在ios中,如果fullscreendialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。","futur","home","home:","key","mainaxisalignment.center,","mainaxisalignment:","maintainst","maintainstate:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainstate为false。","map","materialapp(","materialpagerout","materialpageroute(builder:","materialpageroute({","materialpageroute继承自pageroute类,pageroute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。materialpagerout","myhomepage(title:","navig","navigator.push(","navigator.pushnamed(context,","navigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由。navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:","new","newrout","newroute();","onpressed:","page'),","pop(buildcontext","primaryswatch:","push(buildcontext","pushnamed(buildcontext","result","return","rout","route\"),","route\"。","route)","routename)","routes:{","routeset","routes;","route”按钮,依然可以打开新的路由页。","route)即给路由起一个名字,然后可以通过路由名字直接打开新的路由。这为路由管理带来了一种直观、简单的方式。","scaffold(","set","settings,","statelesswidget","string","table),这样应用程序才知道哪个名称与哪个路由widget对应。路由表的定义如下:","text(\"echo","text(\"new","text(\"open","text(\"thi","text(tip),","textcolor:","theme:","themedata(","tip;","title:","true,","widget","widgetbuild","{","}","})","}));","},","下面我们介绍一下materialpagerout","为路由的名称,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名称入栈新路由时,应用会根据路由名称在路由表中找到对应的widgetbuilder回调函数,然后调用该回调函数生成路由widget并返回。","创建一个新路由,命名“newroute”","包含路由的配置信息,如路由名称、是否初始路由(首页)。","命名路由","命名路由的优缺点","命名路由的最大优点是直观,我们可以通过语义化的字符串来管理路由。但其有一个明显的缺点:不能直接传递路由参数。举个例子,假设有一个新路由echoroute,它的功能是接受一个字符串参数tip,然后再在屏幕中心将tip的内容显示出来,代码如下:","在_myhomepagestate.build方法中的column的子widget中添加一个按钮(flatbutton)","如果想自定义路由切换动画,可以自己继承pageroute来实现,我们将在后面介绍动画时,实现一个自定义的路由widget。","如果我们使用命名参数,就必须将路由提前注册到路由表中,所以就无法动态修改tip参数,如:","它是一个map,","对于android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。","对于ios,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。","将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。","将给定的路由入栈(即打开新的页面),返回值是一个future对象,用以接收新路由出栈(及关闭)时的返回数据。","我们在上一节“计数器”示例的基础上,做如下修改:","我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面。","我们需要先注册路由表后,我们的flutter应用才能正确处理命名路由的跳转。注册方式很简单,我们回到之前“计数器”的示例,然后在myapp类的build方法中找到materialapp,添加routes属性,代码如下:","所谓命名路由(name","接下来我们通过路由名来打开新的路由页,修改flatbutton的onpressed回调代码,改为:","新路由继承自statelesswidget,界面很简单,在页面中间显示一句\"thi","是material组件库的一个widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:","是一个widgetbuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。","构造函数的各个参数的意义:","注册路由表","热重载应用,再次点击“open","现在我们就完成了路由表的注册。","示例","综上所述,我们可以看到当路由需要参数时,使用命名路由则不够灵活。","要想使用命名路由,我们必须先提供并注册一个路由表(rout","要通过路由名称来打开新路由,可以使用:","路由(route)在移动开发中通常指页面(page),这跟web开发中单页应用的route概念意义是相同的,route在android中通常指一个activity,在ios中指一个viewcontroller。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是android还是ios,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。","路由管理","路由表","还有很多其它方法,如navigator.replace、navigator.popuntil等,详情请参考api文档或sdk源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。","通过路由名打开新路由页","除了pushnamed方法,还有pushreplacementnamed等其他管理命名路由的方法,读者可以自行查看api文档。"],"chapter2/flutter_package_mgr.html":["\"flutter","#","'package:english_words/english_words.dart';","()",");","../../code/pkg1","//","0","1.0.0+1","=","@overrid","^0.1.0","^0.1.2","^3.1.3","application.","build","build(buildcontext","child:","class","code","const","context)","cupertino_icons:","dependencies:","dependencies:应用或包依赖的其它包或插件。","description:","design:","dev_dependencies:","dev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。","edgeinsets.all(8.0),","english_words:","exit","extend","final","finish","first","flutter","flutter:","flutter_in_act","flutter_in_action...","flutter_test:","flutter:flutter相关的配置选项。","get\"","git:","git://github.com/flutter/packages.git","git://github.com/xxx/pkg1.git","import","materi","name:","name:应用或包名称。","new","packag","package1:","packages/package1","packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。","padding(","padding:","path:","pkg1:","process","pub仓库","pub(https://pub.dartlang.org/","randomwordswidget","return","run","sdk:","statelesswidget","studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。","studio的编辑器视图中查看pubspec.yaml时,单击右上角的","text(wordpair.tostring()),","true","url:","us","version:","version:应用或包的版本号。","widget","wordpair","wordpair.random();","yaml是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或json相比,它语法简单并非常容易解析,所以yaml常用于配置文件,flutter也是用yaml文件作为其配置文件,flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:","{","}","。","一个完整的应用程序往往会依赖很多第三方包,正如在原生开发中,android使用gradle来管理依赖,ios用cocoapods或carthage来管理依赖,而flutter也有自己的依赖管理工具,本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。","上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。","上面假定包位于git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:","下载包","下面,我们逐一解释一下各个字段的意义:","下,接下来我们通过一个例子来演示一下如何依赖、下载并使用第三方包。","你也可以在控制台,定位到当前工程目录,然后手动运行flutter","使用english_words包来生成随机字符串。","依赖git:你也可以依赖存储在git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法","依赖本地包","其它依赖方式","包管理","命令来下载依赖包。","在android","在输入时,android","如果应用程序正在运行,请使用热重载按钮","如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:","如果我们的flutter应用本身依赖某个包,我们需要将所依赖的包添加到depend","将english_words(3.1.3版本)添加到依赖项列表,如下:","应用或包的描述、简介。","引入english_words包。","总结","我们将randomwordswidget","我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:","接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包,确定其最新的版本号和是否支持flutter。","新添加的依赖","方法内部生成的。每次热更新时,build方法都会被执行。","更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。","本节介绍了引用、下载、使用一个包的整体流程,并在后面介绍了多种不同的引入方式,这些是flutter开发中常用的,但dart的dependencies还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/depend","添加到\"计数器\"示例的首页myhomepag","生成随机字符串","的column的子widget中。","示例","路径可以是相对的,也可以是绝对的。","这会将依赖包安装到您的项目。您可以在控制台中看到以下内容:","这是因为单词对是在",")是google官方的dart"],"chapter2/flutter_assets_mgr.html":["'dart:async'","'my_icons')","'package:flutter/services.dart'","(如果使用一些更低级别的类,如","),",");","/","android","asset","assetimag","assetimage('graphics/background.png'),","assetimage('icons/heart.png',","assetimage类。例如,我们可以从上面的asset声明中加载背景图片:","assets/background.png","assets/my_icon.png","assets:","assets指定应包含在应用程序中的文件。","assets(有时称为资源)。assets是会打包到程序安装包中的,可在运行时访问。常见类型的assets包括静态数据(例如json文件)、配置文件、图标和图片(jpeg,webp,gif,动画webp","async","await","boxdecoration(","build(buildcontext","builder进行自定义。","bundl","bundle中。","bundle中。前者被认为是main","bundle中加载字符串或图片(二进制)文件。","bundle,而是使父级widget在运行时动态替换的不同的assetbundle,这对于本地化或测试场景很有用。","context)","decoratedbox(","decoration:","decorationimage(","defaultassetbundl","flutter:","flutter应用程序可以包含代码和","futur","future;","gif,png,bmp和wbmp)等。","graphics/background.png","hdpi已包含占位符图像”ic_launcher.png”)。","image.asset('graphics/background.png');","image.asset('icons/heart.png',","image:","imagecach","imagestream或","import","io","lib/是隐含的,所以它不应该包含在资产路径中。","loadasset()","navigator中导航到runner/runner然后通过打开assets.xcassets拖入图片,或者通过在launchscreen.storyboard中使用interfac","new","package:","packages/fancy_backgrounds/backgrounds/background1.png","pubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。当主资源缺少某个资源时,会按分辨率从低到高的顺序去选择","return","rootbundle.loadstring('assets/config.json');","rootbundle;","screen)添加到您的flutter应用程序,","screen)的中心,请导航至.../ios/runner。在assets.xcassets/launchimage.imageset,","show","widget","widget上指定渲染图像的宽度和高度,那么imag","widget将占用与主资源相同的屏幕空间大小。","{","}","…/2.0x/my_icon.png","…/3.0x/my_icon.png","…/graphics/background.png","…/graphics/dark/background.png","…/graphics/my_icon.png","…/icons/1.5x/heart.png","…/icons/2.0x/heart.png","…/icons/heart.png","…/image.png","…/lib/backgrounds/background1.png","…/lib/backgrounds/background2.png","…/lib/backgrounds/background3.png","…/mx/image.png","…/my_icon.png","…/nx/image.png","…/pubspec.yaml","…etc.","。有两种主要方法允许从asset","上面的资源都是flutter应用中的,这些资源只有在flutter框架运行之后才能使用,如果要给我们的应用设置app图标或者添加启动图,那我们必须使用特定平台的assets。","主资源默认对应于1.0倍的分辨率图片。看一个例子:","也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px;","但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。","使用默认的","例如,一个名为“fancy_backgrounds”的包,可能包含以下文件:","例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构:","例如,如果应用程序目录中有以下文件:","依赖包中的资源图片","其中m和n是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。","函数","加载","加载图片","加载文本asset","加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。","加载:建议使用","包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。","变体(variant)","只需将它们替换为适当大小的图片。保留原始文件名称。","只需按照android开发人员指南中的说明,","可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset:","启动屏幕将永远持续显示。","和包管理一样,flutter也使用pubspec.yaml文件来管理应用程序所需的资源。举一个例子:","在flutter框架加载时,flutter会使用本地平台机制绘制启动页。此启动页将持续到flutter渲染应用程序的第一帧时。","在flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap","在flutter项目的根目录中,导航到.../ios/runner。该目录中assets.xcassets/appicon.appiconset已经包含占位符图片。","在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset","在构建期间,flutter将asset放置到称为","在设备像素比率为1.8的设备上,.../2.0x/my_icon.png","在选择匹配当前设备分辨率的图片时,flutter会使用到asset变体(见下文),将来,flutter可能会将这种机制扩展到本地化、阅读提示等方面。","声明分辨率相关的图片","如果你使用不同的文件名,那您还必须更新同一目录中的contents.json文件,图片的具体尺寸可以查看苹果官方的标准。","如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。","如果您重命名.png文件,则还必须在您androidmanifest.xml的标签的android:icon属性中更新名称。","如果未在imag","它实际上是一个imageprovider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用image.asset()方法,如:","对象加载:每个flutter应用程序都有一个rootbundle对象,","将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。","将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。","并非是一个widget,","您也可以通过打开xcode完全自定义storyboard。在project","您的应用可以通过assetbundle对象访问其asset","或","打包包中的","拖入图片,并命名为launchimage.png、launchimage@2x.png、launchimage@3x.png。","指定","时你会注意到有与缩放相关的参数)","更新flutter应用程序启动图标的方式与在本机android或ios应用程序中更新启动图标的方式相同。","更新启动页","来获取当前buildcontext的assetbundle。","构建过程支持asset变体的概念:不同版本的asset可能会显示在不同的上下文中。","每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是assets)。","注意:","注意,assetimag","注意:包在使用本身的资源时也应该加上package参数来获取。","然后pubspec.yaml文件中只需包含:","然后加载图像,使用:","特定平台","的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。","类似于原生开发,flutter也可以为当前设备加载适合其分辨率的图像。","要加载依赖包中的图像,必须给assetimage提供package参数。","要加载图片,可以使用","要包含第一张图像,必须在pubspec.yaml的assets部分中声明它:","要将启动屏幕(splash","要将图片添加到启动屏幕(splash","设置app图标","请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。","资源管理","这意味着如果您不在应用程序的main()方法中调用runapp","这种方法不是使用应用程序构建的默认asset","通常,可以使用defaultassetbundle.of()在应用运行时来间接加载asset(例如json文件),而在widget上下文之外,或其它assetbundle句柄不可用时,可以使用rootbundle直接加载这些asset,例如:","通过","通过rootbundl","通过它可以轻松访问主资源包,直接使用package:flutter/services.dart中全局静态的rootbundle对象来加载asset即可。","那么这两个graphics/background.png和graphics/dark/background.png","都将包含在您的asset","(主资源),后者被认为是一种变体(variant)。","(或者更具体地说,如果您不调用window.render去响应window.ondrawframe)的话,",",也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。"],"chapter2/flutter_app_debug.html":["\"dump","\"engineentertimestampmicros\":","\"monospace\";","\"roboto\";","\"timeafterframeworkinitmicros\":","\"timetofirstframemicros\":","\"timetoframeworkinitmicros\":","$","'dart:developer';到相关文件顶部。","'package:flutter/material.dart';","(","()","(1","(in","(physic","(语句级的单步调试和分析器)","),",");","...","//","0.0)","0.0))","0.0)))","0.0))➩offset(0.0,","0.0);","0.0,","0.0,0.0,0.0,1.0","0.0,0.0,1.0,0.0","0.0,3.5,0.0,0.0","0.00,","0.20,","0;","1","1.0)","1.0,","1.00)➩tween(offset(0.0,","1.000;","1.0;","12","14.0;","16.0,","1657393","1794.0)","199833992]","199833992];","1:","2.625","2.625,","2.625x","200ms;","2171978,","24.0,","2:","3.5,0.0,0.0,0.0","30","30.0);","323.7)","328026813]","36.0);","388965355]","400;","411.4,","437.086m","48.0;","489139594]","489139594];","5","514585,","612888877]","612888877];","619728754]","619728754])","625702218]","6559):","683.4)","683.4))","683.4),","683.4);","683.4),它用于强制renderpositionedbox下的所有渲染框到屏幕的大小,","727622716]","727622716];","816151164]","816151164];","82.0,","83.3%","900;","96025565262,",":",">","@overrid","[0]","[1]","[2]","[3]","[globalkey","[globalobjectkey","[overlayentry@248818791(opaque:","[root]","_animatedcontainerstate(616063822;","_animateddefaulttextstylestate(427742350;","_animatedstate(552160732))","_animatedstate(714726495))","_animatedthemestate(543295893;","_focusscop","_focusstate(331487674))","_focusstate(739584448))","_gesturesemant","_inkfeatur","_materialappstate(1009803148))","_materialappstate(1009803148)]","_materialappstate(1009803148)];","_materialappstate(859106034)]","_materialbuttonstate(398724090))","_materialstate(780114997))","_modalscop","_modalscopestate(875510645))","_modalscopestatu","_mountainviewpagetransit","_overlayentri","_overlayentrystate(279971240))","_overlayentrystate(739137453))","_renderinkfeatur","_renderinkfeatures)","_rendertheatr","_rendertheatre)","_theatr","_widgetsappstate(552902158))","_widgetsappstate(552902158)]","_widgetsappstate(552902158)];","absorbing:","absorbpoint","additionalconstraints:","alignment.cent","alignment.center;","alignment:","alphabetic)","alphabetic;","analyze测试你的代码。这个工具(它是dartanalyzer工具的一个包装)将分析你的代码并帮助你发现可能的错误。","android","android)","animatedcontain","animateddefaulttextstyl","animatedthem","animationcontroller(⏭","app","app\")","app'),","apphom","apphome(),","assert语句被启用,并且flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。","background))","background;","backgroundcolor:","bad","banner","baseline:","behavior:","boundari","boxconstraints(0.0","boxconstraints(88.0","boxconstraints(88.0这是根renderobject对象的tostringdeep函数的输出。","boxconstraints(biggest)","boxconstraints(w=411.4,","boxdecoration())","boxdecoration(backgroundcolor:","build(buildcontext","canbetapped)","canbetapped;","cancel","cancel;","center","center(","check","checkedmodebann","child","child:","child;","class","color(0xd0ff0000);","color(0xdd000000);","color(0xff2196f3)","color(0xff2196f3))","color(0xfffafafa)","color(0xfffafafa)))","color(0xffffff00)","color:","configuration:","constrainedbox","constraints:","contain","context)","creator:","custompaint","dart","dart分析器大量使用了代码中的类型注释来帮助追踪问题。我们鼓励您在任何地方使用它们(避免var、无类型的参数、无类型的列表文字等),因为这是追踪问题的最快的方式。","debug","debugdumpapp();","debugger()","debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:","debugger(when:","debugpaintbaselinesenabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。","debugpaintpointersenabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。","debugprintmarkneedspaintstacks标志。","debugprintscheduleframestacks还可以用来打印导致当前帧被调度的调用堆栈。","decoratedbox","decoration:","defaulttextstyl","defer","design基线网格覆盖在应用程序上可能有助于验证对齐。","design的应用程序时,","design设计规范中flatbutton类的尺寸标准)。","devic","devicepixelratio:","diagnosis:","doubl","down","down,","down;","edgeinsets(0.0,","edgeinsets(16.0,","elevation:","enabl","entries:","etc...)","etc...))","expand","extend","fals","false),","false;","family:","flatbutton","flatbutton(","flutter","flutter框架中的许多类都有tostring实现。按照惯例,这些输出通常包括对象的runtimetype单行输出,通常在表单中classname(mor","flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugprint)的功能。","focu","focus","focus)","focus;","fractionaltransl","frame","frame?","function');","gesturedetector","gestures:","good)","grid","h=683.4)","h=683.4)。从renderpositionedbox的转储中看到是由cent","heightfactor:","home:","i/flutt","ide中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import","ignorepoint","ignoring:","ignoringsemantics:","imageconfiguration(bundle:","implicitli","import","inactive))","inactive;","inform","inherit:","ink","instance…)。","iwonderhowlongthistakes();","kept","listen","listeners:","localequeri","log","logcat)。","logic","logs了查看它(基本上是一个包装adb","main()","main()的顶部设置。","maintainstate:","materi","material(","materialapp","materialapp(","materialbutton","materialpageroute(/))➩proxyanimation➩cubic(0.40,","materialpageroute(560156430)]","materialpageroute(875520219)]","materialpageroute(875520219)])","materialpageroute(875520219)];","mediaqueri","metrics:","modalbarri","mode","mode”,用","mode)。","mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。","more","navig","navigatorstate(240327618;","new","notificationlisten","null)))","observatori","observatory(或另一个dart调试器,例如intellij","offset","offset(0.0,","offset)","offset:","offset=offset(0.0,","offset=offset(156.7,","offsetlay","offstag","offstage:","onc","onpressed:","opaqu","opaque))","opaque;","overlay","overlayentry@837336156(opaque:","overlaystate(619367313;","padding:","pagestorag","parentdata:","paused;","per","perform","performanceoverlay.allenabled()创建的stack上来获得相同的效果)。","physic","picturelay","pixel","pixel)","pixels)","platform:","platformassetbundle@367106502(),","positioned;","print()功能将输出到系统控制台,您可以使用flutt","print:","print、debugprint、flutt","profil","profile替代","profile标志,以确保运行时性能特征与您的最终产品差异最小。","profile选项来运行flutt","ratio:","rawgesturedetector","rawgesturedetectorstate(175370983;","rawgesturedetectorstate(39068508;","rect.fromltrb(0.0,","relayoutboundary=up1","relayoutboundary=up2)","relayoutboundary=up3)","relayoutboundary=up4)","relayoutboundary=up5)","relayoutboundary=up6)","release即可。","release运行您的应用程序。","renderabsorbpoint","renderabsorbpointer)","renderconstrainedbox","renderconstrainedbox)","rendercustompaint","rendercustompaint)","renderdecoratedbox","renderdecoratedbox)","renderer]","renderer];","renderfractionaltransl","renderfractionaltranslation)","renderignorepoint","renderignorepointer)","renderobject:","renderobjecttowidgetadapter([globalobjectkey","renderoffstag","renderoffstage)","renderpad","renderparagraph","renderpointerlisten","renderpointerlistener)","renderpositionedbox","renderpositionedbox)","renderrepaintboundari","renderrepaintboundary)","rendersemanticsannot","rendersemanticsannotations)","rendersemanticsgesturehandl","rendersemanticsgesturehandler)","renderstack","renderstack)","renderview","renderview(497039273)];","renderview)","repaint","repaintboundari","return","run","runapp(","run启动应用程序,那么当它运行时,您可以打开observatori","run命令来运行应用程序。","run时使用trac","run时带有","run运行程序。在这种模式下,dart","scope","scrollconfigur","semant","semanticsnode(0;","size(1080.0,","size(411.4,","size:","slidetransit","somefunction(doubl","stack","startup","startup和profile选项。","state:","statelesswidget","streams”中选择’dart’复选框,并执行你想测量的功能。","subscope:","tap;","text('dump","textdecoration.underline)","textscalefactor:","theme","themedatatween(themedata(brightness.light","ticker","ticker))","timeline.finishsync();","timeline.startsync('interest","timeline页面,在”record","titl","trace","track","transform:","transformhittests:","transformlay","translation:","true","true)]))","true;","up,","url的web页面(例如observatory监听http://127.0.0.1:8100/),","us","void","vs","weight:","widget","widgetsapp","widgetsapp构造函数也有类似的参数(如果你没有使用materialapp或者widgetsapp,你可以通过将你的应用程序包装在一个stack中,","widgetsflutterbind","widget创建的(如creator字段所描述的),","widget在渲染树的层中创建了一个renderrepaintboundary。这用于减少需要重绘的需求量。","widget的一个实现细节","widget,则可以使用debugpaintlayerbordersen","widthfactor:","window","work","{","}","},","…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):","←","→","⋯","│","│└ignorepointer(ignoring:","└_focusscope(thi","└_gesturesemantics(renderobject:","└_inkfeature([globalkey","└_modalscope([globalkey","└_modalscopestatus(active)","└_mountainviewpagetransition(animation:","└_overlayentry([globalkey","└_theatre(renderobject:","└absorbpointer(renderobject:","└animatedcontainer(duration:","└animateddefaulttextstyle(duration:","└animatedtheme(duration:","└apphome()","└banner()","└center(alignment:","└checkedmodebanner()","└constrainedbox(boxconstraints(88.0(369160267))","└constrainedbox(boxconstraints(biggest);","└container(bg:","└container(padding:","└custompaint(renderobject:","└decoratedbox(renderobject:","└defaulttextstyle(inherit:","└flatbutton()","└focus([globalkey","└focus([globalobjectkey","└fractionaltranslation(renderobject:","└gesturedetector()","└ignorepointer(ignoring:","└listener(listeners:","└localequery(null)","└material(materialtype.canvas;","└materialapp(state:","└materialbutton(state:","└mediaquery(mediaquerydata(size:","└modalbarrier()","└navigator([globalobjectkey","└notificationlistener()","└offstage(offstage:","└overlay([globalkey","└padding(renderobject:","└pagestorage([globalkey","└rawgesturedetector(state:","└repaintboundary(renderobject:","└richtext(renderobject:","└scrollconfiguration()","└semantics(container:","└semanticsnode(2;","└semanticsnode(3;","└semanticsnode(4;","└slidetransition(animation:","└stack(renderobject:","└text(\"dump","└theme(themedata(brightness.light","└title(color:","└widgetsapp([globalobjectkey","└─child","└─child:","├_overlayentry([globalkey","├semanticsnode(1;","├─child","├─onstage:","╎","▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀","▄▄▄▄▄▄▄▄","。","上面这个小例子的输出结果如下所示:","为此,materialapp","你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,inkfeature是materi","使用dart:developer的timeline工具来包含你想测试的代码块,例如:","例如:","例如,在上面的转储中,您可以看到窗口大小,size(411.4,","分析器","初始化flutter框架时.","刷新页面将在chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。","另一种需要注意的是每个盒子描述的”relayoutsubtreeroot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。","只要他们重绘时,这会使该层被一组旋转色所覆盖。","只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用","可视化调试","同时支持分析、检查堆等。有关observatory的更多信息请参考observatori","否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。","回调","因此,renderparagraph有一个relayoutsubtreeroot=up8,这意味着当它renderparagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。","图中的白线以16ms增量沿纵轴显示;","在renderparagraph中基于它的内容来决定其大小。","在开发实现materi","在开发过程中,强烈建议您使用flutter的“调试”模式,有时也称为“checked”模式(注意:dart2.0后“checked”被废除,可以使用“strong”","在运行应用程序前,请运行flutter","在这种情况下,一个单一的gesturedetector被列出,并且监听“tap”手势(“tap”是tapgesturedetector的tostringshort函数输出的)","在这种情况下,每个逻辑像素代表3.5个设备像素。","声明","如","如,","如果你一次输出太多,那么android有时会丢弃一些日志行。为了避免这种情况,您可以使用flutter的foundation库中的debugprint()。","如果你使用intellij的flutter插件,那么已经自动启用了。","如果图中超过这三条线之一,那么您的运行频率低于60hz。横轴代表帧。","如果您使用flutter","如果您使用observatory进行分析,请确保通过","如果您尝试调试合成图层,例如以确定是否以及在何处添加repaintboundari","如果您尝试调试合成问题,则可以使用debugdumplayertree()。对于上面的例子,它会输出:","如果您尝试调试布局问题,那么widgets层的树可能不够详细。在这种情况下,您可以通过调用debugdumprendertree()转储渲染树。","如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。","如果您编写自己的widget,则可以通过覆盖debugfillproperties()来添加信息。","如果您编写自己的渲染对象,则可以通过覆盖debugfillproperties()将信息添加到转储。","完成flutter框架初始化时.","对于上面的例子,它会输出:","对齐方式(来自widget如center和align)显示为黄色箭头.","将diagnosticsproperty对象作为方法参数,并调用父类方法。","将diagnosticsproperty对象作为方法的参数,并调用父类方法。","将materi","层","展示应用第一帧时.","并将一个widget放在通过new","开头的任何内容都只能在调试模式下工作。","当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。","当使用dart","当在调试模式设置为true时,它将覆盖这样一个网格。","当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如padding)显示为浅蓝色,子widget周围有一个深蓝色框,","当按钮从被按下变为被释放时debugdumpapp()被调用,flatbutton对象同时调用setstate(),并将自己标记为\"dirty\"。","当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。","您也可以直接使用gridpaperwidget将这种网格覆盖在非material应用程序上","您也可以通过设置debugpaintsizeenabled为true以可视方式调试布局问题。","您还可以调用debugdumpsemanticstree()获取语义树(呈现给系统可访问性api的树)的转储。","或事件处理器中调用它是最佳解决方案。","所有这些标志只能在调试模式下工作。通常,flutter框架中以“debug...”","文档.","最内部renderpositionedbox再次松开约束,这次是将按钮中的文本居中。","最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。","有一个debugshowmaterialgrid参数,","有各种各样的工具和功能来帮助调试flutter应用程序。","构造函数","标志,","树中使用的一些类也具有tostringdeep,从该点返回整个子树的多行描述。已一些具有详细信息tostring的类会实现一个tostringshort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。","根部的变换是应用设备像素比的变换;","正如debugdumpapp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从fram","每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugprintstack()方法按需打印堆栈痕迹。","渲染层","然后打开你应用程序的observatori","直接使用语句级单步调试器连接到您的应用程序。如果您使用的是intellij,则还可以使用其内置的调试器来调试您的应用程序。","空白(如没有任何子节点的container)以灰色显示。","约束条件为","衡量应用启动时间","要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugprintmarkneedslayoutstacks和","要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或semanticsdebugg","要关闭调试模式并使用发布模式,请使用flutter","要执行自定义性能跟踪和测量dart任意代码段的wall/cpu时间(类似于在android上使用systrace)。","要找出相对于帧的开始/结束事件发生的位置,可以切换debugprintbeginframebanner和debugprintendframebanner布尔值以将帧的开始和结束打印到控制台。","要收集有关flutter应用程序启动所需时间的详细信息,可以在运行flutt","要获得应用程序性能图,请将materialapp构造函数的showperformanceoverlay参数设置为true。","要调用debugdumprendertree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。","要转储widgets库的状态,请调用debugdumpapp()。","设置其孩子的约束为:boxconstraints(0.0flatbutton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是materi","设置它的最简单方法是在void","该函数是该tostring方法用来填充小部件描述信息的。","该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。","该标志用橙色或轮廓线标出每个层的边界,或者使用debugrepaintrainbowenabled标志,","语义","请确保运行flutter","调度","调试flutter","调试flutter应用","调试动画","调试动画最简单的方法是减慢它们的速度。为此,请将timedilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。","调试应用程序层","调试性能问题","调试模式断言","跟踪dart代码性能","跟踪输出保存为start_up_info.json,在flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:","这个应用程序:","这也关闭了observatory调试器。一个中间模式可以关闭除observatory之外所有调试辅助工具的,称为“profil","这可以帮助您确定某个对象是否以某种不正确的方式进行hit测试(flutter检测点击的位置是否有能响应用户操作的widget),例如,如果它实际上超出了其父项的范围,首先不会考虑通过hit测试。","这将显示两个图表。第一个是gpu线程花费的时间,最后一个是cpu线程花费的时间。","这就是为什么如果你看转储,你会看到特定的对象标记为“dirty”。您还可以查看已注册了哪些手势监听器;","这应该始终在发布模式(releas","这是一个“扁平化”的树,显示了通过各种构建函数投影的所有widget(如果你在widget树的根中调用tostringdeepwidget,这是你获得的树)。","这是一个封装print,它将输出限制在一个级别,避免被android内核丢弃。","这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。","这是根layer的tostringdeep输出的。","进入flutter引擎时.","(下面讨论)。",")的任何时间调用此方法(在调用runapp()之后)。"],"chapter2/thread_model_and_error_report.html":["!=","\"error","\"intercepted:","$line\");","$this',","'widget","()","(e)","(e){","(e,","(fluttererrordetail","(object","(onerror","(zone","),",");","...","...//","//","//上报错误和日志逻辑","//手机日志","//执行build方法","//报告错误","//收集日志","//构建错误详情对象","//调用了onerror回调","1)).then((e)","=","=>","@overrid","_debugreportexception(","body(),","build();","built","catch","collectlog(line);","collectlog(str","context,","context:","dart","dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,,如果读者不清楚,可以查看dart语言文档,不在赘述,下面我们看看flutter中的异常捕获。","dart中有一个runzoned(...)","dart单线程模型","dart线程模型及异常捕获","detail","details)","details){","details;","details=makedetails(obj,stack);","dumperrortoconsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如:","dynam","e,","error","errorwidget.builder(_debugreportexception('build","event","exception,","exception:","final","first","flutter","fluttererror.onerror","fluttererror.reporterror(details);","fluttererrordetail","fluttererrordetails(","flutter异常捕获","flutter框架异常捕获","function","futur","future.delayed(duration(seconds:","future.error(\"xxx\"));","future.then((_)","future.value(499);","future2","future2.catcherror((e)","future3","handler\");","informationcollector","informationcollector,","informationcollector:","library',","library:","line)","line){","main()","makedetails(obj,","makedetails(object","map","microtask","new","null)","obj,","onerror(details);","onerror,","onerror:","onerror:zone中未捕获异常处理回调,如果开发者提供了onerror回调或者通过zonespecification.handleuncaughterror指定了错误处理回调,那么这个zone将会变成一个error","parent,","parent.print(zone,","performrebuild()","print(\"catch","print(\"nev","print(\"unus","print(e)","print:","queue。从图中可以发现,微任务队列的执行优先级高于事件队列。","queue,另一个叫做“事件队列”","r","reached!\");","reporterror(details);","reporterror(fluttererrordetail","reporterrorandlog(details);","reporterrorandlog(fluttererrordetail","return","runapp(myapp()),","runapp(myapp());","runzoned(","runzoned(()","runzoned(r","self,","stack)","stack));","stack);","stack){","stack,","stack:","stacktrac","static","string","throw","tri","try{","var","void","zone","zone\";","zone,","zone.\");","zonedeleg","zonespecif","zonespecification(","zonespecification,","zonespecification:","zonespecification:zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子:","zonevalues,","zonevalues:","zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如:","zone内部发生的错误是不会跨越当前error","zone的边界的,如果想跨越error","zone边界去捕获异常,可以通过共同的“源”zone来捕获,如:","zone,该error","{","}","})","}),","});","},","};","}catch","下面是拦截应用中所有调用print输出日志的行为。","其它异常捕获与日志收集","可以看到,在发生异常时,flutter默认的处理方式是弹一个errorwidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugreportexception()方法看看:","在dart中,所有的外部事件任务都在事件队列中,如io、计时器、点击、以及绘制事件等,而微任务通常来源于dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于gui应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过future.microtask(…)方法向微任务队列插入一个任务。","在flutter中,还有一些flutter没有为我们捕获的异常,如调用空对象方法异常、future中的异常。在dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了future的异常的:","在java和oc中,如果程序发生异常且没有被捕获,那么程序将会终止,但在dart或javascript中则不会,究其原因,这和它们的运行机制有关系,java和oc都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但dart和javascript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过dart官方提供的一张图来看看dart大致运行原理:","在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。","在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列”","总结","我们发现onerror是fluttererror的一个静态属性,它有一个默认的处理方法","我们发现,错误是通过fluttererror.reporterror方法上报的,继续跟踪:","我们最终的异常捕获和上报代码如下:","执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。","方法,可以给执行对象指定一个zone。zone表示一个代码执行的环境范围,为了方便理解,读者可以将zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如zone中可以捕获日志输出、timer创建、微任务调度的行为,同时zone也可以捕获所有未处理的异常。下面我们看看runzoned(...)方法定义:","有异常时则弹出错误提示","构建错误信息","框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,flutter就会自动弹出一个错误界面,这是因为flutter已经在执行build方法时添加了异常捕获,最终的源码如下:","现在我们来介绍一下dart线程运行过程,如上图中所示,入口函数","的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。","这样一来,我们app中所有调用print方法输出日志的行为都会被拦截,通过这种方式,我们也可以在应用中记录日志,等到应用触发未捕获的异常时,将异常信息和日志统一上报。zonespecification还可以自定义一些其他行为,读者可以查看api文档。","这样一来,结合上面的fluttererror.onerror我们就可以捕获我们flutter应用中全部错误了!需要注意的是,error","这样我们就可以处理那些flutter为我们捕获的异常了,接下来我们看看如何捕获其它异常。"],"chapter3/":["sdk文档。","widget简介","单选框和复选框","图片和icon","基础widget","按钮","文本、字体样式","本章目录","本节介绍一下flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像api文档一样所有属性都介绍,关于属性详细的信息请参考flutt","输入框和表单"],"chapter3/flutter_widget_intro.html":["!_active;","\"hello","$key';","&&","'$runtimetyp","'$runtimetype'","'active'","'inactive',","'package:flutter/cupertino.dart';","'package:flutter/material.dart';","'package:flutter/widgets.dart';","(","()","(译者语:和android中的framelayout相似),stack允许子",")","),",");",")布局模型设计的。","++_counter)",",","//","//return","//初始化状态","//导入cupertino","//点击后计数器自增","//移除计数器","//随便返回一个text()","0","10.0,","200.0,","32.0,","5436):",":","=","==","=>","?","@immut","@overrid","@protect","@requir","_activ","_active,","_active确定颜色:绿色为tru","_counter;","_counter=widget.initvalue;","_counterwidgetst","_counterwidgetstate();","_handletap()","_handletap,","_handletapboxchanged()","_handletapboxchanged(bool","_handletapboxchanged,","_handletapcancel()","_handletapcancel,","_handletapdown(tapdowndetail","_handletapdown,","_handletapup(tapupdetail","_handletapup,","_highlight","_parentwidgetcst","_parentwidgetcstate();","_parentwidgetst","_parentwidgetstate();","_parentwidgetstatec","_tapboxast","_tapboxastate();","_tapboxcst","_tapboxcstate();","abstract","activ","active:","active;","backgroundcolor,","backgroundcolor;","background、一个边框、或者一个阴影。","bool","border.all(","border:","boxdecoration(","build","build():此回调读者现在应该已经相当熟悉了,它主要是用于构建widget子树的,会在如下场景被调用:","build(buildcontext","build时可以被同步读取。","canupdate(...)是一个静态方法,它主要用于在widget树重新build时复用旧的widget,其实具体来说,应该是:是否用新的widget对象去更新旧ui树上所对应的element对象的配置;通过其源码我们可以看到,只要newwidget与oldwidget的runtimetype和key同时相等时就会用newwidget去更新element对象的配置,否则就会创建新的element。","canupdate(widget","center(","child:","class","color","color:","colors.grey[600],","colors.lightgreen[700]","colors.teal[700],","colors.white)),","colors.white),","column:","const","contain","container(","container可以使用矩阵在三维空间中对其进行变换。","container:","context)","context,它是buildcontext类的一个实例,表示构建widget的上下文,它是操作widget在树中位置的一个句柄,它包含了一些查找、遍历当前widget树的一些方法。每一个widget都有一个自己的context对象。","counterwidget","counterwidget();","counterwidget({","counterwidget接收一个initvalue整形参数,它表示计数器的初始值。下面我们看一下state的代码:","createelement()","createelement();","createelement():正如前文所述“一个widget可以对应多个element”;flutt","createstate()","createstate();","cupertino","cupertinobutton(","cupertinocolors.activeblue,","cupertinonavigationbar(","cupertinopagescaffold(","cupertinotestrout","deactiv","deactivate()","deactivate():当state对象从树中被移除时,会调用此回调。在一些场景下,flutt","debugfillproperties(...)","debugfillproperties(diagnosticpropertiesbuild","decoration:","demo\"),","design的应用程序。material应用程序以materialapp","details)","diagnosticabletre","diagnosticstreestyle.dense;","didchangedepend","didchangedependencies()","didchangedependencies():当state对象的依赖发生变化时会被调用;例如:在之前build()","didupdatewidget","didupdatewidget():在widget重新构建时,flutt","didupdatewidget(counterwidget","dispos","dispose()","dispose():当state对象从树中被永久移除时调用;通常在此回调中释放资源。","echo","echo(text:","echo({","element","extend","false,","false;","final","flatbutton(","flutter","flutter也提供了一套丰富的cupertino风格的widget,尽管目前还没有materi","flutter提供了一套丰富、强大的基础widget,在基础widget库之上flutter又提供了一套material风格(android默认的视觉风格)和一套cupertino风格(ios视觉风格)的widget库。要使用基础widget库,需要先导入:","flutter提供了一套丰富的materi","flutter提供了丰富的widget,在实际的开发中你可以随意使用它们,不要怕引入过多widget库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于material和cupertino都是在基础widget库之上的,所以如果你的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。","framework会动态设置state.widget为新的widget实例。","framework会将state对象重新插到树中,如包含此state对象的子树在树的一个位置移动到另一个位置时(可以通过globalkey来实现)。如果移除后没有重新插入到树中则紧接着会调用dispose()方法。","framework会调用widget.canupdate来检测widget树中同一位置的新旧节点,然后决定是否需要更新,如果widget.canupdate返回true则会调用此回调。正如之前所述,widget.canupdate会在新旧widget的key和runtimetype同时相等时会返回true,也就是说在在新旧widget的key和runtimetype同时相等时didupdatewidget()就会被调用。","framework会通知widget调用此回调。","framework动态设置。注意,这种关联并非永久的,因为在应用声明周期中,ui树上的某一个节点的widget实例在重新构建时可能会变化,但state实例只会在第一次插入到树中时被创建,当在重新构建时,如果widget被修改了,flutt","framework只会调用一次该回调,所以,通常在该回调中做一些一次性的操作,如状态初始化、订阅子树的事件通知等。不能在该回调中调用buildcontext.inheritfromwidgetofexacttype(该方法用于在widget树上获取离当前widget最近的一个父级inheritfromwidget,关于inheritedwidget我们将在后面章节介绍),原因是在初始化完成后,widget树中的inheritfromwidget也可能会发生变化,所以正确的做法应该在在build()方法或didchangedependencies()中调用它。","framework在收到消息后,会重新调用其build方法重新构建widget树,从而达到更新ui的目的。","framework在构建ui树时,会先调用此方法生成对应节点的element对象。此方法是flutt","framework就会调用该方法为每一个位置生成一个独立的state实例,其实,本质上就是一个statefulelement对应一个state实例。","framework状态发生改变,flutt","framework隐式调用的,在我们开发过程中基本不会调用到。","gesturedetector","gesturedetector(","gesturedetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。","height:","i/flutt","import","initst","initstate()","initstate:当widget第一次插入到widget树时会被调用,对于每一个state对象,flutt","initvalue;","int","key","key);","key,","key:","key;","key})","materi","middle:","navigationbar:","new","newvalue)","newvalue;","newwidget)","newwidget.key;","newwidget.runtimetyp","null","null,","oldwidget)","oldwidget,","oldwidget.key","oldwidget.runtimetyp","onchanged(!active);","onchanged:","onchanged;","onpressed:","onpressed:()=>setstate(()=>","ontap:","ontapcancel:","ontapdown:","ontapup:","parentwidget","parentwidgetc","parentwidgetst","posit","print(\"build\");","print(\"deactive\");","print(\"didchangedependencies\");","print(\"didupdatewidget\");","print(\"dispose\");","print(\"initstate\");","print(\"reassemble\");","properties)","properties.defaultdiagnosticstreestyl","reassembl","reassemble()","reassemble():此回调是专门为了开发调试而提供的,在热重载(hot","reload)时会被调用,此回调在release模式下永远不会被调用。","return","row、","setstate(()","stack:","state","statefulel","statefulelement(this);","statefulwidget","statefulwidget({","stateless","statelessel","statelesselement(this);","statelesswidget","statelesswidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它widget来构建ui,在构建过程中会递归的构建其嵌套的widget。我们看一个简单的例子:","state。","state中有两个常用属性:","state生命周期","static","string","style:","super(key:","super.deactivate();","super.debugfillproperties(properties);","super.didchangedependencies();","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","super.reassemble();","tapboxa","tapboxa({key","tapboxb","tapboxb(","tapboxb({key","tapboxc","tapboxc(","tapboxc({key","tapboxc将其_active状态导出到其父widget中,但在内部管理其_highlight状态。这个例子有两个状态对象_parentwidgetstate和_tapboxcstate。","text(","text(\"cupertino","text(\"press\"),","text(\"xxx\");","text('$_counter'),","text(text),","text(widget.act","text;","textstyle(fontsize:","text:该","this.active:","this.backgroundcolor:colors.grey,","this.initvalue:","this.key","this.onchanged})","this.text,","todo:","tostringshort()","true;","valuechang","void","widget","widget({","widget.act","widget.onchanged(!widget.active);","widget、用于应用主题数据传递的theme等等。而原生开发中的控件通常只是指ui元素。在后面的内容中,我们在描述ui元素时,我们可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。","widget。","widget与el","widget中,state对象也和statefulelement具有对应关系(一对一),所以在flutter的sdk文档中,可以经常看到“从树中移除state对象”或“插入state对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。","widget了,如:scaffold、appbar、flatbutton等。要使用materi","widget同时插入到widget树的多个位置时,flutt","widget和设置页并不在一起。正确的做法是通过一个全局状态管理器来处理这种“相距较远”的widget之间的通信。目前主要有两种办法:","widget实际上就是element的配置数据,widget树实际上是一个配置树,而真正的ui渲染树是由element构成;不过,由于element是通过widget生成,所以它们之间有对应关系,所以在大多数场景,我们可以宽泛地认为widget树就是指ui控件树或ui渲染树。","widget库","widget库中,有一些widget可以根据实际运行平台来切换表现风格,比如materialpageroute,在路由切换时,如果是android系统,它将会使用android系统默认的页面切换动画(从底向上),如果是ios系统时,它会使用ios系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有cupertino","widget库介绍","widget开始,","widget所在的父widgetinitst","widget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:","widget的生命周期中可能会被多次调用。例如,当一个st","widget的示例,我们实现一个简单的cupertino页面:","widget相关的状态,它在st","widget简介","widget管理自己的state。","widget管理自身状态","widget类继承自diagnosticabletree,diagnosticabletree即“诊断树”,主要作用是提供调试信息。","widget能够重新build一下,但我们的app","widget那么丰富,但也在不断的完善中。值得一提的是在materi","widget那边就会收到通知,然后重新build一下即可。","widget,可帮助您构建遵循materi","widget,它表示与该state实例关联的widget实例,由flutt","widget,需要先引入它:","width:","world\");","{","{}","}","})","}):super(key:key);","});","——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态","一个statefulwidget类会对应一个state类,state表示与其对应的statefulwidget要维护的状态,state中的保存的状态信息可以:","一个widget对象可以对应多个element对象。这很好理解,根据同一份配置(widget),可以创建多个实例(element)。","上面的代码,实现了一个回显字符串的echo","下面我们介绍一下常用的widget。","下面我们来看看各个回调函数:","下面是在iphonex上页面效果截图:","下面的例子将使用gesturedetector来识别点击事件,关于该gesturedetector的详细内容我们将在后面“事件处理”一章中介绍。","中inheritedwidget发生了变化,那么此时inheritedwidget的子widget的didchangedependencies()回调都会被调用。典型的场景是当系统语言locale或应用主题改变时,flutt","中包含了一个inheritedwidget,然后在之后的build()","为","为tapboxb","主要接口","也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外,","你可以使用","使用redux这样的全局状态包,读者可以在pub上查看其详细信息。","例如,iconbutton是一个图片按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。","全局状态管理","取代线性布局","另一种实现可能会将高亮状态导出到父widget,同时保持_active状态为内部,但如果你要将该tapbox给其它人使用,可能没有什么意义。","另外widget类本身是一个抽象类,其中最核心的就是定义了createelement()接口,在flutter开发中,我们一般都不用直接继承widget类来实现widget,相反,我们通常会通过继承statelesswidget和statefulwidget来间接继承widget类来实现,而statelesswidget和statefulwidget都是直接继承自widget类,而这两个类也正是flutter中非常重要的两个抽象类,它们引入了两种widget模型,接下来我们将重点介绍一下这两个类。","可以看到此时initst","可以看到,在statefulwidget插入到widget树时首先initstate方法会被调用。","可以装饰一个boxdecoration,","可让您创建一个带格式的文本。","可让您创建矩形视觉元素。contain","和didchangedependencies都没有被调用,而此时didupdatewidget被调用。","和statelesswidget一样,statefulwidget也是继承自widget类,并重写了createelement()方法,不同的是返回的el","响应式的编程框架中都会有一个永恒的主题——“状态管理”,无论是在react/vue(两者都是支持响应式编程的web开发框架)还是flutter,他们讨论的问题和解决的思想都是一致的。所以,如果你对react/vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,st","在flutter中,widget的功能是“描述一个ui元素的配置数据”,它就是说,widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。实际上,flutter中真正代表屏幕上显示元素的类是element,也就是说widget只是描述element的一个配置,有关element的详细介绍我们将在本书后面的高级部分深入介绍,读者现在只需要知道,widget只是ui元素的一个配置数据,并且一个widget可以对应多个element,这是因为同一个widget对象可以被添加到ui树的不同部分,而真正渲染时,ui树的每一个widget节点都会对应一个element对象。总结一下:","在state对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。","在widget","在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。","在widget生命周期中可以被改变,当state被改变时,可以手动调用其setstate()方法通知flutt","在下面tapboxc示例中,按下时,盒子的周围会出现一个深绿色的边框。抬起时,边框消失;点击生效,盒子的颜色改变。","在之前的章节中,我们已经简单介绍过statelesswidget,statelesswidget相对比较简单,它继承自widget,重写了createelement()方法:","在以下示例中,tapboxb通过回调将其状态导出到其父项。由于tapboxb不管理任何状态,因此它的父类为statelesswidget。","在前面的介绍中,我们知道flutter中几乎所有的对象都是一个widget,与原生开发中“控件”不同的是,flutter中的widget的概念更广泛,它不仅可以表示ui元素,也可以表示一些功能性的组件如:用于手势检测的","在按下时添加绿色边框,当抬起时,取消高亮","在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与element有对应关系(一可能对多),在有些场景(flutter的sdk文档中)也代指“ui树”的意思。而在st","在调用didchangedependencies()之后。","在调用didupdatewidget()之后。","在调用initstate()之后。","在调用setstate()之后。","基础widget","堆叠,","处理抬起事件","处理按下事件","复写父类的方法,主要是设置诊断树的一些特性。","如","如何决定使用哪种管理方法?以下原则可以帮助你决定:","如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。","如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。","如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。","定义_active:确定盒子的当前颜色的布尔值。","定义_handletap()函数,该函数在点击该盒子时更新_active,并调用setstate()更新ui。","实现","实现_handletapboxchanged(),当盒子被点击时调用的方法.","实现widget的所有交互式行为。","实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在app","对于buildcontext读者现在可以先作了解,随着本书后面内容的展开,也会用到context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于buildcontext更多的内容,我们也将在后面高级部分再深入介绍。","对于一些widget来说,混合管理的方式非常有用。在这种情况下,widget自身管理一些内部状态,而父widget管理一些其他外部状态。","对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。","对象:","对象并不相同;另外statefulwidget类中添加了一个新的接口createstate(),下面我们看看statefulwidget的类定义:","开发人员只会关心该框是否处于active状态,而不在乎高亮显示是如何管理的,所以应该让tapbox内部处理这些细节。","当应用中包括一些跨widget(甚至跨路由)的状态需要同步时,上面介绍的方法很难胜任了。比如,我们有一个设置页,里面可以设置应用语言,但是我们为了让设置实时生效,我们期望在语言状态发生改变时,我们的app","当按下、抬起、或者取消点击时更新_highlight状态,调用setstate()更新ui。","当检测到点击时,它会通知父widget。","当点击时,将状态的改变传递给父widget.","当点击盒子并且_active状态改变时调用setstate()更新ui。","当状态改变时,调用setstate()更新ui.","总结","我们先来看一下widget类的声明:","我们可以看到,在counterwidget从widget树中移除时,deactive和dispose会依次被调用。","我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:","按照惯例,widget的构造函数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查,另外,在继承widget时,第一个参数通常应该是key,如果接受子widget的child参数,那么通常应该将它放在参数列表的最后。同样是按照惯例,widget的属性应被声明为final,防止被意外改变。","接下来,我们创建一个新路由,在新路由中,我们只显示一个counterwidget:","接下来,我们在widget树中移除counterwidget,将路由build方法改为:","接下来,我们将通过创建三个简单示例tapboxa、tapboxb和tapboxc来说明管理状态的不同方式。","方法中订阅语言改变的事件,当用户在设置页切换语言后,我们触发语言改变事件,然后app","是否使用materialapp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个materi","有关key和widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为widget显式添加key的话可能(但不一定)会使ui在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,我们只在构建列表项ui时会显式指定key。","本书后面事件处理一章中会实现一个全局事件总线。","来定位他们相对于stack的上下左右四条边的位置。stacks是基于web开发中的绝对定位(absolut","概念","注意:在继承statefulwidget重写其方法时,对于包含@mustcallsuper标注的父类方法,都要在子类方法中先调用父类方法。","混合管理","混合管理(父widget和子widget都管理状态)。","然后我们可以通过如下方式使用它:","然后我们点击⚡️按钮热重载,控制台输出日志如下:","然后热重载,日志如下:","父widget管理子widget状态。","父widget管理子widget的st","状态。","状态管理","理解state的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下state的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承statefulwidget,代码如下:","用于创建和state","管理_activ","管理_active状态.","管理_highlight","管理tapboxa的状态。","管理状态.","管理自身状态.","类:","继承statelesswidget类,因为所有状态都由其父widget处理。","该widget在应用程序的根部创建了一些有用的widget,比如一个theme,它配置了应用的主题。","读者应该将这两点牢记在心中。","这个key属性类似于react/vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canupdate()方法中。","这些例子功能是相似的","这些具有弹性空间的布局类widget可让您在水平(row)和垂直(column)方向上创建灵活的布局。其设计是基于web开发中的flexbox布局模型。","这里缺一张生命周期图","间接继承自element类,与statefulwidget相对应(作为其配置数据)。statefulelement中可能会多次调用createstate()来创建状态(state)对象。","间接继承自element类,与statelesswidget相对应(作为其配置数据)。",",当盒子被点击时调用。",",灰色为false。"],"chapter3/text.html":["\"","\"*4,","\"*6,","\"courier\",","\"home:","\"https://flutterchina.club\",","\"use","'my_package',","'raleway',","))","),",");",");","//","//1.设置文本默认样式","//2.不继承默认样式","//字符串重复六次","//指定包名","1,","1.2,","1.5,","18.0,","20.0,","500","600","=","[","]","],","_taprecogn","_taprecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。","abrilfatfac","asset:","assets/fonts/abrilfatface/abrilfatfac","assets/fonts/raleway","background:","buttontext","child:","children,","children:","children是一个textspan的数组,也就是说textspan可以包括其他textspan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果,然后用textspan实现它。","color:","color:colors.red,","colors.blu","colors.blue,","colors.grey","column(","const","crossaxisalignment.start,","crossaxisalignment:","decoration:textdecoration.underline,","decorationstyle:","defaulttextstyl","defaulttextstyle(","false,","family:","flutter:","font","fontfamili","fontfamily:","fonts:","fontsize:","fontsize可以精确指定字体大小,而textscalefactor只能通过缩放比例来控制。","fontsize:该属性和text的textscalefactor都用于控制字体大小。但是有两给主要区别:","fonts中的字体。本节将介绍如何为flutter应用配置字体,并在渲染文本时使用它们。","gesturerecogn","height:","height:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontsize*height。","i'm","inherit:","jack\"),","jack\",","jack.","lib/fonts/raleway","lib/是隐含的,所以它不应该包含在asset路径中。","list","maxlines:","maxlines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式textoverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;textoverflow的其它截断方式请参考sdk文档。","medium.ttf","new","overflow:","package:","packages/my_package/fonts/raleway","package中的字体","paint()..color=colors.yellow,","raleway","recognizer,","recognizer:","regular.ttf","semibold.ttf","sting","style,","style:","text","text\",","text(","text(\"hello","text(\"i","text,","text.rich(textspan(","text:","textalign.center,","textalign.start,","textalign:","textalign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是text","textdecorationstyle.dash","textoverflow.ellipsis,","textscalefactor:","textscalefactor主要是用于系统字体大小设置改变时对flutter应用字体进行全局调整,而fontsize通常用于单个文本。","textscalefactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontsize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过mediaquerydata.textscalefactor获得,如果没有mediaquery,那么会默认值将为1.0。","textspan","textspan(","textspan({","textstyl","textstyle(","textstyle,","textstyle用于指定文本显示的样式如颜色、字体、粗细、背景等。我们看一个示例:","text属性代表该文本片段的样式和内容。","text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:","var","weight:","widget本身。本例中虽然是指定了居中对齐,但因为text文本内容宽度不足一行,text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:","world","world!","world\"),","world\",","});","​","一个包也可以只提供字体文件而不需要在pubspec.yaml中声明。","上面代码中,我们通过textspan实现了一个基础文本片段和一个链接片段,然后通过text.rich","上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过defaulttextstyl","使用字体","使用文本样式","其中style","可以在flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如googl","和","在asset中声明","在flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过textstyle属性使用字体。","在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而defaulttextstyle正是用于设置默认文本样式的。下面我们看一个例子:","在上面的例子中,text的所有文本内容只能按同一种样式,如果我们需要对一个text内容的不同部分按照不同的样式显示,这时就可以使用textspan,它代表文本的一个“片段”。我们看看textspan的定义:","在这种情况下,由于应用程序本地定义了字体,所以在创建textstyle时可以不指定package参数:","声明文本样式","如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。","字符串内容超过一行,text宽度等于屏幕宽度,第二行文本便会居中显示。","效果如下:","文本、字体样式","文本及样式","方法将textspan","此示例只展示了textstyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅sdk文档。值得注意的是:","添加到text中,之所以可以这样做,是因为text其实就是richtext的一个包装,而richtext是可以显示多种样式(富文本)的widget。","源码:","然后,应用程序可以声明一个字体,如下面的示例所示:","要使用package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建textstyle的过程如下:","要将字体打文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如:","设置给了子树column节点处,这样一来column的所有子孙text默认都会继承该样式,除非text显示指定不继承样式,如代码中注释2。示例运行效果如下:","运行效果如下:","这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件:",":由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。"],"chapter3/buttons.html":["()",")",");","...","//外形","//按钮按下时的背景颜色","//按钮文字颜色","//按钮点击回调","//按钮的内容","//按钮的填充","//按钮禁用时的文字颜色","//按钮背景颜色","//正常状态下的阴影","//点击时,水波动画中水波的颜色","0.0,//","2.0,","8.0,//按下时的阴影","=","=>","@requir","borderradius.circular(20.0)),","brightness.dark,","child:","color:","colorbrightness:","colors.blue,","colors.blue[700],","colors.grey,","const","flatbutton","flatbutton(","flatbutton({","flatbutton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色:","highlightcolor:","icon(icons.thumb_up),","icon:","iconbutton","iconbutton(","iconbutton是一个可点击的icon,不包括文字,默认没有背景,点击后会出现背景:","materi","onpressed:","outlinebutton","outlinebutton(","outlinebutton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱):","raisedbutton","raisedbutton(","raisedbutton({","shape:roundedrectangleborder(borderradius:","splashcolor:","text(\"normal\"),","text(\"submit\"),","this.child,","this.color,","this.colorbrightness,//按钮主题,默认是浅色主题","this.disabledcolor,//按钮禁用时的背景颜色","this.disabledelev","this.disabledtextcolor,","this.elev","this.highlightcolor,","this.highlightelev","this.onpressed,","this.padding,","this.shape,","this.splashcolor,","this.textcolor,","widget库中提供了多种按钮widget如raisedbutton、flatbutton、outlinebutton等,它们都是直接或间接对rawmaterialbutton的包装定制,所以他们大多数属性都和rawmaterialbutton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有materi","widget库中,我们会在很多widget中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在material设计风格中是一种很重要的表现形式,以后在介绍其它widget时,便不再赘述。","{},","}","})","代码如下:","使用flatbutton也很简单,代码如下:","使用outlinebutton也很简单,代码如下:","使用raisedbutton非常简单,如:","使用代码如下:","值得注意的是,在materi","其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。","即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如:","如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,本文将在后面介绍container时来介绍如何实现。","定义一个背景蓝色,两边圆角的按钮。效果如下:","库中的按钮都有如下相同点:","很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorbrightness为brightness.dark,这是为了保证按钮文字颜色为浅色。","按下时都会有“水波动画”。","按钮","按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以flatbutton为例,介绍一下常见的按钮属性,详细的信息可以查看api文档。","是不是有质感了!之所以会这样,是因为raisedbutton默认有配置阴影:","有一个onpressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。","示例","禁用时的阴影","细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的flatbutton换成raisedbutton就行,其它代码不用改,换了之后我们看看效果:","自定义按钮外观"],"chapter3/img_and_icon.html":["\"","\"\";","\"\\ue914\";","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"),","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",","\"materialicons\",","#指定一个字体名","","","","'myicon',",")","),",");","+=",",","...","//","//图片的宽","//图片的混合色值","//图片高度","//对齐方式","//混合模式","//重复方式","0xe000","0xe614,","0xe90d","0xe914","0xec7d,","100.0","100.0,","200.0,","24.0,","=","[","\\ue000\";","\\ue90d\";","],","accessible:","alignment.center,","asset:","assetimage(\"images/avatar.png\"),","assets:","blendmode.difference,","book","children:","class","color:","colorblendmode:","colorblendmode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorblendmode指定混合模式,下面是一个简单的示例:","colors.blue,","colors.green","colors.green,),","colors.purple,),","color和","const","contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。","cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。","design:","design图标的icondata静态变量定义。","design字体图标","design所有图标可以在其官网查看:https://material.io/tools/icons/","design的字体图标,在pubspec.yaml文件中的配置如下","e000","e90d","e914","error:","family:","fill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。","fingerprint:","fitheight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fitwidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在boxfit中定义,它是一个枚举类型,有如下值:","flutter:","flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。","flutter中,我们可以通过image来加载并显示图片,image的数据源可以是asset、文件、内存以及网络。","flutter默认包含了一套materi","fontfamily:","fonts/iconfont.ttf","fonts:","fontsize:","height:","icon","icon(icons.accessible,color:","icon(icons.error,color:","icon(icons.fingerprint,color:","icon(myicons.book,color:","icon(myicons.wechat,color:","icondata","icondata(","icons类中包含了所有materi","imag","image(","image({","image.asset(\"images/avatar.png\",","image.network(","image:","imageprovid","imagerepeat.norepeat,","imagerepeat.repeati","images/avatar.png","image也提供了一个快捷的构造函数image.asset用于从asset中加载、显示图片:","image也提供了一个快捷的构造函数image.network用于从网络加载、显示图片:","image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下image的主要参数:","mainaxisalignment.center,","mainaxisalignment:","matchtextdirection:","materi","myicon","myicons{","networkimage(","none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。","repeat:","repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:","row(","static","string","style:","text(icons,","textstyle(","this.align","this.color,","this.colorblendmode,","this.fit,//缩放模式","this.height,","this.repeat","this.width,","true","us","wechat","widget有一个必选的image参数,它对应一个imageprovider。下面我们分别演示一下如何从asset和网络加载图片。","width:","width、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。","}","})","一图胜万言:","为了使用方便,我们定义一个myicons类,功能和icons类一样:将字体文件中的所有图标都定义成静态变量:","从asset中加载图片","从网络加载图片","体积小:可以减小安装包大小。","使用","使用materi","使用自定义字体图标","假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:","加载该图片","参数","可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。","可以通过textspan和文本混用。","图标","图片","图片及icon","图片和icon","在flutter开发中,iconfont和图片相比有如下优势:","在pubspec.yml中的flutter部分添加如下内容:","在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。","在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。","导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":","微信图标","我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在flutter中,我们使用ttf格式即可。","我们看一个简单的例子:","是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的imageprovid","矢量的:iconfont都是矢量图标,放大不会影响其清晰度。","运行上面两个示例,图片加载成功后显示如下:","运行后效果如下:","运行效果如下(彩色):","运行效果如下:","通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,flutter封装了一个icondata和icon来专门显示字体图标,上面的例子也可以用如下方式实现:",",如assetimage是实现了从asset中加载图片的imageprovider,而networkimage实现了从网络加载图片的imageprovider。"],"chapter3/radio_and_checkbox.html":[")","),",");",",","//维护单选开关状态","//选中时的颜色","//重新构建页面","=>","@overrid","[","],","_checkboxselected,","_checkboxselected=true;//维护复选框状态","_checkboxselected=value;","_switchandcheckboxtestroutest","_switchandcheckboxtestroutestate();","_switchselected,//当前状态","_switchselected=true;","_switchselected=value;","activecolor:","bool","build(buildcontext","checkbox(","children:","class","colors.red,","column(","context)","createstate()","extend","materi","new","onchanged:(value){","return","setstate(()","state","statefulwidget","switch(","switchandcheckboxtestrout","switch和checkbox属性比较简单,读者可以查看api文档,它们都有一个activecolor属性,用于设置激活态的颜色。至于大小,到目前为止,checkbox的大小是固定的,无法自定义,而switch只能定义宽度,高度也是固定的。值得一提的是checkbox有一个属性trist","value:","widget","widgets库中提供了material风格的单选开关switch和复选框checkbox,它们都是继承自statelesswidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击switch或checkbox时,它们会触发onchanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例:","{","}","});","},","。在其build方法中分别构建了一个switch和checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setstate()通知framework重新构建ui。","上面代码中,由于要维护switch和checkbox状态,所以switchandcheckboxtestroute继承自statefulwidget","单选开关和复选框","单选框和复选框","属性及外观","总结","通过switch和checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父widget来管理状态,然后当用户点击时,再通过事件通知给父widget,这样是合理的,因为switch和checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义widget时也应该思考一下哪种状态的管理方式最为合理。",",表示是否为三态,其默认值为fals",",这时checkbox有两种状态即“选中”和“不选中”,对应的value值为true和fals",";如果其值为true时,value的值会增加一个状态null,读者可以自行了解。"],"chapter3/input_and_form.html":["\"email\",","\"form","\"input1\"","\"input2\"","\"密码\",","\"密码不能少于6位\";","\"您的登录密码\",","\"用户名\",","\"用户名不能为空\";","\"用户名或邮箱\",","\"电子邮件地址\",","#\"","$v\");","()","(context){","(ctx)","(v)",")",")),","),",");","...",".length",".of(context)",".primarycolor,",".trim()",".”","//","//print(form.of(context));","//下面代码没有效果","//保存回调","//初始值","//在这里不能通过此方式获取formstate,context不对","//定义一个control","//定义下划线颜色","//将焦点从第一个textfield移到第二个textfield","//开启自动校验","//是否自动校验。","//校验密码","//由于本widget也是form的子代widget,所以可以通过下面方式获取formst","//监听输入改变","//设置control","//设置globalkey,用于后面获取formst","//隐藏下划线","//验证回调","//验证通过提交数据","0","1,","1.0))","13.0)","14.0)//定义提示文本样式","16.0,","2,","2.0,","24.0),","28.0),","5","5.0",":","=","==","=>",">","?","@overrid","@requir","[","],","_focustestroutest","_focustestroutestate();","_formkey,","_formkey=","_formtestroutest","_formtestroutestate();","_pwdcontrol","_pwdcontroller,","_selectioncontrol","_selectioncontroller,","_selectioncontroller.selection=textselection(","_selectioncontroller.text.length","_selectioncontroller.text=\"hello","_unamecontrol","_unamecontroller,","_unamecontroller.addlistener((){","_unamecontroller=new","autofocu","autofocus:","autovalid","autovalidate:","autovalidate:是否自动校验输入内容;当为true时,每一个子formfield内容发生变化时都会自动校验合法性,并直接显示错误信息。否则,需要通过调用formstate.validate()来手动校验。","baseoffset:","body:","bool","border(bottom:","border:","borderside(","borderside(color:","borderside:","boxdecoration(","build(buildcontext","builder(builder:","child,","child:","child:builder(builder:","children:","class","color:","colors.grey),//定义label字体样式","colors.grey,","colors.grey[200],","colors.red,","colors.white,","column(","const","container(","context)","controller,","controller:","controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则textfield内部会自动创建一个。","createstate()","cursorwidth、cursorradius和cursorcolor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。","data:","datetim","decor","decoration:","edgeinsets.all(15.0),","edgeinsets.all(16.0),","edgeinsets.only(top:","edgeinsets.symmetric(vertical:","emailaddress","enabled,","enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。","expanded(","extend","extentoffset:","false,","focusnod","focusnode();","focusnode);","focusnode,","focusnode.addlistener((){","focusnode1","focusnode1,//关联focusnode1","focusnode1.unfocus();","focusnode2","focusnode2,//关联focusnode2","focusnode2.unfocus();","focusnode:","focusnode和focusscopenode还有一些其它的方法,详情可以查看api文档。","focusnode绑定输入框","focusnode继承自changenotifier,通过focusnode可以监听焦点的改变事件,如:","focusnode:用于控制textfield是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。","focusscope.of(context).requestfocus(focusnode2);","focusscope.of(context);","focusscopenod","focusscopenode){","focusscopenode.requestfocus(focusnode2);","focusscopenode;","focustestrout","fontsize:","form","form(","form({","formfield","formfield({","formfieldsett","formfieldvalid","formstat","formstate).validate()){","formstate.reset():调用此方法后,会将子孙formfield的内容清空。","formstate.save():调用此方法后,会调用form子孙formfield的save回调,用于保存表单内容","formstate.validate():调用此方法后,会调用form子孙formfield的validate回调,如果有一个校验失败,则返回false,所有校验失败项都会返回用户返回的错误提示。","formstate为form的state类,可以通过form.of()或globalkey获得。我们可以通过它来对form的子孙formfield进行统一操作。我们看看其常用的三个方法:","formtestrout","form的子孙元素必须是formfield类型,formfield是一个抽象类,定义几个属性,formstate内部通过它们来完成操作,formfield部分定义如下:","form继承自statefulwidget对象,它对应的状态类为formstate。我们先看看form类的定义:","globalkey","globalkey();","hintcolor:","hintstyle:","hinttext:","horizontal:","icon(icons.email),","icon(icons.lock)","icon(icons.lock),","icon(icons.person)","icon:","if((_formkey.currentst","if(form.of(context).validate()){","if(nul","initialvalue,","initstate()","inputborder.non","inputdecor","inputdecoration(","inputdecoration(),","inputdecorationtheme(","inputdecorationtheme:","inputdecoration:用于控制textfield的外观显示,如提示文本、背景颜色、边框等。","inputformatters,","inputformatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。","int","key:","keyboardtype,","keyboardtype:","keyboardtype:用于设置该输入框默认的键盘输入类型,取值如下:","labelstyle:","labeltext:","list","materi","maxlength,","maxlengthenforc","maxlength和maxlengthenforc","maxlin","maxlines:输入框的最大行数,默认为1;如果为null,则无行数限制。","multilin","new","null","number","obscuretext","obscuretext:","obscuretext:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。","onchanged,","onchanged:","onchanged:form的任意一个子formfield内容发生变化时会触发此回调。","onchange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。","oneditingcomplete,","oneditingcomplete和onsubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onsubmitted回调是valuechanged类型,它接收当前输入内容做为参数,而oneditingcomplete不接收参数。","onpressed:","onsaved,","onsubmitted,","onwillpop,","onwillpop:决定form所在的路由是否可以直接返回(如点击返回按钮),该回调返回一个future对象,如果future的最终结果是false,则当前路由不会返回;如果为true,则会返回到上一个路由。此属性通常用于拦截返回按钮。","padding(","padding:","pagescaffold(","phone","prefixicon:","print(\"onchange:","print(_unamecontroller.text)","print(_unamecontroller.text);","print(focusnode.hasfocus);","raisedbutton(","return","row(","state","statefulwidget","style,","style:正在编辑的文本样式。","t","test\",","text","text(\"登录\"),","text(\"移动焦点\"),","text(\"隐藏键盘\"),","textalign","textalign.start,","textalign:","textcolor:","texteditingcontrol","texteditingcontroller();","textfield","textfield(","textfield(focusnode:","textfield({","textfield用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。","textformfield(","textinputact","textinputaction,","textinputaction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看api文档,下面是当值为textinputaction.search时,原生android系统下键盘样式:","textinputtyp","textinputtype.emailaddress,","textinputtype枚举值","textstyl","textstyle(color:","theme","theme(","theme.of(context).copywith(","this.cursorcolor,","this.cursorradius,","this.cursorwidth","title:","true,","underlineinputborder(","url","v","validator,","validator:","valuechang","void","voidcallback","widget","widget库中提供了丰富的输入框及表单widget。下面我们分别介绍一下。","widget,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。","widget,它继承自formfield类,也是textfield的一个包装类,所以除了formfield定义的属性之外,它还包括textfield的属性。","width:","willpopcallback","world!\";","{","|","}","})","});","},","”","下滑线浅灰色,宽度1像素","两种方式相比,onchanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:","为了方便使用,flutter提供了一个textformfield","之所以如此,是由于textfield在绘制下划线时使用的颜色是主题色里面的hintcolor,但提示文本颜色也是用的hintcolor,","代码如下:","优化后的url输入键盘;","优化后的日期输入键盘;android上会显示“:","优化后的电子邮件地址;会显示“@","优化后的电话号码输入键盘;会弹出数字键盘并显示\"*","会显示“/","其实context正是操作widget所对应的element的一个接口,由于widget树对应的element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。flutter中有很多“of(context)”这种方法,在使用时读者一定要注意context是否正确。","创建","创建一个controller:","含义","多行文本,需和maxlines配合使用(设为null或大于1)","如果我们直接修改hintcolor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintstyle,它可以覆盖hintcolor,并且主题中可以通过inputdecorationtheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下:","完整代码:","定义一个controller:","定义两个变量,用于保存用户名和密码,然后在onchange触发时,各自保存一下输入内容。","实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个textfield都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组textfield的内容,除了一个一个清除有没有什么更好的办法呢?为此,flutter提供了一个form","密码不能小于6位,如果小于6为则提示“密码不能少于6位”。","布局","当所有编辑框都失去焦点时键盘就会收起","思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?","我们修改一下上面用户登录的示例,在提交之前校验:","我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labeltext不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉textfield本身的下划线,然后通过container去嵌套定义样式,如:","控制焦点","数字;会弹出数字键盘","文本输入键盘","是否自动获取焦点。","来获取widget树中默认的focusscopenode。下面看一个示例,在此示例中创建两个textfield,第一个自动获取焦点,然后创建两个按钮:","校验用户名","注意,登录按钮的onpressed方法中不能通过form.of(context)来获取,原因是,此处的context为formtestroute的context,而form.of(context)是根据所指定context向根去查找,而formstate是在formtestroute的子树中,所以不行。正确的做法是通过builder来构建登录按钮,builder会将widget节点的context作为回调参数:","点击第一个按钮可以将焦点从第一个textfield挪到第二个textfield。","点击第二个按钮可以关闭键盘。","焦点可以通过focusnode和focusscopenode来控制,默认情况下,焦点由focusscope来管理,它代表焦点控制范围,可以在这个范围内可以通过focusscopenode在输入框之间移动焦点、设置默认焦点等。我们可以通过focusscope.of(context)","然后设置输入框controller:","用户名不能为空,如果为空则提示“用户名不能为空”。","界面如下:","登录按钮","监听文本变化","监听文本变化也有两种方式:","监听焦点变化","监听焦点状态改变事件","示例","示例:登录输入框","第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:","自定义样式","获取formstate后,","获取输入内容","获取输入内容有两种方式:","获得焦点时focusnode.hasfocus值为true,失去焦点时为false。","虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果:","表单form","设置controller:","设置onchange回调,如:","设置默认值,并从第三个字符开始选中后面的字符","调用validate()方法校验用户名密码是否合法,校验","输入框内编辑文本在水平方向的对齐方式。","输入框及表单","输入框和表单","运行后:","运行效果如下:","运行效果:","这是一种写法","这是第二种写法","通过_formkey.currentst","通过builder来获取raisedbutton所在widget树的真正context(element)","通过controller监听,如:","通过controller直接获取。","通过controller获取输入框内容","通过后再提交数据。","通过这种widget组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。",":maxlength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxlengthenforced决定当输入文本长度超过maxlength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。"],"chapter4/":["层叠布局stack、posit","布局类widget","布局类widgets简介","弹性布局flex","本章目录","流式布局wrap、flow","线性布局row、column"],"chapter4/intro.html":["(leaf/singlechild/multichild)renderobjectwidget",">","leafrenderobjectel","leafrenderobjectwidget","multichildrenderobjectel","multichildrenderobjectwidget","renderobjectwidget","singlechildrenderobjectel","singlechildrenderobjectwidget","widget","widget树的叶子节点,用于没有子节点的widget,通常基础widget都属于这一类,如text、image。","。renderobjectwidget类中定义了创建、更新renderobject的方法,子类必须实现他们,关于renderobject我们现在只需要知道它是最终布局、渲染ui界面的对象即可,也就是说,对于布局类widget来说,其布局算法都是通过对应的renderobject对象来实现的,所以读者如果对接下来介绍的某个布局类widget原理感兴趣,可以查看其renderobject的实现,而在本章中,为了让读者对布局类widget有个快速的认识,所以我们不会深入到renderobject的细节中区。在学习本章时,读者的重点是掌握不同布局类widget的布局特点,具体原理和细节我们会在后面高级部分介绍。","包含一个子widget,如:constrainedbox、decoratedbox等","包含多个子widget,一般都有一个children参数,接受一个widget数组。如row、column、stack等","对应的element","布局类widget","布局类widgets简介","布局类widget就是指直接或间接继承(包含)multichildrenderobjectwidget的widget,它们一般都会有一个children属性用于接收子widget。我们看一下继承关系","布局类widget都会包含一个或多个子widget,不同的布局类widget对子widget排版(layout)方式不同。我们在前面说过element树才是最终的绘制树,element树是通过widget树来创建的(通过widget.createelement()),widget其实就是element的配置数据。flutter中,根据widget是否需要包含子节点将widget分为了三类,分别对应三种element,如下表:","注意,flutter中的很多widget是直接继承自statelesswidget或statefulwidget,然后在build()方法中构建真正的renderobjectwidget,如text,它其实是继承自statelesswidget,然后在build()方法中通过richtext来构建其子树,而richtext才是继承自leafrenderobjectwidget。所以为了方便叙述,我们也可以直接说text属于leafrenderobjectwidget(其它widget也可以这么描述),这才是本质。读到这里我们也会发现,其实statelesswidget和statefulwidget就是两个用于组合widget的基类,它们本身并不关联最终的渲染对象(renderobjectwidget)。","用途","简介"],"chapter4/row_and_column.html":["\"),","\",",")","),",");","...","//垂直方向居中对齐","//有效,外层colum高度为整个屏幕","//测试row对齐方式,排除column默认居中对齐的干扰","30.0),),","=","[","[],","],","center三个值),不同的是crossaxisalignment的参考系是verticaldirection,即verticaldirection值为verticaldirection.down时crossaxisalignment.start指顶部对齐,verticaldirection值为verticaldirection.up时,crossaxisalignment.start指底部对齐;而crossaxisalignment.end和crossaxisalignment.start正好相反;","child:","children","children:","color:","colors.green,","colors.red,","column","column(","column可以在垂直方向排列其子widget。参数和row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比row来理解,在此不再赘述。","const","container(","crossaxisalign","crossaxisalignment.center,","crossaxisalignment.start,","crossaxisalignment:","crossaxisalignment:表示子widgets在纵轴方向的对齐方式,row的高度等于子widgets中最高的子元素高度,它的取值和mainaxisalignment一样(包含start、end、","edgeinsets.all(16.0),","expanded(","hello","jack","list","mainaxisalign","mainaxisalignment.center,","mainaxisalignment.end,","mainaxisalignment.start,","mainaxisalignment:","mainaxisalignment:表示子widgets在row所占用的水平空间内对齐方式,如果mainaxissize值为mainaxissize.min,则此属性无意义,因为子widgets的宽度等于row的宽度。只有当mainaxissize的值为mainaxissize.max时,此属性才有意义,mainaxisalignment.start表示沿textdirection的初始方向对齐,如textdirection取值为textdirection.ltr时,则mainaxisalignment.start表示左对齐,textdirection取值为textdirection.rtl时表示从右对齐。而mainaxisalignment.end和mainaxisalignment.start正好相反;mainaxisalignment.center表示居中对齐。读者可以这么理解:textdirection是mainaxisalignment的参考系。","mainaxiss","mainaxissize.max,","mainaxissize.max,//无效,内层colum高度为实际高度","mainaxissize.min,","mainaxissize:","mainaxissize:表示row在主轴(水平)方向占用的空间,默认是mainaxissize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,row的宽度始终等于水平方向的最大宽度;而mainaxissize.min表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则row的实际宽度等于所有子widgets占用的的水平空间;","padding(","padding:","row","row(","row({","row可以在水平方向排列其子widget。定义如下:","style:","text(\"","text(\"hello","text(\"i","textdirect","textdirection,","textdirection.rtl,","textdirection:","textdirection:表示水平方向子widget的布局顺序(是从左往右还是从右往左),默认为系统当前locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。","textstyle(fontsize:","verticaldirect","verticaldirection.down,","verticaldirection.up,","verticaldirection:","verticaldirection:表示row纵轴(垂直)的对齐方向,默认是verticaldirection.down,表示从上到下。","widget:","world","})","主轴和纵轴","如果row里面嵌套row,或者column里面再嵌套column,那么只有对最外面的row或column会占用尽可能大的空间,里面row或column所占用的空间为实际大小,下面以column为例说明:","如果要让里面的colum占满外部colum,可以使用expand","对于线性布局,有主轴和纵轴之分,如果布局是沿水平方,那么主轴就指是水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类mainaxisalignment和crossaxisalignment,分别代表主轴对齐和纵轴对齐。","我们将在介绍弹性布局时详细介绍expanded。","所谓线性布局,即指沿水平或垂直方向排布子widget。flutter中通过row和column来实现线性布局,类似于android中的linearlayout控件。row和column都继承自flex,我们将在弹性布局一节中详细介绍flex。","特殊情况","示例","线性布局row、column","线性布局row和column","解释:第一个row很简单,默认为居中对齐;第二个row,由于mainaxissize值为mainaxissize.min,row的宽度等于两个text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个row设置textdirection值为textdirection.rtl,所以子widget会从右向左的顺序排列,而此时mainaxisalignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个row测试的是纵轴的对齐方式,由于两个子text字体不一样,所以其高度也不同,我们指定了verticaldirection值为verticaldirection.up,即从低向顶排列,而此时crossaxisalignment值为crossaxisalignment.start表示底对齐。","请阅读下面代码,想象一下运行的结果:","运行效果:","运行结果:",":子widgets数组。"],"chapter4/flex.html":["),",");","...","//flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间","//flex的两个子widget按1:2来占据水平空间","//弹性布局的方向,","0.0,","1,","100.0,","2,","20.0),","30.0,","=","@overrid","@requir","[","[],","],","axis.horizontal,","axis.vertical,","build(buildcontext","child,","child:","children","children:","class","color:","colors.green,","colors.red,","column(","const","container(","context)","direction:","edgeinsets.only(top:","expand","expanded(","expanded({","extend","flex","flex(","flex({","flex,","flex:","flexlayouttestrout","flex为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:","flex可以沿着水平或垂直方向排列子widget,如果你知道主轴方向,使用row或column会方便一些,因为row和column都继承自flex,参数基本相同,所以能使用flex的地方一定可以使用row或column。flex本身功能是很强大的,它也可以和expanded配合实现弹性布局,接下来我们只讨论flex和弹性布局相关的属性(其它属性已经在介绍row和column时介绍过了)。","flex继承自multichildrenderobjectwidget,对应的renderobject为renderflex,renderflex中实现了其布局算法。","height:","int","list","new","padding(","padding:","return","row默认为水平方向,column默认为垂直方向","sizedbox(","spacer(","statelesswidget","this.direction,","widget","width:","{","}","})","可以按比例“扩伸”row、column和flex子widget所占用的空间。","弹性布局","弹性布局flex","弹性布局允许子widget按照一定比例来分配父容器空间,弹性布局的概念在其ui系统中也都存在,如h5中的弹性盒子布局,android中的flexboxlayout。flutter中的弹性布局主要通过flex和expanded来配合实现。","示例中的spacer的功能是占用指定比例的空间,实际上它只是expanded的一个包装:","运行效果如下:"],"chapter4/wrap_and_flow.html":["(int",")","),",");","...","//","//沿主轴方向居中","//计算每一个子widget的位置","0.0,","0;","4.0,","8.0,","80.0,","=","@overrid","[","[],","],","alignment:","avatar:","axis.horizontal,","child:","children","children:","chip(","circleavatar(backgroundcolor:","class","color:","colors.blue,","colors.blue,),","colors.brown,),","colors.green,),","colors.purple,),","colors.red,),","colors.yellow,),","const","container(width:","context)","delegate:","edgeinset","edgeinsets.all(10.0)),","edgeinsets.zero;","extend","flow","flow(","flowdeleg","height:80.0,","label:","list","margin","margin.left;","margin.top;","matrices)在对child进行位置调整的时候进行了优化:在flow定位过后,如果child的尺寸或者位置发生了变化,在flowdelegate中的paintchildren()方法中调用context.paintchild","matrices),并没有实际调整widget位置。","new","paintchildren(flowpaintingcontext","row(","runalignment:纵轴方向的对齐方式","runspacing:","runspacing:纵轴方向的间距","spacing:","spacing:主轴方向子widget的间距","testflowdeleg","testflowdelegate(margin:","testflowdelegate({this.margin});","text(\"xxx\"*100)","text('a')),","text('h')),","text('hamilton'),","text('j')),","text('lafayette'),","text('laurens'),","text('m')),","text('mulligan'),","this.align","this.crossaxisalign","this.direct","this.runalign","this.runspac","this.spac","this.textdirection,","this.verticaldirect","var","verticaldirection.down,","void","wrap","wrap(","wrap({","wrapalignment.center,","wrapalignment.start,","wrapcrossalignment.start,","x","y","{","})","下面看一个示例子:","不能自适应子widget大小,必须通过指定父容器大小或实现testflowdelegate的getsize返回固定大小。","主轴(水平)方向间距","使用复杂.","可以看到我们主要的任务就是实现paintchildren,它的主要任务是确定每个子widget位置。由于flow不能自适应子widget的大小,我们通过在getsize返回一个固定大小来指定flow的大小。","可以看到,右边溢出部分报错。这是因为row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。flutter中通过wrap和flow来支持流式布局,将上例中的row换成wrap后溢出部分则会自动折行。下面是wrap的定义:","在介绍row和colum时,如果子widget超出屏幕范围,则会报溢出错误,如:","实现testflowdelegate:","性能好;flow是一个对child尺寸以及位置调整非常高效的控件,flow用转换矩阵(transform","我们一般很少会使用flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是wrap是否满足需求。flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。flow有如下优点:","我们可以看到wrap的很多属性在row(包括flex和column)中也有,如direction、crossaxisalignment、textdirection、verticaldirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍row的部分。读者可以认为wrap和flex(包括row和column)除了超出显示范围后wrap会折行外,其它行为基本相同。下面我们看一下wrap特有的几个属性:","我们对六个色块进行自定义流式布局:","效果:","流式布局","流式布局wrap、flow","灵活;由于我们需要自己实现flowdelegate的paintchildren()方法,所以我们需要自己计算每一个widget的位置,因此,可以自定义布局策略。","示例:","纵轴(垂直)方向间距","缺点:","运行效果:","运行:","进行重绘,而context.paintchild在重绘时使用了转换矩阵(transform"],"chapter4/stack.html":[")","),",");",",","//指定未定位或部分定位widget的对齐方式","//未定位widget占满stack整个空间","//通过constrainedbox来确保stack占满屏幕","18.0,","=","@requir","[","[],","],","alignment:alignment.cent","alignmentdirectional.topstart,","alignment:此参数决定如何去对齐没有定位(没有使用positioned)或部分定位的子widget。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。","bottom分别代表离stack左、上、右、底四边的距离。width和height用于指定定位元素的宽度和高度,注意,此处的width、height","bottom来定位widget,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。","boxconstraints.expand(),","child,","child:","children","children:","color:","colors.red,","colors.white)),","const","constrainedbox(","constraints:","container(child:","fit:","fit:此参数用于决定没有定位的子widget如何去适应stack的大小。stackfit.loose表示使用子widget的大小,stackfit.expand表示扩伸到stack的大小。","friend\"),","friend\"),和第二个text原理一样,只不过是水平方向没有定位,则水平方向居中。","jack\"),","jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子widget","key","key,","left:","left、top","list","overflow.clip,","overflow:此属性决定如何显示超出stack显示空间的子widget,值为overflow.clip时,超出部分会被剪裁(隐藏),值为overflow.vis","posit","positioned(","positioned({","stack","stack(","stack({","stackfit.expand,","stackfit.loose,","text(\"hello","text(\"i","text(\"your","textdirection:和row、wrap的textdirection功能一样,都用于决定alignment对齐的参考系即:textdirection的值为textdirection.ltr,则alignment的start代表左,end代表右;textdirection的值为textdirection.rtl,则alignment的start代表右,end代表左。","textstyle(color:","this.align","this.bottom,","this.fit","this.height,","this.left,","this.overflow","this.right,","this.textdirection,","this.top,","this.width,","top:","widget","world\")没有指定定位,并且alignment值为alignment.center,所以,它会居中显示。第二个子widget","world\",style:","})","、right、","可以看到,由于第二个子widget没有定位,所以fit属性会对它起作用,就会占满stack。有stack子元素是堆叠的,所以第一个子widget被第二个遮住了,而第三个在最上层,所以可以正常显示。","和其它地方的意义稍微有点区别,此处用于配合left、top","层叠布局","层叠布局stack、posit","层叠布局和web中的绝对定位、android中的frame布局是相似的,子widget可以根据到父容器四个角的位置来确定本身的位置。绝对定位允许子widget堆叠(按照代码中声明的顺序)。flutter中使用stack和positioned来实现绝对定位,stack允许子widget堆叠,而positioned可以给子widget定位(根据stack的四个角)。","我们给上例中的stack指定一个fit属性,然后将三个子widget的顺序调整一下:","时则不会。","显示效果如下:","由于第一个子widget","示例","运行效果如下:"],"chapter5/":["container容器","pad","scaffold、tabbar、底部导航","变换transform","容器类widget","容器类widget和布局类widget都作用于其子widget,不同的是:","布局类widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)multichildrenderobjectwidget","布局类widget是按照一定的排列方式来对其子widget进行排列;而容器类widget一般只是包装其子widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。","布局限制类容器constrainedbox、sizebox","本章目录","注意,flutter官方并没有对widget进行官方分类,我们对其分类主要是为了方便讨论和对widget功能的区分记忆。","装饰容器decoratedbox",";而容器类widget一般只需要接受一个子widget(child),他们直接或间接继承自(或包含)singlechildrenderobjectwidget。"],"chapter5/padding.html":[")","),",");",",bottom","...","//","//上下各添加8像素补白","//上下左右各添加16像素补白","//左边添加8像素补白","//显式指定对齐方式为左对齐,排除对齐干扰","8.0),",":","@overrid","[","],","all(doubl","bottom):分别指定四个方向的补白。","build(buildcontext","child,","child:","children:","class","column(","const","context)","crossaxisalignment.start,","crossaxisalignment:","doubl","edgeinset","edgeinsets.all(16.0),","edgeinsets.fromltrb(20.0,.0,20.0,20.0),","edgeinsets.only(left:","edgeinsets.symmetric(vertical:","edgeinsetsgeometri","edgeinsetsgeometry是一个抽象类,开发中,我们一般都使用edgeinsets,它是edgeinsetsgeometry的一个子类,定义了一些设置补白的便捷方法。","extend","friend\"),","fromltrb(doubl","horizont","jack\"),","left,","only({left,","pad","padding(","padding({","padding,","padding:","paddingtestrout","padding可以给其子节点添加补白(填充),我们在前面很多示例中都已经使用过它了,现在来看看它的定义:","return","right","right,","statelesswidget","symmetric({","text(\"hello","text(\"i","text(\"your","top,","value)","vertical,","widget","world\"),","{","}","})","}):可以设置具体某个方向的补白(可以同时指定多个方向)。","}):用于设置对称方向的补白,vertical指top和bottom,horizontal指left和right。","分别指定四个方向的补白","我们看看edgeinsets提供的便捷方法:","所有方向均使用相同数值的补白。","示例"],"chapter5/constrainedbox_and_sizebox.html":[")","),",");","...,","//“去除”父级限制","//宽度尽可能大","//最大宽度","//最大高度","//最小宽度","//最小高度","//最小高度为50像素","//父","0.0,","100.0),","20.0),","20.0),//子","5.0,","50.0","60.0),","60.0,","80.0)","80.0),","80.0)作为子widget的约束。","80.0)等价于:","80.0,","80.0,height:","80.0,maxheight:","80.0,maxwidth:","80.0,minwidth:","90.0,","=","@overrid","additionalconstraints:","boxconstraint","boxconstraints(","boxconstraints(minheight:","boxconstraints(minwidth:","boxconstraints({","boxconstraints.expand()可以生成一个尽可能大的用以填充另一个容器的boxconstraints。除此之外还有一些其它的便捷函数,读者可以查看api文档。","boxconstraints.tightfor(width:","boxconstraints用于设置限制条件,它的定义如下:","boxconstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的boxconstraints,如boxconstraints.tight(s","boxdecoration(color:","child:","colors.red),","const","constrainedbox","constrainedbox(","constrainedbox和sizedbox","constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的。sizedbox只是constrainedbox一个定制,本节把他们放在一起讨论。","constrainedbox用于对齐子widget添加额外的约束。例如,如果你想让子widget的最小高度是80像素,你可以使用const","constraints:","container(","context)","createrenderobject(buildcontext","decoration:","double.infin","double.infinity,","height:","minheight:","minwidth:","new","redbox","redbox,","redbox=decoratedbox(","renderconstrainedbox","renderconstrainedbox(","return","size),它可以生成给定大小的限制;const","sizedbox","sizedbox(","sizedbox用于给子widget指定固定的宽高,如:","this.maxheight","this.maxwidth","this.minheight","this.minwidth","unconstrainedbox","unconstrainedbox(","unconstrainedbox不会对子widget产生任何限制,它允许其子widget按照其本身大小绘制。一般情况下,我们会很少直接使用此widget,但在\"去除\"多重限制的时候也许会有帮助,我们看一下面的代码:","widget","width:","{","}","})","“去除”了父constrainedbox的限制,则最终会按照子constrainedbox的限制来绘制redbox,即90×20:","上面代码中,如果没有中间的unconstrainedbox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于","上面我们有父子两个constrainedbox,他们的限制条件不同,运行后效果如下:","但是,读者请注意,unconstrainedbox对父限制的“去除”并非是真正的去除,上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minheight(100.0)仍然是生效的,只不过它不影响最终子元素的大小,但仍然还是占有相应的空间,可以认为此时的父constrainedbox是作用于子constrainedbox上,而redbox只受子constrainedbox限制,这一点请读者务必注意。","可以看到,我们虽然将container的高度设置为5像素,但是最终却是50像素,这正是constrainedbox的最小高度限制生效了。如果将container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,constrainedbox只限制了最小高度,并未限制最大高度。","多重限制","如果某一个widget有多个父constrainedbox限制,那么最终会是哪个生效?我们看一个例子:","实际上sizedbox和只是constrainedbox一个定制,上面代码等价于:","布局限制类容器constrainedbox、sizebox","思考题:对于maxwidth和maxheight,多重限制的策略是什么样的呢?","我们先定义一个redbox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:","我们实现一个最小高度为50,宽度尽可能大的红色容器。","显示效果:","最终显示效果是宽90,高60,也就是说是子constrainedbox的minwidth生效,而minheight是父constrainedbox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:","最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minwidth生效的是父constrainedbox,而minheight是子constrainedbox生效。","示例","而boxconstraints.tightfor(width:","而实际上constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的,我们可以看到constrainedbox和sizedbox的createrenderobject()方法都返回的是一个renderconstrainedbox对象:","运行效果如下:","通过上面示例,我们发现有多重限制时,对于minwidth和minheight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。","那么有什么方法可以彻底去除父boxconstraints的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的widget时,如果对子widget指定限制时一定要注意,因为一旦指定限制条件,子widget如果要进行相关自定义大小时将可能非常困难,因为子widget在不更改父widget的代码的情况下无法彻底去除其限制条件。"],"chapter5/decoratedbox.html":[")","),","//3像素圆角","//圆角","//形状","//渐变","//背景混合模式","//背景渐变","//边框","//阴影","//阴影,可以指定多个","//颜色","18.0),","4.0","80.0,","=","[","]","backgroundblendmode,","background:在子widget之后绘制,即背景装饰。","blendmod","blurradius:","border,","borderradius,","borderradius.circular(3.0),","borderradius:","borderradiusgeometri","boxbord","boxdecor","boxdecoration(","boxdecoration({","boxshadow(","boxshadow,","boxshadow:","boxshap","boxshape.rectangle,","child","child:","color","color,","color:colors.black54,","colors.white),),","const","createboxpainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。","decor","decoratedbox","decoratedbox(","decoratedbox({","decoratedbox可以在其子widget绘制前(或后)绘制一个装饰decoration(如背景、边框、渐变等)。decoratedbox定义如下:","decoration,","decoration:","decorationimag","decorationposit","decorationposition.background,","decoration:代表将要绘制的装饰,它类型为decoration,decoration是一个抽象类,它定义了一个接口","edgeinsets.symmetric(horizontal:","foreground:在子widget之上绘制,即前景。","gradient","gradient,","gradient:","image,//图片","lineargradient(colors:[colors.red,colors.orange[700]]),","list","offset(2.0,2.0),","offset:","padding(padding:","posit","position:此属性决定在哪里绘制decoration,它接收decorationposition的枚举类型,该枚举类两个值:","shape","style:","text(\"login\",","textstyle(color:","vertical:","widget","})","各个属性名都是自解释的,详情读者可以查看api文档,我们看一个示例:","怎么样,通过boxdecoration,我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在本章末尾来实现一个完整的gradientbutton。","我们通常会直接使用boxdecoration,它是一个decoration的子类,实现了常用的装饰元素的绘制。","效果如下:","装饰容器decoratedbox"],"chapter5/transform.html":["'dart:math'",")","),",");",");",",","//将transform.rotate换成rotatedbox","//放大到1.5倍","//旋转90度","//旋转90度(1/4圈)","//沿y轴倾斜0.3弧度","//相对于坐标系原点的对齐方式","//默认原点为左上角,左移20像素,向上平移5像素","1,","1.5,","18.0),)","20.0,","5.0),","[","],","alignment.topright,","alignment:","angle:math.pi/2","boxdecoration(color:","child:","children:","color:","colors.black,","colors.deeporange,","colors.green,","colors.red),","const","container(","decoratedbox(","decoration:","decoration:boxdecoration(color:","edgeinsets.all(8.0),","fontsize:","import","mainaxisalignment.center,","mainaxisalignment:","math;","matrix4.skewy(0.3),","new","offset(","padding:","quarterturns:","rent!'),","rotatedbox","rotatedbox(","rotatedbox和transform.rotate功能相似,它们都可以对子widget进行旋转变换,但是有一点不同:rotatedbox的变换是在layout阶段,会影响在子widget的位置和大小。我们将上面介绍transform.rotate时的示例改一下:","row(","scale:","style:","text(\"hello","text(\"你好\",","text('apart","textstyle(color:","transform(","transform.rotate(","transform.rotate可以对子widget进行旋转变换,如:","transform.scale(","transform.scale(scale:","transform.scale可以对子widget进行缩小或放大,如:","transform.translate(offset:","transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子widget平移指定的距离。","transform:","transform变换","transform可以在其子widget绘制时对其应用一个矩阵变换(transformation),matrix4是一个4d矩阵,通过它我们可以实现各种矩阵操作。下面是一个例子:","transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子widget应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:","widget,它内部就是用矩阵变换来更新ui,除此之外,flutter的动画widget中也大量使用了transform以提高性能。","world\")","world\"),","关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在flutter中一些常见的变换效果上。","变换transform","平移","效果:","旋转","显示效果:","注意","注意:要使用math.pi需先进行如下导包。","由于rotatedbox是作用于layout阶段,所以widget会旋转90度(而不只是绘制的内容),decoration会作用到widget所占用的实际空间上,所以就是上图的效果。读者可以和前面transform.rotate示例对比理解。","由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在ui需要变化时,可以直接通过矩阵变化来达到视觉上的ui改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的flow","由于第一个text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字有重合部分。","缩放"],"chapter5/container.html":["\"5.20\",",")","),",");","...",".98","//","//前景装饰","//卡片倾斜变换","//卡片内文字居中","//卡片大小","//卡片文字","//卡片阴影","//变换","//容器内补白","//容器内补白,属于decoration的装饰范围","//容器外补白","//容器大小的限制条件","//容器的高度","//背景径向渐变","120.0),","150.0),","2.0),","200.0,","4.0","40.0),","50.0,","[","[colors.red,","]","alignment.center,","alignment.topleft,","alignment:","blurradius:","boxconstraint","boxconstraints.tightfor(width:","boxdecoration(//背景装饰","boxdecoration(color:","boxshadow(","boxshadow:","center:","child:","color","color,","color:","colors.black54,","colors.orange),","colors.orange,","colors.orange],","colors.white,","colors:","color和decoration是互斥的,实际上,当指定color时,container内会自动创建一个decoration。","const","constraints,","constraints:","contain","container(","container({","container容器","container是我们要介绍的最后一个容器类widget,它本身不对应具体的renderobject,它是decoratedbox、constrainedbox、transform、padding、align等widget的一个组合widget。所以我们只需通过一个container可以实现同时需要装饰、变换、限制的场景。下面是container的定义:","decor","decoratedbox(","decoration,","decoration:","doubl","edgeinsets.all(20.0),","edgeinsets.only(top:","fontsize:","foregrounddecoration,","gradient:","height,","height:","left:","margin:","matrix4.rotationz(.2),","offset(2.0,","offset:","padding(","padding:","padding和margin","radialgradient(","radius:","style:","text(","text(\"hello","textstyle(color:","this.alignment,","this.child,","this.margin,//容器外补白,不属于decoration的装饰范围","this.padding,","this.transform,","transform:","widget来实现的,上面的示例代码实际上等价于:","width,//容器的宽度","world!\"),","})","代码:","可以发现,直观的感觉就是margin的补白是在容器外部,而padding的补白是在容器内部,读者需要记住这个差异。事实上,container内margin和padding都是通过pad","可以看到container通过组合多种widget来实现复杂强大的功能,在flutter中,这也正是组合优先于继承的实例。","大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:","实例","容器的大小可以通过width、height属性来指定,也可以通过constraints来指定,如果同时存在时,width、height优先。实际上container内部会根据width、height来生成一个constraints。","我们通过container来实现如下的卡片:","接下来我们看看container的margin和padding属性的区别:","背景色","背景装饰"],"chapter5/material_scaffold.html":["\"imgs/avatar.png\",","\"wendux\",","\"历史\",","\"图片\"];","()","(context)",")","),",");",",","...","...;","//","//中间位置空出","//其它属性见源码注释","//创建3个tab页","//均分底部导航栏横向空间","//如果leading为null,是否自动实现默认的leading按钮","//定义一个globalkey,","//导航栏","//导航栏右侧菜单","//导航栏最左侧widget,常见为抽屉菜单按钮或返回按钮。","//悬浮按钮","//抽屉","//标题是否居中","//生成tab菜单","//省略无关代码","//自定义图标","//设置key","//需要定义一个control","16.0),","1:","1;","2:","38.0),","4.0,","5),","80,",":",";","=","=>","@overrid","[","[\"新闻\",","],","_globalkey","_globalkey.currentstate.opendrawer()","_globalkey=","_onadd(){","_onitemtapped(int","_onitemtapped,","_scaffoldroutest","_scaffoldroutestate();","_selectedindex","_selectedindex,","_tabcontrol","_tabcontroller,","_tabcontroller.addlistener((){","_tabcontroller;","account'),","accounts'),","actions:","alignment.center,","alignment:","appbar","appbar(","appbar({","appbar:","appbar是一个material风格的导航栏,它可以设置标题、导航栏菜单、底部tab等。下面我们看看appbar的定义:","body:","bottom:","bottomappbar(","bottomappbar的shape属性决定洞的外形,circularnotchedrectangle实现了一个圆形的外形,我们也可以自定义外形,比如,flutt","bottomnavigationbar(","bottomnavigationbar:","bottomnavigationbaritem(icon:","build(buildcontext","builder(builder:","case","child:","children:","circularnotchedrectangle(),","class","clipoval(","color:","colors.blue,","colors.white),","colors.white,","column(","const","consum","container(","context)","context,","context:","controller:","createstate()","crossaxisalignment.start,","crossaxisalignment:","currentindex:","drawer(","drawer:","drawerhead","e)).tolist()),","edgeinsets.only(top:","edgeinsets.symmetric(horizontal:","expanded(","extend","fixedcolor:","floatingactionbutton","floatingactionbutton(","floatingactionbutton:","floatingactionbuttonlocation.centerdocked,","floatingactionbuttonlocation:","floatingactionbutton是material设计规范中的一种特殊button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过scaffold的floatingactionbutton属性来设置一个floatingactionbutton,同时通过floatingactionbuttonlocation属性来指定其在页面中悬浮的位置,这个比较简单,不在赘述。","fontweight.bold),","gallery中material组件部分的示例。注意,笔者强烈建议用户将flutt","gallery示例中就有一个”钻石“形状的实现,读者感兴趣可以自行查看。","gallery示例跑起来,它是一个很全面的flutter示例,是非常好的参考demo。","globalkey","globalkey();","icon(icons.add),","icon(icons.business)),","icon(icons.business),","icon(icons.dashboard,","icon(icons.home)),","icon(icons.home),","icon(icons.school),","icon(icons.settings),","icon(icons.share),","icon:","iconbutton(","iconbutton(icon:","image.asset(","index)","index;","initstate()","int","items:","key","key);","key,","key:","leading:","list","listtile(","listview(","mainaxisalignment.spacearound,","mainaxisalignment:","material库提供了一个scaffold","material库提供了很多widget,本节介绍一些常用的widget,其余的读者可以查看文档或flutt","material组件库中提供了一个bottomappbar","material组件库中提供了一个tabbar组件,它可以快速生成tab菜单,下面是上图对应的源码:","mediaqueri","mediaquery.removepadding(","mydraw","mydrawer(),","mydrawer({","name\"),","new","onpressed:","onpressed:_onadd","ontap:","padding(","padding.","padding:","removetop:","return","row(","scaffold","scaffold(","scaffold.of(context).opendrawer();","scaffoldrout","scaffold、tabbar、底部导航","scaffold的drawer和enddrawer属性可以分别接受一个widget作为页面的左、右抽屉菜单,如果开发者提供了抽屉菜单,那么当用户手指重屏幕左/右向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单mydrawer,源码如下:","setstate(()","shape:","singletickerproviderstatemixin","sizedbox(),","state","statefulwidget","statelesswidget","static","style:","super(key:","super.initstate();","switch(_tabcontroller.index){","tab","tab(text:","tab({","tabbar","tabbar(","tabbarview","tabbarview(","tabcontrol","tabcontroller(length:","tabs.length,","tabs.map((e)","tabs:","text(","text(\"app","text('add","text('business')),","text('home')),","text('manag","text('school')),","text(e,","textscalefactor:","textstyle(fontweight:","this);","this.actions,","this.automaticallyimplylead","this.backgroundcolor,","this.bottom,","this.centertitle,","this.child,","this.elev","this.icon,","this.leading,","this.text,","this.title,//","title:","top","true,","void","vsync:","widget","widget有三个可选参数,除了可以指定文字外,还可以指定tab菜单图标,或者直接自定义widget,定义如下:","widget的state对象,原理可以参考本书后面“element与buildcontext”","widget,可以和floatingactionbutton配合实现这种\"打洞\"效果。源码如下:","widget,它也是material组件库提供的material风格的tab菜单。","widget,它和tabbarview功能相似,读者可以自行了解一下。","widget,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。","width:","{","{}),","}","})","}),","}).tolist(),","});","},","一个导航栏","一章。flutter还有一种通用的获取statefulwidget对象state的方法:通过globalkey来获取!","上面代码中我们用到了另外几个widget,下面我们来分别介绍一下:","上面代码首先创建了一个tabcontrol","下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如下:","代码中打开抽屉菜单的方法在scaffoldstate中,通过scaffold.of(context)可以获取父级最近的scaffold","代码运行效果:","创建control","另外,material组件库也提供了一个pageview","可以看到左侧菜单已经替换成功。","可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于floatingactionbutton的位置,上面floatingactionbutton的位置为:","右下角有一个悬浮的动作按钮","大多数路由页都会包含一个导航栏,有些路由页可能会有抽屉菜单(drawer)以及底部tab导航菜单等。如果每个页面都需要开发者自己手动去实现,这会是一件非常无聊的事。幸运的是,我们前面提到过,flutt","如果我们tab页可以滑动切换的话,还需要在滑动过程中更新tabbar指示器的偏移。显然,要手动处理这些是很麻烦的,为此,material库提供了一个tabbarview组件,它可以很轻松的配合tabbar来实现同步切换和滑动状态同步,示例如下:","如果给scaffold添加了抽屉菜单,默认情况下scaffold会自动将appbar的leading设置为菜单按钮(如上面截图所示)。如果我们想自定义菜单图标,可以手动来设置leading,如:","实现代码如下:","导航栏右侧菜单","导航栏右边有一个分享按钮","导航栏底部菜单,通常为tab按钮组","导航栏阴影","底部tab导航栏","底部导航","底部导航栏打一个圆形的洞","开发者可以根据实际需求来定制。","我们可以通过scaffold的bottomnavigationbar属性来设置底部导航,如本节开始示例所示,我们通过material组件库提供的bottomnavigationbar和bottomnavigationbaritem两个widget来实现material风格的底部导航栏,可以看到代码非常简单,不在赘述。但是如果我们想实现如下效果的底部导航应该怎么做呢?","我们实现一个页面,它包含:","打开抽屉菜单","抽屉菜单drawer","抽屉菜单通常将drawer作为根节点,它实现了material风格的菜单面板,mediaquery.removepadding可以移除抽drawer内的一些指定空白,读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页顶部由用户头像和昵称组成,底部是一个菜单列表,用listview实现,关于listview我们将在后面“可滚动widget”一节详细介绍。","最终效果如下:","有一个底部导航","有一个抽屉菜单","步骤有两步:","现在,无论是点击导航栏tab菜单还是在页面上左右滑动,tab页面都会切换,并且tab菜单的状态和tab页面始终保持同步。下面我们来看看代码,细心的读者可以发现,tabbar和tabbarview的controller是同一个!正是如此,tabbar和tabbarview正是通过同一个controller来实现菜单切换和滑动状态同步的。","由于globalkey要保持全局唯一性,我们使用静态变量存储","省略无关代码","示例","给目标statefulwidget添加globalkey","自定义widget","菜单图标","菜单文本","运行后效果如下:","通过globalkey来获取state对象","通过tabbar我们只能生成一个静态的菜单,如果要实现tab页,我们可以通过tabcontroller去监听tab菜单的切换去切换tab页,代码如:","页面标题",",它是用于控制/监听tab菜单切换。然后通过tabbar生成了一个底部菜单栏,tabbar的tabs属性接受一个widget数组,表示每一个tab子菜单,我们可以自定义,也可以像示例中一样直接使用tab"],"chapter6/":["customscrollview","gridview","listview","singlechildscrollview","可滚动widget","可滚动widgets简介","本章目录","滚动监听及控制scrollcontrol"],"chapter6/intro.html":["),",");","...","//后面介绍","=","@requir","axisdirection.down,","axisdirection:滚动方向。","bouncingscrollphysics:ios下弹性效果。","child:","clampingscrollphysics:android下微光效果。","controller:此属性接受一个scrollcontroller对象。scrollcontroller的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的primaryscrollcontroller,如果子树中的可滚动widget没有显式的指定controller并且primary属性值为true时(默认就为true),可滚动widget会使用这个默认的primaryscrollcontroller,这种机制带来的好处是父widget可以控制子树中可滚动widget的滚动,例如,scaffold使用这种机制在ios中实现了\"回到顶部\"的手势。我们将在本章后面“滚动控制”一节详细介绍scrollcontroller。","cupertinoscrollbar","cupertinoscrollbar是ios风格的滚动条,如果你使用的是scrollbar,那么在ios平台它会自动切换为cupertinoscrollbar。","physics:此属性接受一个scrollphysics对象,它决定可滚动widget如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,flutter会根据具体平台分别使用不同的scrollphysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在ios上会出现弹性效果,而在android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定,flutt","scrollable({","scrollbar","scrollbar(","scrollbar和cupertinoscrollbar都是通过scrollcontroller来监听滚动事件来确定滚动条位置,关于scrollcontroller详细的内容我们将在后面专门一节介绍。","scrollbar是一个material风格的滚动指示器(滚动条),如果要给可滚动widget添加滚动条,只需将scrollbar作为可滚动widget的父widget即可,如:","sdk中包含了两个scrollphysics的子类可以直接使用:","singlechildscrollview(","this.axisdirect","this.controller,","this.physics,","this.viewportbuilder,","viewport视口","widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动widget(如listview、gridview等),然后介绍一下scrollable与可滚动widget的原理。可滚动widget都直接或间接包含一个scrol","widget,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:","})","主轴和纵轴","可滚动widgets简介","可滚动widget简介","在可滚动widget的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动widget的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。","在很多布局系统中都有viewport的概念,在flutter中,术语viewport(视口),如无特别说明,则是指一个widget的实际显示区域。例如,一个listview的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其viewport仍然是800像素。","当内容超过显示视口(viewport)时,如果没有特殊处理,flutter则会提示overflow错误。为此,flutter提供了多种可滚动widget(scrol"],"chapter6/single_child_scrollview.html":["\"abcdefghijklmnopqrstuvwxyz\";","),",");",".map((c)",".tolist(),","//动态创建一个list","//每一个字母都用一个text显示,字体为原来的两倍","//滚动方向,默认是垂直方向","2.0,))","=","=>","@overrid","axis.vertical,","bool","build(buildcontext","center(","child:","children:","class","column(","context)","edgeinsets.all(16.0),","extend","false,","padding:","primary,","primary:指是否使用widget树中默认的primaryscrollcontroller;当滑动方向为垂直方向(scrolldirection值为axis.vertical)并且controller没有指定时,primary默认为true.","return","reverse:该属性api文档解释是:是否按照阅读方向相反的方向滑动,如:scrolldirection值为axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左),reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动widget的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。","scrollbar(","singlechildscrollview","singlechildscrollview(","singlechildscrollview({","singlechildscrollviewtestrout","singlechildscrollview类似于android中的scrollview,它只能接收一个子widget。定义如下:","statelesswidget","str","str.split(\"\")","string","text(c,","textscalefactor:","this.child,","this.controller,","this.padding,","this.physics,","this.revers","this.scrolldirect","widget","z沿垂直方向显示的例子,由于垂直方向空间不够,所以使用singlechildscrollview。:","{","}","})","下面是一个将大写字母a","效果:","示例","除了通用属性,我们重点看一下reverse和primary两个属性:"],"chapter6/listview.html":["\"##loading##\";","(_words.length","(_words[index]","(buildcontext","(context,",")","),",");","...",".0),","//","//listview各个构造函数的共同参数","//material设计规范中状态栏、导航栏、listtile高度分别为24、56、56","//下划线widget预定义以供复用。","//不足100条,继续获取数据","//分割器构造器","//列表项构造器","//可滚动widget公共参数","//如果到了表尾","//子widget列表","//强制高度为50.0","//指定列表高度为400","//每次生成20个单词","//省略无关代码","//表尾标记","//重新构建列表","1","1,","100,","2)).then((e)","24","400,","50.0,","56","56,","=","==","=>","@overrid","@requir","[","[],","[loadingtag];","]);","],","_infinitelistviewst","_infinitelistviewstate();","_retrievedata()","_retrievedata();","_word","_words.insertall(_words.length","_words.length,","addautomatickeepal","addautomatickeepalives:该属性表示是否将列表项(子widget)包裹在automatickeepal","addrepaintboundari","addrepaintboundaries:该属性表示是否将列表项(子widget)包裹在repaintboundary中。当可滚动widget滚动时,将列表项包裹在repaintboundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加repaintboundary反而会更高效。和addautomatickeepalive一样,如果列表项自己维护其keepalive状态,那么此参数必须置为false。","apart'),","axi","axis.vertical,","bool","build(buildcontext","cacheextent,","caught","child:","children","children:","class","colors.blue,);","colors.green);","column(children:","const","context)","context,","controller,","createstate()","day","dedic","divider(height:","divider1=divider(color:","divider2=divider(color:","doubl","dure","e.aspascalcase).tolist()","edgeinsets.all(20.0),","edgeinsetsgeometri","error","expanded(","extend","fall","false,","future.delayed(duration(seconds:","generatewordpairs().take(20).map((e)","given","height","height:","index%2==0?divider1:divider2;","index)","indexedwidgetbuild","infinitelistview","initstate()","int","itembuilder,","itembuilder:","itembuilder:它是列表项的构建器,类型为indexedwidgetbuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。","itemcount,","itemcount:","itemcount:列表项的数量,如果为null,则为无限列表。","itemextent,","itemextent:","itemextent:该参数如果不为null,则会强制children的\"长度\"为itemextent的值;这里的\"长度\"是指滚动方向上子widget的长度,即如果滚动方向是垂直方向,则itemextent代表子widget的高度,如果滚动方向为水平方向,则itemextent代表子widget的长度。在listview中,指定itemextent比让子widget自己决定自身长度会更高效,这是因为指定itemextent后,滚动系统可以提前知道列表的长度,而不是总是动态去计算,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。","knock","library,","life","list","listtile(title:","listtile(title:text(\"商品列表\")),","listview","listview(","listview({","listview.build","listview.builder(","listview.builder(itembuilder:","listview.builder({","listview.builder适合列表项比较多(或者无限)的情况,因为只有当子widget真正显示的时候才会被创建。下面看一下listview.builder的核心参数列表:","listview.separ","listview.separated(","listview.separated可以生成列表项之间的分割器,它除了比listview.builder多了一个separatorbuilder参数,该参数是一个分割器生成器。下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。","listview3","listview公共参数已省略","listview是最常用的可滚动widget,它可以沿一个方向线性排布所有子widget。我们看看listview的默认构造函数定义:","loadingtag","loadingtag)","mediaquery.of(context).size.height","never","new","out,","padding,","padding:","performresize()。","physics,","primary,","quit","render","return","revers","scrollcontrol","scrolldirect","scrollphys","separatorbuilder:","setstate(()","shrinkwrap","shrinkwrap:","shrinkwrap:该属性表示是否根据子widget的总长度来设置listview的长度,默认值为fals","sizedbox(","smart'),","smile,","state","statefulwidget","statelesswidget","static","style'),","text(\"$index\"));","text('and","text('domest","text('i\\'m","text('when","thought","thrown","true,","unbound","var","vertic","viewport","void","widget","widget中;典型地,在一个懒加载列表中,如果将列表项包裹在automatickeepalive中,在该列表项滑出视口时该列表项不会被gc,它会使用keepalivenotification来保存其状态。如果列表项自己维护其keepalive状态,那么此参数必须置为false。","you'),","{","}","})","}),","});","},","。默认情况下,listview的会在滚动方向尽可能多的占用空间。当listview在一个无边界(滚动方向上)的容器中时,shrinkwrap必须为true。","上面参数分为两组:第一组是可滚动widget公共参数,前面已经介绍过,不再赘述;第二组是listview各个构造函数(listview有多个构造函数)的共同参数,我们重点来看看这些参数,:","从异常信息中我们可到是因为listview高度边界无法确定引起,所以解决的办法也很明显,我们需要给listview指定边界,我们通过sizedbox指定一个列表高度看看是否生效:","代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrievedata()的功能是模拟从数据源异步获取数据,我们使用english_words包的generatewordpairs()方法每次生成20个单词。","假设我们要从数据源异步分批拉取一些数据,然后用listview显示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:","可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算,那么有什么方法可以自动拉升listview以填充屏幕剩余空间的方法吗?当然有!答案就是flex。前面已经介绍过在flex布局中,可以使用expanded自动拉伸组件大小的widget,我们也说过column是继承自flex的,所以我们可以直接使用column+expanded来实现,代码如下:","可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白,那如果我们要实现列表铺满除过表头以外的屏幕空间呢?直观的方法是我们动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:","实例:无限加载列表","很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,效果如下:","总结","我们按照之前经验,写出如下代码:","本节主要介绍了listview的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过listview.custom来自定义,它需要实现一个sliverchilddelegate用来给listview生成列表项widget,更多详情请参考api文档。","注意:上面这些参数并非listview特有,在本章后面介绍的其它可滚动widget也可能会拥有这些参数,它们的含义是相同的。","注意:可滚动widget通过一个list来作为其children属性时,只适用于子widget较少的情况,这是一个通用规律,并非listview自己的特性,像gridview也是如此。","添加固定表头","然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;","看一个例子:","运行效果如下:","默认构造函数","默认构造函数有一个children参数,它接受一个widget列表(list)。这种方式适合只有少量的子widget的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建。实际上通过此方式创建的listview和使用singlechildscrollview+column的方式没有本质的区别。下面是一个例子:"],"chapter6/gridview.html":["&&","(context,","(index",")","),",");","...","//","//保存icon数据","//如果显示到最后一个并且icon总数小于200时继续获取数据","//宽高比为1时,子widget","//宽高比为2","//控制子widget","//显示区域宽高相等","//横轴三个子widget","//每行三列","0.0,","1","1.0","1.0,","120.0,","2.0","2.0,","3,","=","==","=>","@overrid","@requir","[","[],","[];","]","],","_icon","_icons.length","_icons.length,","_infinitegridviewst","_infinitegridviewstate();","_retrieveicons();","_retrieveicons():在此方法中我们通过future.delayed来模拟从异步数据源获取数据,每次获取数据需要200毫秒,获取成功后将新数据添加到_icons,然后调用setstate重新构建。","addautomatickeepal","addrepaintboundari","axi","axis.vertical,","bool","build(buildcontext","cacheextent,","childaspectratio","childaspectratio:","childaspectratio:子元素在横轴长度和主轴长度的比例。由于crossaxiscount指定后子元素横轴长度就确定了,然后通过此参数值就可以确定子元素在主轴的长度。","children","children:","children:[","class","const","context)","controller,","createstate()","crossaxiscount,","crossaxiscount:","crossaxiscount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即viewport横轴长度/crossaxiscount。","crossaxisspac","crossaxisspacing:横轴方向子元素的间距。","doubl","edgeinsets.zero,","edgeinsetsgeometri","extend","false,","flutter的gridview默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局:","griddelegate,","griddelegate:","gridview","gridview(","gridview({","gridview.build","gridview.builder(","gridview.count","gridview.count(","gridview.count构造函数内部使用了slivergriddelegatewithfixedcrossaxiscount,我们通过它可以快速的创建横轴固定数量子元素的gridview,上面的示例代码等价于:","gridview.ext","gridview.extent(","gridview.extent构造函数内部使用了slivergriddelegatewithmaxcrossaxisextent,我们通过它可以快速的创建纵轴子元素为固定最大长度的的gridview,上面的示例代码等价于:","gridview可以构建一个二维网格列表,其默认构造函数定义如下:","icon(icons.ac_unit),","icon(icons.airport_shuttle),","icon(icons.all_inclusive),","icon(icons.beach_access),","icon(icons.cake),","icon(icons.free_breakfast)","icon(icons.free_breakfast),","index)","indexedwidgetbuild","infinitegridview","initstate()","itembuilder,","itembuilder:","itemcount:","layout的委托","layout相关接口,子类需要通过实现它们来实现具体的布局算法,flutter中提供了两个slivergriddelegate的子类slivergriddelegatewithfixedcrossaxiscount和slivergriddelegatewithmaxcrossaxisextent,下面我们分别介绍:","list","mainaxisspac","mainaxisspacing:主轴方向的间距。","maxcrossaxisextent,","maxcrossaxisextent:","maxcrossaxisextent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果viewport的横轴长度是450,那么当maxcrossaxisextent的值在区间(450/4,450/3]内的话,子元素最终实际长度都为150,而childaspectratio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和slivergriddelegatewithfixedcrossaxiscount相同。","new","padding,","padding:","physics,","primary,","pub上有一个包“flutter_staggered_grid_view”","return","revers","scrollcontrol","scrolldirect","scrollphys","shrinkwrap","slivergriddeleg","slivergriddelegatewithfixedcrossaxiscount","slivergriddelegatewithfixedcrossaxiscount(","slivergriddelegatewithfixedcrossaxiscount({","slivergriddelegatewithmaxcrossaxisext","slivergriddelegatewithmaxcrossaxisextent(","slivergriddelegatewithmaxcrossaxisextent({","state","statefulwidget","true,","void","widget","{","}","})","上面我们介绍的gridview都需要一个widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子widget数量比较少时,当子widget比较多时,我们可以通过gridview.builder来动态创建子widget。gridview.build","下面我们看一个例子:","下面看一个例子:","假设我们需要从一个异步数据源(如网络)分批获取一些icon,然后用gridview来展示:","其中itembuilder为子widget构建器。","初始化数据","可以发现,子元素的大小是通过crossaxiscount和childaspectratio两个参数共同决定的。注意,这里的子元素指的是子widget的最大显示空间,注意确保子widget的实际大小不要超出子元素的空间。","在itembuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个icon。","必须指定的参数有两个:","我们可以看到,gridview和listview的大多数参数都是相同的,它们的含义也都相同,如有疑惑读者可以翻阅listview一节,在此不再赘述。我们唯一需要关注的是griddelegate参数,类型是slivergriddelegate,它的作用是控制gridview子widget如何排列(layout),slivergriddelegate是一个抽象类,定义了gridview","更多","示例","该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为:","该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为:",",它实现了一个交错gridview的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。"],"chapter6/custom_scrollview.html":["\"./images/avatar.png\",","$index'),","%","'package:flutter/material.dart';","(buildcontext","(index","),",");","*","//50个列表项","//appbar,包含一个导航栏","//grid","//grid按两列显示","//list","//materi","//创建列表项","//创建子widget","//因为本路由没有使用scaffold,为了让子级widget(如text)使用","10.0,","2,","20,","250.0,","4.0,","50","50.0,","9)],","@overrid","[","],","alignment.center,","alignment:","background:","boxfit.cover,),","build(buildcontext","child:","childaspectratio:","childcount:","class","color:","colors.cyan[100","colors.lightblue[100","const","container(","context)","context,","crossaxiscount:","crossaxisspacing:","customscrollview","customscrollview(","customscrollviewtestrout","customscrollview是可以使用sliver来自定义滚动模型(效果)的widget。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个gridview,底部需要一个listview,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体,如果使用gridview+listview来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动widget(sliver)\"粘\"起来,而customscrollview的功能就相当于“胶水”。","delegate:","design","design中头部伸缩的模型,具体效果,读者可以运行该示例查看。","edgeinsets.all(8.0),","expandedheight:","extend","fit:","flexiblespace:","flexiblespacebar(","griddelegate:","image.asset(","import","index)","int","item","itemextent:","mainaxisspacing:","material(","new","padding:","pinned:","return","sliver","sliver:","sliverappbar(","sliverchildbuilderdelegate(","sliverfixedextentlist(","slivergrid(","slivergriddelegatewithfixedcrossaxiscount(","sliverpadding(","slivers:","sliver有细片、小片之意,在flutter中,sliver通常指具有特定滚动效果的可滚动块。可滚动widget,如listview、gridview等都有对应的sliver实现如sliverlist、slivergrid等。对于大多数sliver来说,它们和可滚动widget最主要的区别是sliver不会包含scrol","sliver系列widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“sliver都和可滚动widget对应,是由于还有一些如sliverpadding、sliverappbar等是和可滚动widget无关的,它们主要是为了结合customscrollview一起使用,这是因为customscrollview的子widget必须都是sliver。","statelesswidget","text('demo'),","text('grid","text('list","title:","true,","widget","widget,也就是说sliver本身不包含滚动交互模型","{","}","},","中间的slivergrid:它用sliverpadding包裹以给slivergrid添加补白。slivergrid是一个两列,宽高比为4的网格,它有20个子widget。","代码分为三部分:","头部sliverappbar:sliverappbar对应appbar,两者不同之处在于sliverappbar可以集成到customscrollview。sliverappbar可以结合flexiblespacebar实现materi","底部sliverfixedextentlist:它是一个所有子元素高度都为50像素的列表。","示例","运行效果:","默认的样式风格,我们使用material作为本路由的根。",",正因如此,customscrollview才可以将多个sliver\"粘\"在一起,这些sliver共用customscrollview的scrollable,最终实现统一的滑动效果。"],"chapter6/scroll_controller.html":["!showtotopbtn","\"${(progress","\"0%\";","${notification.metrics.extentaft","&&","'package:flutter/material.dart';","()","(_controller.offset","(context,","(scrollnotif",")","),",");","*","...","/","//","//return","//为了避免内存泄露,需要调用_controller.dispos","//保存进度百分比","//列表项高度固定时,显式指定高度是一个好习惯(性能消耗小)","//初始滚动位置","//打印滚动位置","//放开此行注释后,进度条将失效","//是否显示“返回到顶部”按钮","//显示进度百分比","//监听滚动事件,打印滚动位置","//返回到顶部时执行动画","//进度条","//重新构建","0.0,","0}\");","100).toint()}%\";","100,","1000","200),","30.0,","50.0,",":",";","=","==","=>","?","@overrid","[","],","_control","_controller,","_controller.addlistener(()","_controller.animateto(.0,","_controller.dispose();","_progress","_scrollnotificationtestroutest","_scrollnotificationtestroutestate();","alignment.center,","alignment:","appbar(title:","appbar:","atedge:是否滑到了scrol","attach(scrollposit","backgroundcolor:","body:","bool","build(buildcontext","child:","children:","circleavatar(","class","colors.black54,","context)","context,","controller.addlistener(()=>print(controller.offset))","controller.positions.elementat(0).pixel","controller.positions.elementat(1).pixel","controller:","createscrollposition(","createstate()","curve:","curves.eas","detach(scrollposit","dispose()","doubl","duration(milliseconds:","duration:","extend","extentafter:列表中未滑入viewport部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。","extentbefore:滑出viewport顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。","extentinside:viewport内部长度;此示例中屏幕显示的列表部分的长度。","false)","false;","floatingactionbutton(","floatingactionbutton:","flutter","icon(icons.arrow_upward),","import","index)","initialscrolloffset","initstate()","itembuilder:","itemcount:","itemextent:","jumpto()","jumpto()内部会调用所有scrollposition的animateto()","jumpto()才可以被调用。当scrol","jumpto(),以实现所有和该scrollcontroller关联的scrol","jumpto(),它们是真正来控制跳转滚动位置的方法,scrollcontroller的这两个同名方法,内部最终都会调用scrollposition的。","jumpto(doubl","listtile(title:","listview(key:","listview.builder(","maxscrollextent:最大可滚动长度。","new","notification)","notification.metrics.maxscrollextent;","notification.metrics.pixel","notificationlisten","notificationlistener(","notificationlistener是一个widget,模板参数t是想监听的通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型的通知会被监听。notificationlistener需要一个onnotification回调函数,用于实现监听处理逻辑,该回调可以返回一个布尔值,代表是否阻止该事件继续向上冒泡,如果为true时,则冒泡终止,事件停止向上传播,如果不返回或者返回值为fals","null","offset","offset)、animateto(doubl","offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。","offset:可滚动widget当前滚动的位置。","oldposition);","onnotification:","onpressed:","pagestoragekey(1),","pagestoragekey(2),","pagestorage是一个用于保存页面(路由)相关数据的widget,它并不会影响子树的ui外观,其实,pagestorage是一个功能型widget,它拥有一个存储桶(bucket),子树中的widget可以通过指定不同的pagestoragekey来存储各自的数据或状态。","physics,","pixels:当前滚动位置。","position)","position.pixels;","print(\"bottomedge:","print(_controller.offset);","progress","radius:","return","scaffold(","scrollbar(","scrollcontext","scrollcontrol","scrollcontroller();","scrollcontroller({","scrollcontrollertestrout","scrollcontrollertestroutest","scrollcontrollertestroutestate();","scrollcontroller控制原理","scrollcontroller还有一些属性和方法,我们将在后面原理部分解释。","scrollcontroller间接继承自listenable,我们可以根据scrollcontroller来监听滚动事件。如:","scrollmetrics还有一些其它属性,读者可以自行查阅api文档。","scrollnotificationtestrout","scrollphys","scrollposit","scrollposition有两个常用方法:animateto()","setstate(()","showtotopbtn","stack(","state","statefulwidget","string","super.dispose();","text(\"$index\"));","text(\"$index\"),);","text(\"滚动控制\")),","text(_progress),","this.keepscrolloffset","true,//是否保存滚动位置","true;","void","widget","widget会调用attach()方法,将创建的scrollposition添加到scrollcontroller的positions属性中,这一步称为“注册位置”,只有注册后animateto()","widget使用。","widget使用,scrollcontroller会为每一个scrol","widget使用,那么我们可以通过如下方式分别读取他们的滚动位置:","widget保存的滚动位置。","widget关联后才可以。","widget关联时,scrol","widget创建一个scrollposition对象,这些scrollposition保存在scrollcontroller的positions属性中(list)。scrollposition是真正保存滑动位置信息的对象,offset只是一个便捷属性:","widget到widget树根之间任意位置都能监听。而scrollcontroller只能和具体的scrol","widget在滚动时会发送scrollnotification类型的通知,scrollbar正是通过监听滚动通知来实现的。通过notificationlistener监听滚动事件和通过scrollcontroller有两个主要的不同:","widget在第一次创建时,会滚动到initialscrolloffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialscrolloffset会被忽略。","widget时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定pagestoragekey来分别跟踪不同scrol","widget时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供pagestoragekey。这是因为scrollable本身是一个statefulwidget,它的状态中也会保存当前滚动位置,所以,只要scrol","widget本身没有被从树上detach掉,那么其state就不会销毁(dispose),滚动位置就不会丢失。只有当widget发生结构变化,导致scrol","widget来监听自己关注的通知,这种通信方式类似于web开发中浏览器的事件冒泡,我们在flutter中沿用“冒泡”这个术语。scrol","widget树中子widget可以通过发送通知(notification)与父(包括祖先)widget通信。父widget可以通过notificationlisten","widget的state就会销毁,这时如果想恢复滚动位置就需要指定pagestoragekey。","widget的state销毁或重新构建时才会丢失状态,这种情况就需要显式指定pagestoragekey,通过pagestorage来存储滚动位置,一个典型的场景是在使用tabbarview时,在tab发生切换时,tab页中的scrol","widget的位置,如:","widget的边界(此示例中相当于列表顶或底部)。","widget都会将滚动位置offset存储到pagestorage中,当scrol","widget都滚动到指定的位置。","widget重新创建时会使用scrollcontroller.initialscrolloffset;scrollcontroller.keepscrolloffset为true时,scrol","widget销毁时,会调用scrollcontroller的detach()方法,将其scrollposition对象从scrollcontroller的positions属性中移除,这一步称为“注销位置”,注销后animateto()","widget首先会调用scrollcontroller的createscrollposition()方法来创建一个scrollposition来存储滚动位置信息,接着,scrol","widget,但是有一些操作,如读取滚动位置offset,则需要一对一,但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个scrollcontroller同时被两个scrol","{","}","})","});","},","一个scrollcontroller可以同时被多个scrol","一个scrollcontroller虽然可以对应多个scrol","下面,我们监听listview的滚动通知,然后显示当前滚动进度百分比:","不同的pagestoragekey,需要不同的值,这样才可以区分为不同scrol","代码说明已经包含在注释里,下面我们看看运行效果:","和","在前几节中,我们介绍了flutter中常用的可滚动widget,也说过可以用scrollcontroller来控制可滚动widget的滚动位置,本节先介绍一下scrollcontroller,然后以listview为例,展示一下scrollcontroller的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。","在接收到滚动事件时,参数类型为scrollnotification,它包括一个metrics属性,它的类型是scrollmetrics,该属性包含当前viewport及滚动位置等信息:","将不能再被调用。","当scrollcontroller和scrol","当一个路由中包含多个scrollabl","我们介绍一下scrollcontroller常用的属性和方法:","我们创建一个listview,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使listview恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:","我们可以通过controller.positions.length来确定controller被几个scrol","我们来介绍一下scrollcontroller的另外三个方法:","我们看一看运行结果:","收到滚动事件后获得的信息不同;notificationlistener在收到滚动事件时,通知中会携带当前滚动位置和viewport的一些信息,而scrollcontroller只能获取当前滚动位置。","方法","时,则冒泡继续。","构造函数:","每次滚动结束,scrollabl","注意:一个路由中包含多个scrollabl","滚动位置恢复","滚动监听","滚动监听及控制","滚动监听及控制scrollcontrol","由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,listview会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。","监听滚动通知","示例","通过notificationlistener可以在从scrol","重新创建时再恢复。如果scrollcontroller.keepscrolloffset为false,则滚动位置将不会被存储,scrol","需要注意的是,scrollcontroller的animateto()"],"chapter7/":["inheritedwidget","theme","willpopscop","主题","功能型widget","功能型widget指的是不会影响ui布局及外观的widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的focusscope(焦点控制)、pagestorage(数据存储)、notificationlistener(事件监听)都属于功能型widget。由于widget是flutter的一等公民,功能型widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型widget。","功能型widget简介","导航返回拦截","数据共享","本章目录"],"chapter7/willpopscope.html":["'package:flutter/material.dart';","()","(_lastpressedat",")",");","...","//上次点击时间","//两次点击间隔超过1秒则重新计时","1))","=","==",">","@overrid","@requir","_lastpressedat","_lastpressedat;","alignment.center,","alignment:","async","build(buildcontext","child","child:","class","const","container(","context)","createstate()","datetim","datetime.now().difference(_lastpressedat)","datetime.now();","duration(seconds:","extend","false;","import","new","null","onwillpop,","onwillpop:","onwillpop是一个回调函数,当用户点击返回按钮时调用(包括导航返回按钮及android物理返回按钮),该回调需要返回一个future对象,如果返回的future最终值为false时,则当前路由不出栈(不会返回),最终值为true时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。","return","state","statefulwidget","text(\"1秒内连续按两次返回键退出\"),","true;","widget","willpopcallback","willpopscop","willpopscope(","willpopscope({","willpopscopetestrout","willpopscopetestroutest","willpopscopetestroutestate();","{","||","}","})","},","为了避免用户误触返回按钮而导致app退出,在很多app中都拦截了用户点击返回键的按钮,当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。flutter中可以通过willpopscope来实现返回按钮拦截,我们看看willpopscope的默认构造函数:","为了防止用户误触返回键退出,我们拦截返回事件,当用户在1秒内点击两次返回按钮时,则退出,如果间隔超过1秒则不退出,并重新记时。代码如下:","导航返回拦截","导航返回拦截willpopscop","示例","读者可以运行示例看看效果。"],"chapter7/inherited_widget.html":["!=","(","()",")","),",");","++count),",".data",".of(context)",".tostring());","//使用inheritedwidget中的共享数据","//使用sharedatawidget","//如果build中没有依赖inheritedwidget,则此回调不会被调用。","//如果返回false,则子树中依赖(build函数中有调用)本widget","//定义一个便捷方法,方便子树中的widget获取共享数据","//每点击一次,将count自增,然后重新build,sharedatawidget的data将被更新","//父或祖先widget中的inheritedwidget改变(updateshouldnotify返回true)时会被调用。","//的子widget的`state.didchangedependencies`会被调用","//该回调决定当data发生变化时,是否通知子树中依赖data的widget","//需要在子树中共享的数据,保存点击次数","0;","20.0),","8513):",":super(child:","=","=>","@overrid","@requir","[","],","__testwidgetst","__testwidgetstate();","_inheritedwidgettestroutest","_inheritedwidgettestroutestate();","_testwidget","_testwidget(),//子widget中依赖sharedatawidget","_testwidget,在其build方法中引用sharedatawidget中的数据;同时,在其didchangedependencies()","bool","build(buildcontext","center(","chang","change\");","child","child);","child:","children:","class","column(","const","context)","context.inheritfromwidgetofexacttype(sharedatawidget);","count","count,","createstate()","data:","data;","depend","didchangedepend","didchangedependencies()","edgeinsets.only(bottom:","extend","framework是怎么知道子widget有没有依赖inheritedwidget的?","framework调用。而这个“依赖”指的就是是否使用了父widget中inheritedwidget的数据,如果使用了,则代表有依赖,如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的主题、locale等发生变化时有机会来做一些事情。","i/flutt","inheritedwidget","inheritedwidgettestrout","inheritedwidget和react中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。inheritedwidget的在widget树中数据传递方向是从上到下的,这和notification的传递方向正好相反。","inheritedwidget是flutter中非常重要的一个功能型widget,它可以高效的将数据在widget树中向下传递、共享,这在一些需要在widget树中共享数据的场景中非常方便,如flutter中,正是通过inheritedwidget来共享应用主题(theme)和locale(当前语言环境)信息的。","int","mainaxisalignment.center,","mainaxisalignment:","new","of(buildcontext","old)","old.data","onpressed:","padding(","padding:","print(\"depend","raisedbutton(","return","setstate(()","sharedatawidget","sharedatawidget(","sharedatawidget({","state","statefulwidget","static","super.didchangedependencies();","text(\"increment\"),","text(sharedatawidget","this.data,","updateshouldnotify(sharedatawidget","void","widget","{","}","})","一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。","可见依赖发生变化后,其didchangedependencies()会被调用。但是读者要注意,如果_testwidget的build方法中没有使用sharedatawidget的数据,那么它的didchangedependencies()将不会被调用,因为它并没有依赖sharedatawidget。","回调中打印日志:","在介绍statefulwidget时,我们提到state对象有一个回调didchangedependencies,它会在“依赖”发生变化时被flutt","应该在didchangedependencies()中做什么?","思考题:flutter","我们看一下之前“计数器”示例应用程序的inheritedwidget版本,需要说明的是,本例主要是为了演示inheritedwidget的功能特性,并不是计数器的推荐实现方式。","数据共享","最后,我们创建一个按钮,每点击一次,就将sharedatawidget的值自增:","每点击一次按钮,计数器就会自增,控制台就会打印一句日志:","然后我们实现一个子widget","运行后界面如下:","首先,我们通过继承inheritedwidget,将当前计数器点击次数保存在sharedatawidget的data属性中:"],"chapter7/theme.html":["()","),",");","...","//","//为第二行icon自定义颜色(固定为黑色)","//主色,决定导航栏颜色","//主题颜色样本,见下面介绍","//分割线颜色","//切换主题","//卡片颜色","//当前路由主题色","//指定平台,应用特定平台控件风格","//按钮主题","//文字字体","//次级色,决定大多数widget的颜色,如进度条、开关等。","//深色还是浅色","//用于icon颜色","//用于导航栏、floatingactionbutton的背景色等","//第一行icon使用主题中的iconthem","//输入框光标颜色",":","=","==","=>","?","@overrid","[","]","],","_themecolor","_themecolor)","_themecolor,","_themetestroutest","_themetestroutestate();","accentcolor,","appbar(title:","appbar:","app定义主题数据(themedata),material组件库里很多widget都使用了主题数据,如导航栏颜色、标题字体、icon样式等。theme内会使用inheritedwidget来为其子树widget共享样式数据。","body:","bool","bright","brightness,","build(buildcontext","buttontheme,","buttonthemedata","cardcolor,","child:","children:","class","color","color:","colors.black","colors.blu","colors.t","colors.teal;","column(","context)","context)来获取的,我们看看其简化后的代码:","context,","context.inheritfromwidgetofexacttyp","context.inheritfromwidgetofexacttype(_inheritedtheme)","createstate()","cursorcolor,","data:","design","dialogbackgroundcolor,//对话框背景颜色","dividercolor,","extend","fals","floatingactionbutton(","floatingactionbutton:","fontfamily,","icon(icons.airport_shuttle),","icon(icons.favorite),","icon(icons.palette)","icontheme,","icontheme:","iconthemedata","iconthemedata(color:","icon的默认样式","mainaxisalignment.center,","mainaxisalignment:","materialcolor","new","of(buildcontext","onpressed:","platform,","primarycolor,","primaryswatch,","primaryswatch:","return","row(","scaffold(","setstate(()","shadowthemeonli","state","statefulwidget","static","string","targetplatform","text(\"","text(\"主题测试\")),","textthem","texttheme,//","theme","theme(","theme.of(context);","themedata","themedata(","themedata({","themedata.copywith(","themedata.icontheme.copywith(","themedata是materi","themetestrout","widget","widget可以为materi","widget库的主题数据,material库的widget需要遵守相应的设计规范,而这些规范可自定义部分都定义在themedata,所以我们可以通过themedata来自定义应用主题。我们可以通过theme.of方法来获取当前的themedata。","{","}","})","、indicatorcolor等也会受primaryswatch影响。","上面只是themedata的一小部分属性,完整列表读者可以查看sdk定义。上面属性中需要说明的是primaryswatch,它是主题颜色的一个\"样本\",通过这个样本可以在一些条件下生成一些其它的属性,例如,如果没有指定primarycolor,并且当前主题不是深色主题,那么primarycolor就会默认为primaryswatch指定的颜色,还有一些相似的属性如accentcolor","主题","会在widget树中从当前位置向上查找第一个类型为_inheritedtheme的widget。所以当局部使用theme后,其子树中theme.of()找到的第一个_inheritedtheme便是该theme的。","可以通过局部主题覆盖全局主题,正如代码中通过theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为widget中使用主题样式时是通过theme.of(buildcontext","字体主题,包括标题、body等文字样式","我们实现一个路由换肤功能:","我们看看themedata部分数据:","本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改materialapp的theme属性。","注意,materi","示例","简化代码,并非源码","设计规范中有些是不能自定义的,如导航栏高度,themedata只包含了可自定义部分。","运行后点击右下角悬浮按钮则可以切换主题:","需要注意的有三点:","颜色固定黑色\")","颜色跟随主题\")"],"chapter8/":["flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。","事件处理与通知","全局事件总线","原始指针事件处理","手势识别","本章目录","第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下flutter中重要的notification机制。","通知notif"],"chapter8/listener.html":["(","(event)","(event)=>print(\"in\"),","(event)=>print(\"up\"),","(pointerdownev","(pointermoveev","(pointerupev",")","),","...","//behavior:","//在命中测试期间如何表现","//定义一个状态,保存当前指针位置","//手指按下回调","//手指移动回调","//放开此行注释后可以\"点透\"","100.0)),","100.0,","150.0)),","150.0,","200.0)),","200.0,","300.0,","3039):","=","=>","[","],","_event;","a\")","a\")),","absorbpointer(","alignment.center,","alignment:","boxconstraints.tight(size(200.0,","boxconstraints.tight(size(300.0,","boxdecoration(color:","center(child:","child","child:","children:","color:","colors.blue)),","colors.blue,","colors.red,","colors.white)),","constrainedbox(","constraints:","container(","decoratedbox(","decoration:","defertochild:子widget会一个接一个的进行命中测试,如果子widget中有测试通过的,则当前widget通过,这就意味着,如果指针事件作用于子widget上时,其父(祖先)widget也肯定可以收到该事件。","delta:两次指针移动事件(pointermoveevent)的距离。","down0","down1","event)","event,在移动设备上通常为触摸事件),下一节再介绍手势处理。","flutter中可以使用listen","height:","hittestbehavior.defertochild,","hittestbehavior.opaque,","hittestbehavior.translucent,","i/flutt","key","key,","listener(","listener({","onpointerdown:","onpointermove:","onpointerup:","opaque:在命中测试时,将当前widget当成不透明处理(即使本身是透明的),最终的效果相当于当前widget的整个区域都是点击区域。举个例子:","orientation:指针移动方向,是一个角度值。","pointerev","pointer事件处理","position:它是鼠标相对于当对于全局坐标的偏移。","pressure:按压力度,如果手机屏幕支持压力传感器(如iphone的3d","print(\"down","print(\"down0\"),","print(\"down1\"),","setstate(()=>_event=event),","stack(","test),以确定指针与屏幕接触的位置存在哪些widget,","text(\"box","text(\"左上角200*100范围内非文本区域点击\")),","text(_event?.tostring()??\"\",style:","textstyle(color:","this.behavior","this.onpointercancel,//触摸事件取消回调","this.onpointerdown,","this.onpointermove,","this.onpointerup,//手指抬起回调","touch),此属性会更有意义,如果手机不支持,则始终为1。","translucent:当点击widget透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部widget透明区域时,顶部widget和底部widget都可以接收到事件,例如:","widget","widget来监听原始触摸事件,它也是一个功能性widget。","width:","})","上例中,只有点击文本内容区域才会触发点击事件,如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为hittestbehavior.opaque。注意,该属性并不能用于在widget树中拦截(忽略)事件,它只是决定命中测试时的widget大小。","上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部widget透明区域),控制台只会打印“down0”,也就是说顶部widget没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:","上面只是pointerevent一些常用属性,除了这些它还有很多属性,读者可以查看api文档。","但是flutter中没有机制取消或停止冒泡过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的widget才能触发事件。","假如我们不想让某个子树响应pointerevent的话,我们可以使用ignorepointer和absorbpointer,这两个widget都能阻止子树接收指针事件,不同之处在于absorbpointer本身会参与命中测试,而ignorepointer本身不会参与,这就意味着absorbpointer本身是可以接收指针事件的(但其子树不行),而ignorepointer不可以。一个简单的例子如下:","原始指针事件处理","在移动端,各个平台或ui系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。","如果behavior值改为hittestbehavior.opaque,则只会打印\"down1\"。","当指针按下时,flutter会对应用程序执行命中测试(hit","忽略pointerev","我们先看一个示例,后面再单独讨论一下behavior属性。","手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数pointerdownevent、pointermoveevent、pointerupevent都是pointerevent的一个子类,pointerevent类中包括当前指针的一些信息,如:","指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的widget,然后从那里开始,事件会在widget树中向上冒泡,这些事件会从最内部的widget被分发到到widget根的路径上的所有widget,这和web开发中浏览器的事件冒泡机制相似,","本节先来介绍一下原始指针事件(pointer","点击container时,由于它在absorbpointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但absorbpointer本身是可以接收指针事件的,所以会输出\"up\"。如果将absorbpointer换成ignorepointer,那么两个都不会输出。","现在,我们重点来介绍一下behavior属性,它决定子widget如何响应命中测试,它的值类型为hittestbehavior,这是一个枚举类,有三个枚举值:"],"chapter8/gesture.html":["!_toggle;","\"no","\"你好世界\"),","\"点我变色\",","'package:flutter/gestures.dart';","'package:flutter/material.dart';","(","()","(17539):","(details)","(details){","(dragdowndetail","(dragenddetail","(dragupdatedetail","(scaleupdatedetail",")","),",");","+=","..ontap","//会触发","//保存事件名","//双击","//变色开关","//垂直方向拖动事件","//手指按下时会触发此回调","//手指滑动时会触发此回调","//打印手指按下的位置(相对于屏幕)","//打印滑动结束时在x、y轴上的速度","//指定宽度,高度自适应","//更新显示的事件名","//用到gesturerecognizer的话一定要调用其dispose方法释放资源","//用户手指滑动时,更新偏移,重新构建","//缩放倍数在0.8到10倍之间","//要拖动和点击的widget","//距顶部的偏移","//通过修改图片宽度来达到缩放效果","//长按","0.0;","0.0;//距左边的偏移","10.0);","100.0,","101.8)","125.8)","200.0,","200.0;","30.0,","8513):",":","=","=>","?","@overrid","[","]","],","_drag","_dragstat","_dragstate();","_dragvert","_dragverticalst","_dragverticalstate();","_gesturedetectortestroutest","_gesturedetectortestroutestate();","_gesturerecognizertestroutest","_left","_left,","_leftb","_leftb,","_oper","_scaletestroutest","_tapgesturerecogn","_tapgesturerecognizer.dispose();","_toggl","_top","_top,","_width","_width),","_width=200*details.scale.clamp(.8,","alignment.center,","alignment:","bool","bothdirectiontestrout","bothdirectiontestroutest","bothdirectiontestroutestate();","build(buildcontext","center(","child:","children:","circleavatar(child:","class","color:","colors.blu","colors.blue,","colors.r","colors.white),","container(","context)","createstate()","details)","details.delta.dx;","details.delta.dy;","detected!\";","dispose()","doubl","down","dragdowndetails.globalposition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父widget)原点(左上角)的偏移。","dragenddetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。","dragupdatedetails.delta:当用户在屏幕上滑动时,会触发多次update事件,delta指一次update事件的滑动的偏移量。","e)","e){","e.delta.dx;","e.delta.dy;","extend","false;","fontsize:","gestur","gestureconflicttestroutest","gesturedetector(","gesturedetectortestrout","gesturedetector内部是使用一个或多个gesturerecognizer来识别各种手势的,而gesturerecognizer的作用就是通过listener来将原始指针事件转换为语义手势,gesturedetector直接可以接收一个子widget。gesturerecognizer是一个抽象类,一种手势的识别器对应一个gesturerecognizer的子类,flutter实现了丰富的手势识别器,我们可以直接使用。","gesturedetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果:","gesturedetector是一个用于手势识别的功能性widget,我们通过它可以来识别各种手势,它是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别:","gesturerecogn","height:","i/flutt","image.asset(\"./images/sea.png\",","import","left:","listener(","new","ondoubletap:","onhorizontaldragend","onhorizontaldragend:","onhorizontaldragupdate:","onlongpress:","onpandown:","onpanend:","onpanupdate:","onpointerdown:","onpointerup:","onscaleupdate:","ontap:","ontapdown:","ontapup:","ontapup发生了冲突,但是因为是在拖动的语义中,所以onhorizontaldragend胜出,所以就会打印","onverticaldragupdate:","positioned(","print(\"down\");","print(\"onhorizontaldragend\");","print(\"up\");","print(\"用户手指按下:${e.globalposition}\");","print(e.velocity);","recognizer:","return","setstate(()","singletickerproviderstatemixin","stack(","state","statefulwidget","string","style:","super.dispose();","tapgesturerecogn","tapgesturerecognizer();","text(\"a\")),","text(\"b\")),","text(_operation,","text)","text.rich(","text:","text;","textspan(","textspan(text:","textstyle(","textstyle(color:","top:","top:80.0,","updatetext(\"doubletap\"),","updatetext(\"longpress\"),","updatetext(\"tap\"),//点击","updatetext(str","velocity(235.5,","void","widget","width:","{","}","});","},","“onhorizontaldragend”。如果我们的代码逻辑中,对于手指按下和抬起是强依赖的,比如在一个轮播图组件中,我们希望手指按下时,暂停轮播,而抬起时恢复轮播,但是由于轮播图组件中本身可能已经处理了拖动手势(支持手动滑动切换),甚至可能也支持了缩放手势,这时我们如果在外部再用ontapdown、ontapup来监听的话是不行的。这时我们应该怎么做?其实很简单,通过listener监听原始指针事件就行:","一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。gesturedetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。gesturedetector会将要监听的widget的原点(左上角)作为本次手势的原点,当用户在监听的widget上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母a的示例:","代码解释:","假设我们要给一段富文本(richtext)的不同部分分别添加点击事件处理器,但是textspan并不是一个widget,这时我们不能用gesturedetector,但textspan有一个recognizer属性,它可以接收一个gesturerecognizer,假设我们在点击时给文本变色:","单一方向拖动","和","在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,gesturedetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:","如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上flutter中的手势识别引入了一个arena的概念,arena直译为“竞技场”的意思,每一个手势识别器(gesturerecognizer)都是一个“竞争者”(gesturearenamember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个listview,它的第一个子widget也是listview,如果现在滑动这个子listview,父listview会动吗?答案是否定的,这时只有子widget会动,因为这时子widget会胜出而获得滑动事件的处理权。","当同时监听ontap和ondoubletap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以gesturedetector会等一断时间来确定是否为双击事件。如果用户只监听了ontap(没有监听ondoubletap)事件时,则没有延时。","总结:","我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:","我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时tapdown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onhorizontaldragend","我们通过gesturedetector对container进行手势识别,触发相应事件后,在container上显示事件名,为了增大点击区域,将container设置为200×100,代码如下:","手势冲突","手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过listener直接识别原始指针事件来解决冲突。","手势竞争与冲突","手势识别","手势识别gesturedetector","拖动、滑动","日志:","此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。","注意:","注意:使用gesturerecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。","点击、双击、长按","现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,我们将在后面“动画”一章中实现一个完整的缩放widget。","现在我们按住圆形“a”拖动然后抬起手指,控制台日志如下:","用户手指按下:offset(26.3,","由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:","示例","竞争","缩放","运行后,就可以在任意方向拖动了:","运行效果:","这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。"],"chapter8/eventbus.html":["(arg)","(eventnam","(f","(list","(var","...","//","//保存事件订阅者队列,key:事件名(id),value:","//保存单例","//反向遍历,防止在订阅者在回调中移除自身带来的下标错位","//定义一个top","//工厂构造函数","//添加订阅者","//登录成功后触发登录事件,页面a中订阅者会被调用","//登录页b中","//监听登录事件","//私有构造函数","//移除订阅者","//触发事件,事件触发后该事件所有订阅者会被调用","//订阅者回调签名","//页面a中","1;","=","==",">","??=","[arg])","[eventcallback","_emap","_emap[eventname]","_emap[eventname].add(f);","_emap[eventname];","_singleton","_singleton;","bu","bus.emit(\"login\",","bus.on(\"login\",","class","emit(eventname,","eventbu","eventbus();","eventbus()=>","eventbus()始终返回都是同一个实例,读者应该理解并掌握这种方法。","eventbus._internal();","eventcallback","eventcallback(arg);","f","f)","f])","factori","i)","int","len","len;","level变量,页面引入该文件后可以直接使用bu","list","list();","list.length","list.remove(f);","list[i](arg);","map>();","new","null","null)","null;","off(eventname,","on(eventname,","return;","someth","static","typedef","userinfo);","var","void","{","||","}","});","事件总线","事件总线通常用于widget之间状态共享,但关于widget之间状态共享也有一些专门的package如redux,这和web框架vue/react是一致的。通常情况下事件总线是足以满足业务需求的,如果你决定使用redux的话,一定要想清楚业务是否真的有必要用它,防止“化简为繁”、过度设计。","使用","全局事件总线","在app中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的app中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:","对应事件的订阅者队列","注意:dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new"],"chapter8/notification.html":["\";","()","(context)","(context,","(notification)","(notification){","(notification.runtimetype){","),",");","//","//print(notification);","//按钮点击时分发通知","//监听通知","100,","=>","@overrid","[","],","_msg+=notification.msg+\"","_msg=\"\";","break;","bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。","build(buildcontext","builder(","builder:","case","center(","child:","children:","class","column(","context)","createstate()","extend","final","flutter中很多地方使用了通知,如可滚动(scrollable)","index)","itembuilder:","itemcount:","listtile(title:","listview.builder(","mainaxissize.min,","mainaxissize:","msg;","mynotif","mynotification(\"hi\").dispatch(context),","mynotification(this.msg);","new","notif","notification\"),","notificationlistener(","notificationrout","notificationroutest","notificationroutestate();","notification是flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)向上传递,所有父节点都可以通过notificationlistener来监听通知,flutter中称这种通知由子向父的传递为“通知冒泡”(notif","notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作element的一个接口,它与element树上的节点是对应的,通知会从context对应的element节点向上冒泡。","onnotification:","onpressed:","overscrollnotification:","print(\"开始滚动\");","print(\"正在滚动\");","print(\"滚动停止\");","print(\"滚动到边界\");","raisedbutton(","return","scrollendnotification:","scrollstartnotification:","scrollupdatenotification:","setstate(()","state","statefulwidget","string","switch","text(\"$index\"),);","text(\"send","text(_msg)","widget","widget中滑动时就会分发scrollnotification,而scrollbar正是通过监听scrollnotification来确定滚动条位置的。除了scrollnotification,flutter中还有sizechangedlayoutnotification、keepalivenotif","widget滚动通知的例子:","{","}","});","},","、layoutchangednotification等。下面是一个监听scrol","上例中的滚动通知如scrollstartnotification、scrollupdatenotification等都是继承自scrollnotification类,不同类型的通知子类会包含不同的信息,比如scrollupdatenotification有一个scrolldelta属性,它记录了移动的位移,其它通知属性读者可以自己查看sdk文档。","上面代码中,我们每点一次按钮就会分发一个mynotification类型的通知,我们在widget根上监听通知,收到通知后我们将通知通过text显示在屏幕上。","下面我们看一个完整的例子:","分发通知。","定义一个通知类,要继承自notification类;","注意:代码中注释的部分是不能正常工作的,因为这个context是根context,而notificationlistener是监听的子树,所以我们通过builder来构建raisedbutton,来获得按钮位置的context。","自定义通知","运行效果如下:","通知notif","除了flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:"],"chapter9/":["design","flutter动画简介","flutter可以轻松实现各种动画类型,对于许多widget,特别是materi","hero动画","widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。","交错动画","动画","动画结构","本章目录","简介","精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。","自定义路由过渡动画"],"chapter9/intro.html":[");","*","//通过一个回调创建一个ticker","0,","0.0);","1.0的范围。例如,fling()函数允许您提供速度(velocity)、力量(force)等,因此可以在0.0到1.0范围之外。","10.0,","2);","20.0,","200.0,","200.0到0.0的值:","2000),","255).animate(controller);","255).animate(curve);","500),","=","@overrid","abstract","addlistener()可以给animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setstate()来触发ui重建。","addstatuslistener()可以给animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见animationstatus定义)时会调用statuslistener。","alpha","anim","animation)方法,它可以获取动画当前值。","animation\\。可以通过animation对象的value属性获取动画的当前值。","animationcontrol","animationcontroller(","animationcontroller派生自animation,因此可以在需要animation对象的任何地方使用。","animationcontroller生成数字的区间可以通过lowerbound和upperbound来指定,如:","animationcontroller用于控制动画,它包含动画的启动forward()、停止stop()","animation对象本身和ui渲染没有任何关系。animation是一个抽象类,它用于保存动画的插值和状态;其中一个比较常用的animation类是animation。animation对象是一个在一段时间内依次生成一个区间(tween)之间值的类。animation对象的输出值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数。","animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。","class","colors.black54);","colors.transparent,","colortween","colortween(begin:","const","control","controller,","createticker(tickercallback","curv","curve:","curvedanim","curvedanimation(parent:","curvedanimation和animationcontroller(下面介绍)都是animation类型。curvedanimation可以通过包装animationcontroller和curve生成一个新的动画对象","curvedanimation生成的值也可以超出0.0到1.0的范围。根据选择的曲线,curvedanimation的输出可以具有比输入更大的范围。例如,curves.elasticin等弹性曲线会生成大于或小于默认范围的值。","curves.easein);","curves.easeout);","doubl","doubletween","duration(milliseconds:","duration:","duration表示动画执行的时长,通过它我们可以控制动画的速度。","end:","extend","final","flutter中动画抽象","flutter动画简介","flutter应用在启动时都会绑定一个schedulerbinding,通过schedulerbinding可以给每一次屏幕刷新添加回调,而ticker就是通过schedulerbinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用tickercallback。使用ticker(而不是timer)来驱动动画会防止屏幕外动画(动画的ui不在当前屏幕时,如锁屏时)消耗不必要的资源,因为flutter中屏幕刷新时会通知到绑定的schedulerbinding,而ticker是受schedulerbinding驱动的,由于锁屏后屏幕会停止刷新,所以ticker就不会再触发。","inttween(begin:","lowerbound:","math.pi","math.sin(t","new","ontick);","per","return","reverse()等方法。animationcontroller会在动画的每一帧,就会生成一个新的值。默认情况下,animationcontroller在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。","second),指每秒的动画帧数。很明显,帧率越高则动画就会越流畅。一般情况下,对于人眼来说,动画帧率超过16fps,就比较流畅了,超过32fps就会非常的细腻平滑,而超过32fps基本就感受不到差别了。由于动画的每一帧都是要改变ui输出,所以在一个时间段内连续的改变ui输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在ui系统中,动画的平均帧率是重要的性能指标,而在flutter中,理想情况下是可以实现60fps的,这和原生应用动画基本是持平的。","shakecurv","t)","this);","ticker","tickerprovid","transform(doubl","tween","tween(begin:","tween.anim","tween对象不存储任何状态,相反,它提供了evaluate(anim","tween构造函数需要begin和end两个参数。tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为0.0到1.0,但这不是必须的,我们可以自定义需要的范围。","tween继承自animatable,而不是继承自animation。animatable与animation相似,不是必须输出double值。例如,colortween指定两种颜色之间的过渡。","upperbound:","vsync:","{","}","、反向播放","。","为了方便开发者创建动画,不同的ui系统对动画都进行了一些抽象,比如在android中可以通过xml来描述一个动画然后设置给view。flutter中也对动画进行了抽象,主要涉及tween、animation、curve、controller这些角色。","以下示例构建了一个控制器、一条曲线和一个tween:","但是,animationcontroller具有控制动画的其他方法,例如forward()方法可以启动动画。数字的产生与屏幕刷新有关,因此每秒钟通常会产生60个数字(即60fps),在动画的每一帧,生成新的数字后,每个animation对象会调用其listener对象回调,等动画状态发生改变时(如动画结束)会调用statuslisteners监听器。","例如,下面代码创建一个animation对象,但不会启动它运行:","动画","动画过程可以是匀速的、加速的或者先加速后减速等。flutter中通过curve(曲线)来描述动画过程,curve可以是线性的(curves.linear),也可以是非线性的。","动画通知","在任何系统的ui框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变ui外观,由于人眼会产生视觉暂留,最终看到的就是一个“连续”的动画,这和电影的原理是一样的,而ui的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率fps(fram","在后面的章节中我们将会举例说明。","在某些情况下,动画值可能会超出animationcontroller的0.0","将动画过程定义为一个非线性曲线.","当创建一个animationcontroller时,需要传递一个vsync参数,它接收一个tickerprovider类型的对象,它的主要职责是创建ticker,定义如下:","我们可以通过animation来监听动画的帧和状态变化:","或","根据animation对象的控制方式,动画可以反向运行,甚至可以在中间切换方向。animation还可以生成除double之外的其他类型值,如:animation\\","注:","注意animate()返回的是一个animation,而不是一个animatable。","注意:","类类定义了许多常用的曲线,也可以创建自己的,例如:","要使用tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。","通过将singletickerproviderstatemixin添加到state的定义中,然后将state对象作为vsync的值,这在后面的例子中可以见到。","默认情况下,animationcontroller对象值的范围是0.0到1.0。如果我们需要不同的范围或不同的数据类型,则可以使用tween来配置动画以生成不同的范围或数据类型的值。例如,像下面示例,tween生成从"],"chapter9/animation_structure.html":["(buildcontext","(statu","),",");","...","..addlistener(()","//return","//使用弹性曲线","//动画恢复到初始状态时执行动画(正向)","//动画执行结束时反向执行动画","//启动动画","//启动动画(正向执行)","//启动动画(正向)","//图片宽高从0变到300","//路由销毁时需要释放动画资源","//需要继承tickerprovider,如果有多个animationcontroller,则应该使用tickerproviderstatemixin。","0.0,","1),","3),","300.0).animate(animation)","300.0).animate(controller)","300.0).animate(controller);",":","=","==","=>","@overrid","_scaleanimationroutest","_scaleanimationroutestate();","anim","animatedbuilder(","animatedimag","animatedimage(animation:","animatedimage({key","animatedwidget","animation);","animation,","animation,);","animation.addstatuslistener((status)","animation.valu","animation.value,","animation:","animation;","animation=curvedanimation(parent:","animationcontrol","animationcontroller(","animationstatus.completed)","animationstatus.dismissed)","animation})","build(buildcontext","builder:","center(","child","child)","child,","child:","child;","class","complet","const","container(","context)","context,","control","controller,","controller.dispose();","controller.forward();","controller.reverse();","controller;","createstate()","ctx,","curve:","curves.bouncein);","dismiss","dispose()","duration(seconds:","duration:","end:","extend","final","flutter中正是通过这种方式封装了很多动画,如:fadetransition、scaletransition、sizetransition、fractionaltranslation等,很多时候都可以复用这些预置的过渡类。","forward","growtransit","growtransition(","growtransition({this.child,","height:","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\",","initstate()","key,","listenable:","listenable;","new","return","revers","scaleanimationrout","setstate(()","setstate(()=>{});","singletickerproviderstatemixin","singletickerproviderstatemixin{","state","statefulwidget","statelesswidget","super(key:","super.dispose();","super.initstate();","this);","this.animation});","tween(begin:","vsync:","widget","width:","{","}","});","},","上面代码中addlistener()函数调用了setstate(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变image的宽高,因为它的高度和宽度现在使用的是animation.valu","上面的build方法中的代码可以改为:","上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给animatedbuilder后animatedbuilder再将其传递给匿名构造器,","上面的例子中并没有指定curve,所以放大的过程是线性的(匀速),下面我们指定一个curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initstate中的代码改为下面这样即可:","上面说过,我们可以通过animation的addstatuslistener()方法来添加动画状态改变监听器。flutter中,有四种动画状态,在animationstatus枚举类中定义,下面我们逐个说明:","不用显式的去添加帧监听器,然后再调用setstate()","也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:","了,这个好处和animatedwidget是一样的。","使用animatedwidget简化","动画在终点停止","动画在起始点停止","动画基本结构","动画构建的范围缩小了,如果没有builder,setstate()将会在父widget上下文调用,这将会导致父widget的build方法重新调用,而有了builder之后,只会导致动画widget的build重新调用,这在复杂布局下性能会提高。","动画正在反向执行","动画正在正向执行","动画状态监听","动画结构","含义","我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下:","我们通过实现一个图片逐渐放大的示例来演示一下flutter中动画的基本结构:","来更新ui这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。animatedwidget类封装了调用setstate()的细节,并允许我们将widget分离出来,重构后的代码如下:","枚举值","然后将该对象用作其子对象。最终的结果是animatedbuilder返回的对象插入到widget树中。","用animatedbuilder重构","用animatedwidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在animatedwidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个animatedwidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而animatedbuilder正是将渲染逻辑分离出来,","示例","细心的读者可能已经发现上面示例中通过addlistener()和setstate()","这样,最初的示例就可以改为:","通过animatedbuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个growtransition来说明,它可以对子widget实现放大动画:",",所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。"],"chapter9/route_transition.html":["(buildcontext","(context)","(context){","));",");","//使用渐隐渐入过渡,","//动画时间为500毫秒","//当前路由被激活,是打开新路由","//是返回,则不应用过渡动画","//路由b","300),","500),","=","=>","@overrid","@requir","anim","animation,","barriercolor;","barrierdismissible;","barrierlabel;","bool","builder(context),","builder(context);","builder:","builder;","buildpage(buildcontext","buildtransitions(buildcontext","child)","child:","class","color","const","context,","cupertinopageroute(","durat","duration(milliseconds:","edgeinsets.zero);","extend","faderout","faderoute(builder:","faderoute({","fadetransition(","false,","final","if(isactive)","maintainstate;","material库中提供了一个materialpageroute,它可以使用和平台风格一致的路由切换动画,如在ios上会左右滑动切换,而在android上会上下滑动切换。如果在android上也想使用左右切换风格,可以直接使用cupertinopageroute,","navigator.push(context,","new","opacity:","opaque;","padding(padding:","pageb();","pagebuilder:","pagerout","pageroutebuilder(","return","secondaryanimation)","secondaryanimation,","string","this.barriercolor,","this.barrierdismiss","this.barrierlabel,","this.builder,","this.maintainst","this.opaqu","this.transitiondur","transitionduration:","transitionduration;","true,","widget","widgetbuild","{","}","}));","}),","});","}else{","使用faderout","关于路由参数的详细信息读者可以自行查阅api文档,比较简单,不再赘述。","如果想自定义路由切换动画,可以使用pageroutebuilder,例如我们想以渐隐渐入动画来实现路由过渡:","如:","定义一个路由类faderout","我们可以看到pagebuild","无论是materialpageroute、cupertinopageroute,还是pageroutebuilder,它们都继承自pageroute类,而pageroutebuilder其实只是pageroute的一个包装,我们可以直接继承pageroute类来实现自定义路由,上面的例子可以通过如下方式实现:","有一个animation参数,这是flutter路由管理器提供的,在路由切换时pagebuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。","自定义路由切换动画","自定义路由过渡动画","虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应考虑优先使用pageroutebuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候pageroutebuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承pageroute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isactive属性是否为true,代码如下:"],"chapter9/hero.html":["\"avatar\",","\"原图\",","()","(buildcontext","),",");","//","//唯一标记,前后两个路由页hero的tag必须相同","//打开b路由","50.0,","@overrid","alignment.topcenter,","alignment:","anim","animation,","a:包含一个用户头像,圆形,点击后跳到b路由,可以查看大图。","body:","build(buildcontext","b:显示用户头像原图,矩形;","center(","child:","class","clipoval(","container(","context)","context,","extend","fadetransition(","framework内部正式通过tag来对应新旧路由页widget的对应关系的。","framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值即可,幸运的是,这些事情flutter已经帮我们做了。","framework自动完成的。必须要注意,","hero","hero(","heroanimationrout","heroanimationrouteb","heroanimationrouteb(),","hero动画","hero动画的原理比较简单,flutt","hero指的是可以在路由(页面)之间“飞行”的widget,简单来说hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换,由于共享的widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会逐渐过渡,这样就会产生一个hero动画。","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\",","inkwell(","navigator.push(context,","new","ontap:","opacity:","pagebuilder:","pageroutebuilder(","pagescaffold(","return","secondaryanimation)","statelesswidget","tag:","title:","widget","widget将要共享的widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是flutt","width:","{","}","})","},","你可能多次看到过","假设有两个路由a和b,他们的内容交互如下:","共享元素转换。下面我们通过一个示例来体验一下hero","前后路由页的共享hero的tag必须是相同的,flutt","动画。","动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。","在ab两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:","在flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为","我们可以看到,实现hero动画只需要用hero","示例","路由a","路由b:"],"chapter9/stagger_animation.html":["()","),",").animate(",");",",",".0),","//","//先正向执行动画","//再反向执行动画","//调用我们定义的交错动画widget","//间隔,前60%的动画时间","//间隔,后40%的动画时间","//高度动画","0.0,","0.6,","0.6,//间隔,前60%的动画时间","1.0,","100.0),","2000),","300.0,","50.0,","=","=>","@overrid","_buildanimation(buildcontext","_buildanimation,","_control","_controller.forward().orcancel;","_controller.reverse().orcancel;","_controller;","_playanimation()","_playanimation();","_staggerdemost","_staggerdemostate();","alignment.bottomcenter,","alignment:","anim","animatedbuilder(","animation:","animationcontrol","animationcontroller(","animation)。交错动画需要注意以下几点:","async","await","begin:.0","begin:colors.green","begin:edgeinsets.only(left:","behavior:","border.all(","border:","boxdecoration(","build(buildcontext","builder:","canceled,","center(","child)","child:","class","color","color.value,","color:","color;","colors.black.withopacity(0.1),","colors.black.withopacity(0.5),","colortween(","const","container(","context)","context,","controller,","controller:","controller;","createstate()","curve:","curvedanimation(","curves.ease,","decoration:","dispos","duration(milliseconds:","duration:","end:","end:colors.red,","end:edgeinsets.only(left:","extend","final","futur","gesturedetector(","height","height.value,","height:","height;","hittestbehavior.opaque,","initstate()","interval(","key","key){","key,","ontap:","pad","padding:padding.valu","padding;","parent:","probabl","return","staggeranim","staggeranimation(","staggeranimation({","staggeranimation中定义了三个动画,分别是对container的height、color、padding属性设置的动画,然后通过interval来为每个动画指定在整个动画过程的起始点和终点。","staggerdemo","state","statefulwidget","statelesswidget","super(key:","super.initstate();","this.control","tickercancel","tickerproviderstatemixin","tri","tween(","tween指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定起始点和终止点来决定它们的开始时间和终止时间。","void","vsync:","widget","width:","{","}","}):","},","一个animationcontroller控制所有动画","下面我们来实现启动动画的路由:","下面我们看一个例子,实现一个柱状图增长的动画:","交错动画","开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。","我们将执行动画的widget分离出来:","所有动画都由同一个animationcontroller驱动,无论动画实时持续多长时间,控制器的值必须介于0.0和1.0之间,而每个动画的间隔(interval)介于0.0和1.0之间。对于在间隔中设置动画的每个属性,请创建一个tween。","执行效果如下,点击灰色矩形,就可以看到整个动画效果:","有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同改变颜色,等到增长到最大高度后,我们需要在x轴上平移一段距离。这时我们就需要使用交错动画(stagger","示例","给每一个动画对象指定间隔(interval)","要创建交错动画,需要使用多个动画对象","高度增长到300后,开始沿x轴向右平移100像素;这个过程占用整个动画时间的40%。"],"chapter13/":["custompaint与canva","实例:turnbox","实例:圆形渐变进度条","本章目录","自定义widget","自定义widget方法简介","通过组合现有widget实现"],"chapter13/intro.html":["api手动去绘制ui,缺点是必须了解canva","api来实现。子类需要实现此方法以实现自身的绘制逻辑,如renderparagraph需要实现文本绘制逻辑,而renderimage需要实现图片绘制逻辑。","api,并且得自己去实现绘制逻辑,而优点是强大灵活,理论上可以实现任何外观的ui。","context,","flutter提供的任何具有ui外观的widget,如文本text、image都是通过相应的renderobject渲染出来的,如text是由renderparagraph渲染,而image是由renderimage渲染。renderobject是一个抽象类,它定义了一个抽象方法paint(...):","offset","offset)","paint(paintingcontext","paintingcontext代表widget的绘制上下文,通过paintingcontext.canvas可以获得canvas,绘制逻辑主要是通过canva","void","可以发现,renderobject中最终也是通过canvas来绘制的,那么通过实现renderobject的方式和上面介绍的通过custompaint和canvas自绘的方式有什么区别?其实答案很简单,custompaint只是为了方便开发者封装的一个代理类,它直接继承自singlechildrenderobjectwidget,通过rendercustompaint的paint方法将canvas和画笔painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在painter中)。","在flutter中,组合的思想非常重要,flutter提供了非常多的基础widget,而我们的界面开发都是按照需要组合这些widget来实现各种不同的布局。","在本章接下来的小节中,我们将通过一些实例来详细介绍自定义ui的过程,由于后两种方法本质是相同的,后续我们只介绍custompaint和canvas的方式,读者如果对自定义renderobject的方法好奇,可以查看renderparagraph或renderimage源码。","如果遇到无法通过系统提供的现有widget实现的ui时,如我们需要一个渐变圆形进度条,而flutter提供的circularprogressindicator并不支持在显示精确进度时对进度条应用渐变色(其valuecolor","实现renderobject","属性只支持执行旋转动画时变化indicator的颜色),这时最好的方法就是通过自定义widget绘制逻辑来画出我们期望的外观。flutter中提供了custompaint和canvas供我们自绘ui外观。","当flutter提供的现有widget无法满足我们的需求,或者我们为了共享代码需要封装一些通用widget,这时我们就需要自定义widget。在flutter中自定义widget有三种方式:通过组合其它widget、自绘和实现renderobject,本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。","总结","组合其它widget","组合是自定义组件最简单的方法,在任何需要自定义的场景下,都应该优先考虑是否能够通过组合来实现。而自绘和通过实现renderobject的方法本质上是一样的,都需要开发者调用canva","自定义widget方法简介","自绘","这种方式是通过拼装其它低级别的widget来组合成一个高级别的widget,例如我们之前介绍的container就是一个组合widget,它是由decoratedbox、constrainedbox、transform、padding、align等组成。"],"chapter13/combine.html":["'package:flutter/material.dart';","),",");",",","//","//点击回调","//确保colors数组不空","50.0,","=","??","@overrid","@requir","[","[colors.lightblue[300],","[colors.lightgreen,","[colors.orange,colors.red],","[theme.primarycolor,","],","_color","_colors),","boxconstraints.tightfor(height:","boxdecoration(","build(buildcontext","center(","child),","child:","child;","children:","class","click\");","color","colors.blueaccent],","colors.green[700]],","colors.last,","colors.transparent,","colors:","colors;","column(","const","constrainedbox(","constraints:","container(","context)","decoratedbox(","decoration:","defaulttextstyle(","doubl","edgeinsets.all(8.0),","extend","final","flutter","fontweight.bold),","gesturetapcallback","gradient:","gradientbutton","gradientbutton(","gradientbutton({","gradientbuttonrout","height,","height:","height;","highlightcolor:","import","inkwell(","lineargradient(colors:","list","material(","materialtype.transparency,","ontap(){","ontap,","ontap:","ontap:ontap","ontap;","padding(","padding:","print(\"button","return","splashcolor:","statelesswidget","style:","text(\"submit\"),","textstyle(fontweight:","theme","theme.of(context);","theme.primarycolor];","theme.primarycolordark","themedata","this.child,","this.colors,","this.height,","this.ontap,","this.width,","type:","widget","widget。我们先来看看效果:","widget库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个gradientbutton","width),","width:","width;","{","}","});","使用gradientbutton","可以看到gradientbutton是由padding、center、inkwell等widget组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态、不能定义圆角等,读者可以根据实际需要来完善。","在flutter中页面ui通常都是由一些低阶别的widget组合而成,当我们需要封装一些通用widget时,应该首先考虑是否可以通过组合其它widget来实现,如果可以则应优先使用组合,因为直接通过现有widget拼装会非常方便、简单、高效。","总结","我们看看gradientbutton实现:","按钮宽高","标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解widget的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用widget时能够兼容或报错提示(使用assert断言函数)。","渐变色数组","示例:自定义渐变按钮","通过组合现有widget实现","通过组合现有widget实现自定义widget","通过组合的方式定义widget和我们之前写界面并无差异,不过在抽离出单独的widget时我们要考虑代码规范性,如必要参数要用@requir"],"chapter13/turn_box.html":["!=","'../widgets/index.dart';","'package:flutter/material.dart';","'package:flutter/widgets.dart';","()","(oldwidget.turn",")","),",");","+=",".0,",".0;",".2;","//旋转的“圈”数,一圈为360度,如0.25圈即90度","//旋转角度发生变化时执行过渡动画","//过渡动画执行的总时长","1000,","150.0,),","200,","50,),","500,",":super(key:","=","=>","@overrid","[","],","_control","_controller,","_controller.animateto(","_controller.dispose();","_controller.valu","_controller;","_turn","_turnboxroutest","_turnboxroutestate();","_turnboxst","_turnboxstate();","_turns,","animationcontrol","animationcontroller(","build(buildcontext","center(","child:","child;","children:","class","column(","const","context)","createstate()","curve:","curves.easeout,","didupdatewidget(turnbox","dispose()","doubl","double.infin","double.infinity,","duration(milliseconds:","duration:","extend","final","icon(icons.refresh,","import","initstate()","int","key","key);","key,","lowerbound:","new","oldwidget)","onpressed:","raisedbutton(","return","rotationtransition(","setstate(()","singletickerproviderstatemixin","size:","speed:","speed;","state","statefulwidget","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","text(\"逆时针旋转1/5圈\"),","text(\"顺时针旋转1/5圈\"),","this,","this.child","this.spe","this.turn","turnbox","turnbox(","turnbox({","turnboxrout","turnbox的完整代码如下:","turns:","turns;","upperbound:","void","vsync:","widget","widget.child,","widget.speed??200),","widget.turns)","widget.turns,","widget.turns;","{","}","})","});","},","下面我们测试一下turnbox的功能,测试代码如下:","代码比较简单,我们主要是通过包装(组合)rotationtransition来实现的。","实例:turnbox","当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。","我们之前已经介绍过rotatedbox,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转,二是当旋转的角度发生变化时,旋转角度更新过程没有动画。","本节我们将实现一个turnbox,它可以以任意角度来旋转其子节点,并且在角度发生变化时可以执行一个动画过渡到新状态,同时,我们可以手动指定动画速度。","测试代码运行后效果如下图:"],"chapter13/custom_paint.html":["&","'dart:math';","'package:flutter/material.dart';","(int",")","),",");","..color","..color=color(0x77cdb175);//画笔颜色","..isantialia","..strokewidth","..style","/","//创建一个画笔并配置其属性","//填充","//子节点,可以为空","//指定画布大小","//是否抗锯齿","//画棋盘网格","//画棋盘背景","//画笔样式:填充","//线","//背景为纸黄色","0;","1.0;","15;","300),","=","@overrid","build(buildcontext","canvas,","canvas.drawrect(offset.zero","canvas:一个画布,包括各种绘制方法,我们列出一下常用的方法:","center(","child,","child:","class","color(0x77cdb175);","colors.black87","const","context)","custompaint","custompaint(","custompaint({","custompainter中提定义了一个虚函数paint:","custompaintrout","custompaint与canva","doubl","drawarc","drawcircl","drawimag","drawlin","drawov","drawpath","drawpoint","drawrect","eheight","ewidth","extend","false,","foregroundpainter:","import","iscomplex:是否复杂的绘制,如果是,flutter会应用一些缓存策略来减少重复渲染的开销。","key","key,","mypaint","mypainter(),","paint","paint()","paint(canva","paint);","painter:","paintingstyle.fil","paintingstyle.strok","paint有两个参数:","repaintboundary(child:...)),","return","size","size(300,","size)","size);","size,","size.height","size.width","size.zero,","size:","size:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用sizebox包裹custompaint实现。","size:当前绘制区域大小。","statelesswidget","this.foregroundpainter,","this.iscomplex","this.painter,","this.siz","this.willchang","true","true;","var","void","widget","widget中,这样会在绘制时创建一个新的绘制层(layer),其子widget将在新的layer上绘制,而父widget将在原来layer上绘制,也就是说repaintboundari","widget最终会通过renderparagraph对象来通过canvas实现文本绘制逻辑。","widget,它可以结合一个画笔custompainter来实现绘制自定义图形。","willchange:和iscomplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。","{","|","|api名称","}","})","下一节我们再通过实现一个自绘的圆形渐变进度条的实例来帮助读者加深印象。","下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘ui的过程,首先我们看一下我们的目标结果:","代码:","几乎所有的ui系统都会提供一个自绘ui的接口,这个接口通常会提供一块2d画布canvas,canvas内部封装了一些基本绘制的api,开发者可以通过canvas绘制各种自定义图形。在flutter中,提供了一个custompaint","前景画笔,会显示在子节点前面","功能","可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承custompainter类,我们在画笔类中实现真正的绘制逻辑。","如果custompaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在repaintboundari","子widget的绘制将独立于父widget的绘制,repaintboundary会隔离其子节点和custompaint本身的绘制边界。示例如下:","对于一些复杂或不规则的ui,我们可能无法使用现有widget组合的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等,当然有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片是实现不了的,比如要实现一个手写输入面板。这时,我们就需要来自己绘制ui外观。","尽可能的利用好shouldrepaint返回值;在ui树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的ui不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的ui外观;如果绘制依赖外部状态,那么我们就应该在shouldrepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。","性能","总结","我们看看custompaint构造函数:","更多的配置属性读者可以参考paint类定义。","注意","现在画布有了,我们最后还缺一个画笔,flutter提供了paint类来实现画笔。在paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:","画图像","画圆","画圆弧","画椭圆","画点","画矩形","画笔paint","画线","画路径","示例:五子棋/盘","绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个widget,并设置其shouldrepaint回调值为false,然后将棋盘widget作为背景。然后将棋子的绘制放到另一个widget中,这样落子时只需要绘制棋子。","绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:","背景画笔,会显示在子节点后面;","自绘控件非常强大,理论上可以实现任何2d图形外观,实际上flutter提供的所有widget最终都是调用canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的widget的源码,找到其对应的renderobject对象,如text"],"chapter13/gradient_circular_progress_demo.html":["!=","\"${(_animationcontroller.valu","&","'../widgets/index.dart';","'dart:math';","'package:flutter/material.dart';","(_color","(_valu","(backgroundcolor","(buildcontext","(isforward)","(radiu","(size.width","(statu","(strokecapround)","(valu",")","),",").createshader(rect);",");","*","..isantialia","..strokecap","..strokewidth","..style",".0);",".0,",".0;",".5,",".75,",".accentcolor;",".of(context)",".value),",".value,","/","//","///","///两端是否为圆角","///粗细","//width:","//剪裁半圆","//实现画笔","0)","0.0,","1","1,","1.0)","1.0]","1.5","10.0),","10.0,","100).toint()}%\",","100.0,","104.0,","16.0),","16.0,","2","2.0","2.0,","2.0;","20.0,","200.0,","25.0,","3));","3.0,","5.0,","50.0,","8,","8.0),","8.0,",":","=","==","=>",">","?","??","@overrid","@requir","[","[0.0","[color,","[colors.blue,","[colors.blue[700],","[colors.red,","[colors.teal,","],","_animationcontrol","_animationcontroller,","_animationcontroller.addstatuslistener((status)","_animationcontroller.dispose();","_animationcontroller.forward();","_animationcontroller.reverse();","_animationcontroller.value),","_animationcontroller.value,","_animationcontroller;","_color","_colors,","_gradientcircularprogresspaint","_gradientcircularprogresspainter(","_gradientcircularprogresspainter({","_offset","_offset)","_offset,","_start","_start,","_valu","_value,","_value.clamp(.0,","align(","alignment.center,","alignment.topcenter,","alignment:","angle:","animatedbuilder(","animation:","animationcontrol","animationcontroller(vsync:","animationstatus.complet","animationstatus.dismissed)","animationstatus.forward)","animationstatus.reverse)","asin(stokewidth","asin(stokewidth/","backgroundcolor,","backgroundcolor:","backgroundcolor;","bool","build(buildcontext","builder:","canvas,","canvas.drawarc(","center(","child)","child:","children:","class","cliprect(","color","color(0xffeeeeee),","color:","color];","colors,","colors.amber,","colors.blue,","colors.blue[200]],","colors.blue[300]],","colors.blue],","colors.bluegrey,","colors.cyan,","colors.cyan[500]],","colors.cyan],","colors.green[200],","colors.orange,","colors.orange],","colors.r","colors.red,","colors.red[50],","colors.red],","colors.transparent)","colors.transparent,","colors:","colors;","column(","const","context)","context,","createstate()","crossaxisalignment.center,","crossaxisalignment:","curve:","curvedanimation(","curves.decelerate)","curves.ease)","custompaint","custompaint(","dispose()","doubl","duration(seconds:","duration:","edgeinsets.only(bottom:","edgeinsets.only(top:","edgeinsets.symmetric(vertical:","endangle:","extend","false,","false;","final","fontsize:","gradient","gradientcircularprogressind","gradientcircularprogressindicator(","gradientcircularprogressindicator({","gradientcircularprogressrout","gradientcircularprogressroutest","gradientcircularprogressroutestate();","height:","heightfactor:","import","initstate()","isforward","list","new","null)","offset(_offset,","olddelegate)","padding(","padding:","paint","paint()","paint(canva","paint.color","paint.shad","painter:","paintingstyle.strok","parent:","pi","pi,","positioned(","quarterturns:","radius,","radius:","radius;","rect","rect,","return","rotatedbox(","runspacing:","shouldrepaint(custompaint","singlechildscrollview(","size","size(","size)","size.fromradius(radius),","size.fromradius(radius);","size.height","size.width","size:","sizedbox(","spacing:","stack(","startangle:","state","statefulwidget","statelesswidget","statu","stokewidth","stokewidth));","stokewidth,","stokewidth:","stokewidth;","stops,","stops:","stops;","strokecap.butt","strokecap.round","strokecapround","strokecapround,","strokecapround:","strokecapround;","style:","super.dispose();","super.initstate();","sweepgradient(","text(","textstyle(","theme","this,","this.backgroundcolor","this.colors,","this.radius,","this.stokewidth","this.stokewidth:","this.stops,","this.strokecapround","this.strokecapround:","this.tot","this.totalangl","this.valu","tickerproviderstatemixin","top:","total,","total:","total;","totalangle,","totalangle:","totalangle;","transform.rotate(","true","true,","true;","turnbox(","turns:","value,","value:","value;","var","void","widget","width:","wrap(","{","||","}","});","},","下面我们来测试一下,为了尽可能多的展示gradientcircularprogressindicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:","下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样","任意弧度;整个进度可以不是整圆。","先画背景","再画前景,应用渐变","可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现。","可以自定义粗细、两端是否圆角等样式。","圆的半径","如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置","完整的代码:","实例:圆形渐变进度条(自绘)","实现代码如下:","当前进度,取值范围","支持多种渐变色。","本节我们实现一个圆形渐变进度条,它支持:","渐变色数组","渐变色的终止点,对应colors属性","进度条的总弧度,2*pi为整圆,小于2*pi则不是整圆","进度条背景色"],"chapter10/":["api","dio","httpclient","http请求","json转model","packag","websocket","使用socket","文件操作","文件操作与网络请求","本章目录"],"chapter10/file_operation.html":["$_counter","'dart:async';","'dart:io';","'increment',","'package:flutter/material.dart';","'package:path_provider/path_provider.dart';","(await","),",");","//","//从文件读取点击次数","0;",":","=","=>","@overrid","^0.4.1","_counter","_counter++;","_counter;","_fileoperationroutest","_fileoperationroutestate();","_getlocalfile()","_getlocalfile()).writeasstring('$_counter');","_getlocalfile();","_incrementcounter()","_incrementcounter,","_readcounter()","_readcounter().then((int","android和ios的应用存储目录不同,pathprovid","appbar(title:","appbar:","app目录","async","await","body:","build(buildcontext","center(","child:","class","content","context)","createstate()","dart的io库包含了文件读写的相关类,它属于dart语法标准的一部分,所以通过dart","dir","extend","file","file('$dir/counter.txt');","file.readasstring();","fileoperationrout","fileoperationroute({key","filesystemexcept","floatingactionbutton(","floatingactionbutton:","futur","getapplicationdocumentsdirectory()).path;","gettemporarydirectory()","icon(icons.add),","import","initstate()","int","int.parse(contents);","io库操作文件的api非常丰富,但本书不是介绍dart语言的,故不详细说明,读者需要的话可以自行学习。","io库来操作文件的,不过和dart","io库,无论是dart","key);","key})","new","onpressed:","packag","path_provider:","return","scaffold(","sdk中getexternalstoragedirectory的返回值。","setstate(()","state","statefulwidget","string","super(key:","super.initstate();","text('文件操作')),","text('点击了","tooltip:","tri","value)","value;","vm下的脚本还是flutter,都是通过dart","vm是运行在pc或服务器操作系统下,而flutter是运行在移动操作系统中,他们的文件系统会有一些差异。","vm相比,flutter有一个重要差异是文件系统路径不同,这是因为dart","void","widget","{","}","});","一旦你的flutter应用程序有一个文件位置的引用,你可以使用dart:ioapi来执行对文件系统的读/写操作。有关使用dart处理文件和目录的详细内容可以参考dart语言文档,下面我们看一个简单的例子。","上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。","临时目录:","可以使用","可以使用getapplicationdocumentsdirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在ios上,这对应于nsdocumentdirectory。在android上,这是appdata目录。","外部存储目录:可以使用getexternalstoragedirectory()来获取外部存储目录,如sd卡;由于ios不支持外部目录,所以在ios下调用该方法会抛出unsupportederror异常,而在android下结果是android","实现:","将点击次数以字符串类型写到文件中","引入pathprovider插件;在pubspec.yaml文件中添加如下声明:","我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。","插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:","文件操作","文档目录:","来获取临时目录;","次'),","注意,dart","添加后,执行flutter","版本号可能随着时间推移会发生变化,读者可以使用最新版。","示例","系统可随时清除的临时目录(缓存)。在ios上,这对应于nstemporarydirectory()","获取一下,","获取应用目录","读取点击次数(以字符串)","返回的值。在android上,这是getcachedir())返回的值。","这里,我们使用文件来保存数据:"],"chapter10/http.html":["\"\"))","\"\";","\"admin\",","\"flutterchina.club\",","\"https\",","\"mozilla/5.0","\"proxi","\"test\");","\"xx\":\"xx\",","\"yy\":\"dd\"","\"正在请求...\";","\"请求失败:$e\";","&&","'dart:convert';","'dart:io';","'package:flutter/material.dart';","()","(18545):","(e)","(iphone;","(khtml,","(uri)",")","),",");","...","....","//","//basic认证凭据","//file为证书路径","//request.addstream(_inputstream);","//使用iphone的ua","//关闭client后,通过该client发起的所有请求都会中止。","//创建一个httpclient","//可以直接添加输入流","//打开http连接","//有多个,省略...","//等待连接服务器(会将请求信息发送给服务器)","//证书一致,则允许发送数据","//读取响应内容","//输出响应头","00522983","00525262401065761290103018,","10:00:52","10_3_1","192.168.1.2:8888\";","2018","30","50.0,","8",":","=","=>","?","@overrid","[","],","_httptestroutest","_httptestroutestate();","_load","_text","accept","addcredentials(uri","addproxycredentials(","age=172800","agent\",","agent字段。","aliv","alive字段值,为了避免频繁建立连接,httpclient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。","applewebkit/603.1.30","async","async{","authenticate(futur","authenticate:","authenticateproxy(","authenticate”","authorization:","autouncompress","await","based认证等,目前flutter的httpclient只支持basic和digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用basic认证还是digest认证,都应该在https协议下,这样可以防止抓包和中间人攻击。","basic","body,如:","bool","boxconstraints.expand(),","build(buildcontext","cach","catch","cert,","child:","children:","chunk","class","client.findproxi","column(","connection:","connectiontimeout","constrainedbox(","constraints:","container(","content","context)","control:","cookie:","cpu","createstate()","credentials)","credentials);","dart","date:","encod","encoding:","encoding的值为当前httpclient支持的压缩算法列表,目前只有\"gzip\"","encoding,如果设置为true,则请求头中cont","extend","f(string","f(uri","false;","final","findproxi","futur","gecko)","gmt","gzip","host,","host:","httpclient","httpclient();","httpclient(context:","httpclient.addcredentials(_uri,","httpclient.addcredentials(url,","httpclient.authenticate=(uri","httpclient.badcertificatecallback=(x509certif","httpclient.close();","httpclient.geturl(","httpclient.geturl(uri);","httpclientbasiccredentials(\"username\",\"password\"),","httpclientbasiccredentials(\"username\",\"pwd\"),","httpclientcredenti","httpclientdigestcredentials(\"username\",\"password\")","httpclientrequest","httpclientrespons","httpclient关于http认证的方法和属性:","httpclient有很多属性可以配置,常用的属性列表如下:","httpclient配置","https中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非ca颁发的证书进行校验。httpclient对证书校验的逻辑如下:","httptestrout","http协议的认证(authentication)机制可以用于保护非公开资源。如果http服务器开启了认证,那么用户在发起请求时就需要携带用户凭据,如果你在浏览器中访问了启用basic认证的资源时,浏览就会弹出一个登录框,如:","http请求","http请求认证","i/flutt","idletimeout","if(cert.pem==pem){","if(url.host==\"xx.com\"","import","int","io库中提供了http请求的一些类,我们可以直接使用httpclient来发起请求。使用httpclient发起请求分为五步:","iphon","keep","mac","max","maxconnectionsperhost","mediaquery.of(context).size.width","method,如httpclient.post(...)、httpclient.delete(...)等。如果包含query参数,可以在构建uri时添加,如:","mobile/14e304","new","null","oct","onpressed:","os","payload=\"...\";","pem=\"xxxxx\";//可以从文件读取","port){","port,","print(response.headers);","queryparameters:","raisedbutton(","realm)","realm))","realm));","realm,","realm=\"admin\"","realm==\"admin\"){","regexp(r\"\\s\"),","request","request.add(utf8.encode(payload));","request.close();","request.headers.add(\"us","respons","response.transform(utf8.decoder).join();","responsebodi","return","safari/602.1\");","sc);","sc.settrustedcertificates(file);","sc=new","scheme,","security:","securitycontext","securitycontext();","set","setstate(()","singlechildscrollview(","state","statefulwidget","strict","string","text(\"获取百度首页\"),","text(_text.replaceall(new","text/html;charset=utf","tracecode:","transfer","transport","tri","true;","tue,","type:","unauthozied给客户端,并且在响应header中添加一个","uri","uri.parse(\"https://www.baidu.com\"));","uri=uri(scheme:","url,","userag","vary:","version/10.0","void","widget","width:","www","x)","x509certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。","yxxfisdjfisjfgijijg","{","}","});","};","​","“www","一个建议是,如果所有请求都需要认证,那么应该在httpclient初始化时就调用addcredentials()来添加全局凭证,而不是去动态添加。","他们的使用方法和上面“http请求认证”一节中介绍的addcredentials和authent","代理","值得注意的是,httpclient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。","假设我们的后台服务使用的是自签名证书,证书格式是pem格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下:","关闭client后,通过该client发起的所有请求都会中止。","其中\"basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。","创建一个httpclient","可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过httpclientrequest直接设置header,不同的是通过httpclient设置的对整个httpclient都生效,而通过httpclientrequest设置的只对当前请求生效。","可以通过findproxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去:","同一个host,同时允许建立连接的最大数量。","含义","和服务器建立连接的超时,如果超过这个值则会抛出socketexception异常。","回调返回值是一个遵循浏览器pac脚本格式的字符串,详情可以查看api文档,如果不需要代理,返回\"direct\"即可。","在app开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。","如果1、2验证都失败了,如果用户提供了badcertificatecallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。","如果是digest认证,可以创建digest认证凭据:","如果是post或put等可以携带请求体方法,可以通过httpclientrequest对象发送request","如果第一步验证失败,但在创建httpclient时,已经通过securitycontext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。","如果请求的https证书是可信ca颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。","如果需要过滤uri,可以手动判断","字段,例如:","客户端发送http请求给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话,","客户端得到响应码后,将用户名和密码进行base64编码(格式为用户名:密码),设置请求头authorization,继续访问","对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badcertificatecallback回调中:","对应请求头中的content","对应请求头中的keep","对应请求头中的user","属性","总结","我们先看看basic认证的基本过程:","我们实现一个获取百度首页html的例子,示例效果如下:","我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。","打开http连接,设置请求头","控制台输出:","有时代理服务器也启用了身份验证,这和http协议的认证是相似的,httpclient提供了对应的proxy认证方法和属性:","服务器会返回一个401","服务器验证用户凭据,如果通过就返回资源内容。","注意,http的方式除了basic认证之外还有:digest认证、client认证、form","注意,通过settrustedcertificates()设置的证书格式必须为pem或pkcs12,如果证书格式为pkcs12,则需将证书密码传入,这样则会在代码中暴露证书密码,所以客户端证书校验不建议使用pkcs12格式的证书。","点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下:","相同,故不再赘述。","示例","等待连接服务器","综上所述,我们的证书校验其实就是提供一个badcertificatecallback回调,下面通过一个示例来说明。","证书校验","该方法用于添加用户凭据,如:","请求结束,关闭httpclient","读取响应内容","这一步可以使用任意http","这一步完成后,请求信息就已经发送给服务器了,返回一个httpclientresponse对象,它包含响应头(header)和响应流(响应体的stream),接下来就可以通过读取响应流来获取响应内容。","这是一个setter,类型是一个回调,当服务器需要用户凭据且该用户凭据未被添加时,httpclient会调用此回调,在这个回调当中,一般会调用addcredential()来动态添加用户凭证,例如:","通过httpclientrequest可以设置请求header,如:","通过httpclient发起http请求"],"chapter10/dio.html":["\"age\":","\"file1\":","\"file2\":","\"files\":","\"name\":","\"proxi","\"upload.txt\")","\"upload.txt\"),","\"upload1.txt\"),","\"upload2.txt\"),","\"wendux\",","#请使用pub上的最新版本","'package:dio/dio.dart';","(httpclient","(uri)","//","//校验证书","//设置代理","//证书一致,则允许发送数据","192.168.1.2:8888\";","25,",":","=","[","]","^x.x.x","api、formdata、拦截器、请求取消、cookie管理、文件上传/下载、超时等。","await","cert,","client)","client.findproxi","data:","data”。","dependencies:","dio","dio();","dio.download(\"https://www.google.com/\",_savepath);","dio.get(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio.get(\"/test?id=12&name=wendu\")","dio.onhttpclientcr","dio.post(\"/info\",","dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio:","dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,app只有一个http数据源时,dio应该使用单例模式。","dio是一个强大的dart","false;","file(\"./example/upload.txt\"),","file(\"./upload.txt\"),","formdata","formdata)","formdata.from({","formdata:","future.wait([dio.post(\"/info\"),dio.get(\"/token\")]);","host,","httpclient.badcertificatecallback=(x509certif","http库","http请求","http请求库,支持rest","if(cert.pem==pem){","import","int","new","packag","port){","post","print(response.data.tostring());","respons","response;","response=","response=await","return","string","true;","uploadfileinfo(new","{","}","});","};","。","下载文件:","值得一提的是,dio内部仍然使用httpclient发起的请求,所以代理、请求认证、证书校验等和httpclient是相同的,我们可以在onhttpclientcreate回调中设置,例如:","发起","发起一个","发起多个并发请求:","发送","如果发送的数据是formdata,则dio会将请求header的contenttype设为“multipart/form","对于get请求我们可以将query参数通过对象来传递,上面的代码等同于:","导入并创建dio实例:","引入","引入dio:","怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio","接下来就可以通过","支持文件数组上传","注意,onhttpclientcreate会在当前dio实例内部需要创建httpclient时调用,所以通过此回调配置httpclient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。","示例","网络操作","请求","请求:","通过formdata上传多个文件:","通过上一节介绍,我们可以发现直接使用httpclient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、cookie管理等就会非常繁琐。幸运的是,dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。"],"chapter10/websocket.html":["\"\";","\"+snapshot.data;","\"echo:","\"网络不通...\";","'${snapshot.data}'","'');","'package:flutter/material.dart';","'package:web_socket_channel/io.dart';","'send","(_controller.text.isnotempty)","(context,","(snapshot.hasdata)","(snapshot.haserror)",")","),",");","//创建websocket连接","//网络不通会走到这","1.","2.","24.0),","3.","4.",":","=","=>","?","@overrid","[","],","_control","_controller,","_sendmessage()","_sendmessage,","_text","_websocketroutest","_websocketroutestate();","alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。","alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep","appbar(","appbar:","body:","build(buildcontext","builder:","channel","channel.sink.add('hello!');","channel.sink.add(_controller.text);","channel.sink.close();","channel.stream,","channel;","child:","children:","class","column(","const","context)","controller:","createstate()","crossaxisalignment.start,","crossaxisalignment:","decoration:","dispose()","edgeinsets.all(20.0),","edgeinsets.symmetric(vertical:","extend","final","floatingactionbutton(","floatingactionbutton:","form(","http协议是无状态的,只能由客户端主动发起,服务端再被动响应,服务端无法向客户端主动推送内容,并且一旦服务器响应结束,链接就会断开(见注解部分),所以无法进行实时通信。websocket协议正是为解决客户端与服务端实时通信而产生的技术,现在已经被主流浏览器支持,所以对于web开发者来说应该比较熟悉了,flutter也提供了专门的包来支持websocket协议。","icon(icons.send),","import","initstate()","inputdecoration(labeltext:","iowebsocketchannel","iowebsocketchannel.connect('ws://echo.websocket.org');","message'),","message',","new","onpressed:","packag","padding(","padding:","return","scaffold(","snapshot)","state","statefulwidget","stream:","streambuilder(","streamsink类提供了给数据源同步或异步添加事件的一般方法。","string","super.dispose();","text(\"websocket(内容回显)\"),","text(_text),","text(snapshot.hasdata","texteditingcontrol","texteditingcontroller();","textformfield(","title:","tooltip:","void","web_socket_channel","websocket","websocketchannel提供了一个streamsink,它将消息发给服务器。","websocketchannel提供了一个来自服务器的消息stream","websocketrout","websocket协议本质上是一个基于tcp的协议,它是先通过http协议发起一条特殊的http请求进行握手后,如果服务端支持websocket协议,则会进行协议升级。websocket会使用http协议握手后创建的tcp链接,和http协议不同的是,websocket的tcp链接是个长链接(不会断开),所以服务端与客户端就可以通过此tcp连接进行实时通信。有关websocket协议细节,读者可以看rfc文档,下面我们重点看看flutter中如何使用websocket。","widget","widget.channel.stream,","widget将连接到一个stream,","widget来显示它们。","widget来监听新消息,","{","}","},","。","上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过websocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现streambuilder和stream都没有指定接收类型的参数,并且在创建websocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用streambuilder,因为websocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,streambuilder的snapshot.data的类型就是list,是文本时,则为string。","为了将数据发送到服务器,我们会add消息给websocketchannel提供的sink。","使用websocket","关闭websocket连接","关闭websocket连接。","在flutter中,我们可以创建一个websocketchannel连接到一台服务器:","在我们使用websocket后,要关闭连接:","在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息!","完整的例子","将数据发送到服务器","将数据发送到服务器。","工作原理","并在每次收到消息时通知flutter重新构建界面。","并用一个text","我们如何收取消息并显示它们?在这个例子中,我们将使用一个streambuild","提供了我们需要连接到websocket服务器的工具.","步骤","注意:http协议中虽然可以通过keep","现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。","监听来自服务器的消息","监听来自服务器的消息。","该package提供了一个websocketchannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。","该streambuild","该stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与future返回单个异步响应不同,stream类可以随着时间推移传递很多事件。","连接到websocket服务器","连接到websocket服务器。"],"chapter10/socket.html":["/","//发送","//建立连接","//根据http协议,发送请求头","//读取返回内容","80);","=await","_request()","_respons","agent)来看看输出的变化。","api","api在dart","api的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的httpclient不好用想重新实现一个,这时我们就需要使用socket。flutter的socket","async{","await","http/1.1\");","io包中,下面我们看一个使用socket实现简单http请求的示例,以请求百度首页为例:","socket","socket.close();","socket.connect(\"baidu.com\",","socket.flush();","socket.transform(utf8.decoder).join();","socket.writeln(\"connection:close\");","socket.writeln(\"get","socket.writeln(\"host:baidu.com\");","socket.writeln();","socket=await","var","}","使用socket","可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user","可以看到,使用socket需要我们自己实现http协议细节,本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后如下:","我们之前介绍的http协议和websocket协议都属于应用层协议,除了它们,应用层协议还有很多如:smtp、ftp等,它们都是通过socket实现的。其实,操作系统中提供的原生网络请求api是标准的,在c语言的socket库中,它主要提供了端到端建立链接和发送数据的基础api,而高级编程语言中的socket库其实都是对操作系统的socket"],"chapter10/json_model.html":["\"$classname.dart\"');","\"$filename.dart\"');","\");","\"alice\",","\"bool\";","\"boss\":\"$person\"","\"email\":","\"email\":\"alice@example.com\"","\"email\":\"jack@example.com\"","\"email\":\"nancy@example.com\"","\"friends\":\"$[]person\"","\"friends\":[","\"jack\",","\"john","\"john@example.com\"","\"john@example.com\",","\"list\";","\"map\";","\"mother\":\"$person\",","\"mother\":{","\"name\":","\"nancy\",","\"num\";","\"person.dart\";","\"string\";","#","${user.email}.');","${user.name}!');","${user['email']}.');","${user['name']}!');","%s","%s();","%s.fromjson(map","%t","'%s.g.dart';","'dart:convert';","'dart:io';","'email':","'name':","'package:json_annotation/json_annotation.dart';","'package:path/path.dart'","'person.g.dart';","'registration_date_millis')","'user.g.dart';","(filesystementity.isfilesync(f.path))","(map","(matchindex","(upper?str[0].touppercase():str[0].tolowercase())+str.substring(1);","(或者在编辑器中点击",");","){","./mo.sh","//","///这个标注是告诉生成器,这个类是需要生成model类的","//json","//一个json格式的用户列表字符串","//下面生成模板","//不同的类使用不同的mixin即可","//为了避免重复导入相同的包,我们用set来保存生成的import语句。","//处理特殊标志","//将json字符串转为dart对象(此处是list)","//将json类型转为对应的dart类型","//将生成的模板输出","//显式关联json字段名与model属性的对应关系","//替换模板占位符","//输出model目录","//输出第一个用户的姓名","//遍历json目录生成模板","0;",":",";","=","=>","@jsonkey(name:","@jsonserializable()","[bool","]","^1.0.0","^2.0.0","_$%sfromjson(json);","_$%stojson(this);","_$personfromjson(json);","_$persontojson(this);","_$userfromjson(json);","_$usertojson(this);","_import+=_import.isempty?\"\":\";\";","_import=set.join(\";\\r\\n\");","api的示例,它返回的数据就是json格式的字符串,为了方便我们在代码中操作json,我们先将json格式的字符串转为dart对象,这个可以通过dart:convert中内置的json解码器json.decode()","attrs.write(\"","attrs.write(gettype(v,set,name));","attrs.write(key);","attrs.writeln(\";\");","attrs=","bool){","boss;","boss字段:","build","build_runn","build_runner:","changefirstchar(filename);","changefirstchar(str","class","class)来解决前面提到的问题,我们称之为user。在user类内部,我们有:","classname,classname,classname]);","classname=changefirstchar(v.substring(3),false);","classname=name[0].touppercase()+name.substring(1);","conflict","const","current){","current=current.tolowercase();","dart","delet","depend","dependencies:","dev_depend","dev_dependencies:","directory(src);","dist=\"lib/models/\";","dist=dist.replacefirst(\"%t\",_import","dist=format(template,[name,classname,classname,attrs.tostring(),","email","email,","email;","factori","faq","file","file(\"$dist$name.dart\").writeasstringsync(dist);","file(\"./template.dart\").readasstringsync();","file(f.path);","file;","filename=changefirstchar(v.substring(1),false);","final","flutter","fmt,","format(str","friends;","gettype(v,set","get”)","here","if(classname.tolowercase()!=current)","if(filename.tolowercase()!=current)","if(key.startswith(\"_\"))","if(name.startswith(\"_\"))","if(paths.last.tolowercase()!=\"json\"||name.startswith(\"_\"))","if(v","if(v.startswith(\"$tag[]\")){","if(v.startswith(tag)){","import","int","items=json.decode(jsonstr);","json","json)","json.decode(file.readasstringsync());","json.decode(json);","json.encode(user);","json['email'];","json['name'],","json_annotation:","json_serializable:","json_serializable第一次创建类时,您会看到与下图类似的错误。","jsonstr='[{\"name\":\"jack\"},{\"name\":\"rose\"}]';","json转model","link","list","list){","list.foreach((f)","m)","map","map).foreach((key,","map){","matchindex","mo.dart","model","model。","model化”,具体做法就是,通过预定义一些与json结构对应的model类,然后在请求到数据后再动态根据数据创建出model类的实例。这样一来,在开发阶段我们使用的是model类的实例,而不再是map/list,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(model","model在不同的文件中会被定义两次,需要开发者手动去重。","mother;","mother和friends四个字段,由于mother也是一个person,朋友是多个person(数组),所以我们期望生成的model是下面这样:","name","name,","name;","name=paths.first;","new","num){","output","packag","package包。","params)","part","path;","paths=path.basename(f.path).split(\".\");","person","person();","person.fromjson(map","print('howdy,","print('w","print(items[0][\"name\"]);","pub","pubspec.yaml","registrationdatemillis;","regular","replace(match","return","return;","run","sent","set();","set,str","set.add('import","set=","shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以flutter中禁用了dart的反射功能,而正因如此也就无法实现动态转化model的功能。","shaking,使用tre","shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tre","smith\",","src","src.listsync();","src=\"./json\";","str,","string","string){","stringbuff","stringbuffer();","structur","studio(或intellij)有一个插件,它可以自动将json转为model,该插件会对嵌套json也会生成model。这个特性在有些时候可能会引起重定义,如两个json都内嵌了一个user的对象时,会导致us","tag=\"\\$\";","template=new","this.email);","tojson()","upper=true]","user","user();","user(this.name,","user.dart","user.fromjson(map","user.fromjson(usermap);","user.g.dart","usermap","user{","user实例","v)","var","verif","void","walk()","watch在项目根目录下运行来启动watcher。只需启动一次观察器,然后它就会在后台运行,这是安全的。","{","}","});","},","};","}els","}else{","“packag","、","、email","一个tojson","一个user.fromjson","一次性生成","上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据json文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将json转为model类,下面我们看看怎么做:","以json_serializable的方式创建model类","以在项目中使用这些新的依赖项.","使用ide插件生成model","使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutt","其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“json","写一个shell(mo.sh),将生成模板和生成model串起来:","写一个自动生成模板的脚本(mo.dart),它可以根据指定的json目录,遍历生成模板,在生成时我们定义一些规则:","另外,实际场景中,json对象很少会这么简单,嵌套的json对象并不罕见,如果有什么能为我们自动处理json序列化,那将会非常好。幸运的是,有!","可以看到,boss字段已自动添加,并自动导入了“person.dart”。","在实战中,后台接口往往会返回一些结构化数据,如json、xml等,如之前我们请求github","在您的项目根文件夹中运行","在项目中设置json_serializ","复杂的json对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。","如果json文件名以下划线“_”开始,则忽略此json文件。","如果需要,自定义命名策略也很容易。例如,如果我们正在使用的api返回带有snake_case的对象,但我们想在我们的模型中使用lowercamelcase,","它是一个自动化的源代码生成器,可以在开发阶段为我们生成json序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生json序列化异常的风险降至最低。","定义一个\"模板的模板\",名为\"template.dart\":","实例转化为一个map.","将","将json字符串转为list/map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下json:","将在我们运行生成命令后自动生成","尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializ","嵌套json","很多人可能会问flutter中有没有像java开发中的gson/jackson一样的json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在flutter中是禁用的。运行时反射会干扰dart的tre","我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的tag常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给user添加一个person类型的","我们可以通过调用json.decode方法来解码json","我们定义一个person.json内容修改为:","持续生成","方法,","有了上面的设置,源码生成器将生成用于序列化name和email字段的json代码。","来实现,该方法可以根据json字符串具体内容将其转为list或map,这样我们就可以通过他们来查找所需的值,如:","构造函数,","模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。","每个person都有nam","现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user.","用于从一个map构造出一个","由于json.decode()仅返回一个map,这意味着直到运行时我们才知道值的类型。","目前android","目录","脚本我们通过dart来写,源码如下:","自动化生成模板","自动生成model","至此,我们的脚本写好了,我们在根目录下新建一个json目录,然后把user.json移进去,然后在lib目录下创建一个models目录,用于保存最终生成的model类。现在我们只需要一句命令即可生成model类了:","虽然这非常方便,但如果我们不需要每次在model类中进行更改时都要手动运行构建命令的话会更好。","要包含json_serializable到我们的项目中,我们需要一个常规和两个开发依赖项。简而言之,开发依赖项是不包含在我们的应用程序源代码中的依赖项,它是开发过程中的一些辅助工具、脚本,和node中的开发依赖项相似。","要序列化一个user,我们只是将该user对象传递给该json.encode方法。我们不需要手动调用tojson这个方法,因为`json.encode内部会自动调用。","让我们看看如何将我们的user类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化json","运行代码生成程序","运行后,一切都将自动执行,现在好多了,不是吗?","这些错误是完全正常的,这是因为model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法:","这时,我们只需要简单修改一下json,添加一些特殊标志,重新运行mo.sh即可:","这样,调用代码就不用担心json序列化了,但是,model类还是必须的。在实践中,user.fromjson和user.tojson方法都需要单元测试到位,以验证正确的行为。","这样,调用代码现在可以具有类型安全、自动补全字段(name和email)以及编译时异常。如果我们将拼写错误字段视为int类型而不是string,","这触发了一次性构建,我们可以在需要时为我们的model生成json序列化代码,它通过我们的源文件,找出需要生成model类的源文件(包含@jsonserializable标注的)来生成对应的.g.dart文件。一个好的建议是将所有model类放在一个单独的目录下,然后在该目录下执行命令。","通过json.decode()","通过在我们的项目根目录下运行:","通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个json在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。","那么我们可以使用@jsonkey标注:","那么我们的代码就不会通过编译,而不是在运行时崩溃。","重新运行mo.sh,生成的user.dart如下:",",使用json字符串作为参数:"],"chapter11/":["包与插件","开发packag","插件开发:实现android端api","插件开发:实现ios端api","插件开发:平台通道简介"],"chapter11/develop_package.html":["\"urllauncherplugin.h\"","#","#import","'0.1.1'","'0.4.3'","'com.google.guava:guava:23.0","'package:url_launcher/url_launcher.dart'","'package:utilities/utilities.dart';","'src/cascade.dart';","'src/handler.dart';","'src/handlers/logger.dart';","'src/hijack_exception.dart';","'src/middleware.dart';","'src/pipeline.dart';","'src/request.dart';","'src/response.dart';","'src/server.dart';","'src/server_handler.dart';","'url_launcher'","...","//","///","0.4.3版本的url_launcher,在","2)都可.",">=","^0.4.2","android","android'","badg","cocoapods目前不提供依赖覆盖功能。","configurations.al","creat","dartdoc","dart包:其中一些可能包含flutter的特定功能,因此对flutter框架具有依赖性,这种包仅用于flutter,例如fluro包。","depend","dependencies:","dependency_overrides:","dri","event","export","flutter","forc","handler","hello","hello/android/build.gradle:","hello/pubspec.yaml中:","http网络库dio.","image_picker:","import","io","io.flutter.plugins.urllauncher.urllauncherplugin访问urllauncherplugin类。","launch()方法了。","lib","lib/hello.dart:package的dart代码","line","other_package:","packag","packages分为两类:","package为例,它的目录结构如下:","package也导出了一个迷你库:","pod::spec.new","project","provid","pub","publish","resolutionstrategi","respons","rootproject.findproject(\":url_launcher\")","run","s.depend","shelf_io,它主要是处理httprequest的。","skip","some_package:","studio:file>new>new","template=packag","test/hello_test.dart:package的单元测试代码。","tests。下面我们看看如何组织package包的代码,我们以shelf","ui.","updat","updatebadge()","url_launcher:","urllauncherplugin类。","vm运行时不是完全相同,但是如果package中没有涉及这些存在差异的部分,那么这样的包可以同时支持flutter和dart","vm,如dart","void","{","|s|","}","。","。要测试软件包,请在test目录中添加unit","一个","一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。","一旦实现了一个包,我们可以在pub上发布它","下面的代码使url_launcher插件的api在hello包中是可用的:","不是很好,只有0.1.1版本.","任何0.4.x(x","但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的api,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。","你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:","使用package可以创建共享的模块化代码。一个最小的package包括:","假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。","即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。","发布packag","可以使用","同一个包中的源码文件之间也可以使用相对路径来导入。","命令以查看是否都准备ok了:","命令来创建:","在","在hello/ios/hello.podspec:","在lib根目录下的shelf.dart中,导出了多个lib/src目录下的dart文件:","在发布之前,检查pubspec.yaml、readme.md以及changelog.md文件,以确保其内容的完整性和正确性。然后,运行","处理包的相互依赖","如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。","如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用vpn,这里需要注意的是一些代理只会代理部分app的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到pub,因此,在发布pub包时使用全局代理或全局vpn会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。","如果冲突的依赖不是一个包,而是一个特定于android的库,比如guava,那么必须将依赖重写声明添加到gradle构建逻辑中。","如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。","实现packag","对于纯dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可","导入包","工具来为package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成api文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:","开发dart包","开发packag","强制使用","强制使用23.0版本的guava库,在hello/android/build.gradle中:","当需要使用这个package时,我们可以通过\"package:\"指令来指定包的入口文件:","您也可以通过使用","您可以通过android","您现在可以在hello/android/src源码中import","您现在可以在hello/ios/classes源码中","插件包:一种专用的dart包,其中包含用dart代码编写的api,以及针对android(使用java或kotlin)和针对ios(使用oc或swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。","文件夹:包括包中公开的(public)代码,最少应有一个.dart文件","来创建:","来执行","注意,虽然flutter的dart运行时和dart","然后访问","然后调用","现在可以在hello中import","生成文档","第一步:创建dart包","而package中主要的功能的源码都在src目录下。shelf","解决依赖冲突","详细的文档语法请参考dartdoc","这与在flutter应用程序或任何其他dart项目中引用软件包没有什么不同。","这将在hello/文件夹下创建一个具有以下专用内容的package工程:","这样会较好,","那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。","验证无误后,我们就可以运行发布命令了:",",这样其他开发者就可以轻松使用它。"],"chapter11/platform-channel.html":["\"fail","$result","%","'${e.message}'.\";","'batteri","'dart:async';","'package:flutter/material.dart';","'package:flutter/services.dart';","'unknown","(e)","(nsnull","),",");",".';","...","//","32","64","=","@overrid","[","],","_batterylevel","_getbatterylevel()","_getbatterylevel,","_myhomepagest","android","api","api。","api可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。","api和io","async","await","a标志:","batteri","batterylevel","batterylevel;","batterymanag","bit","bool","build(buildcontext","byte[]","catch","catch语句中。","center(","channel)将消息发送到其应用程序的所在的宿主(ios或android)应用(原生应用)。","child:","children:","class","column(","const","context)","creat","c编写ios代码。要使用kotlin或swift,请使用","dart","device.batterylevel","doubl","double[]","enough","extend","final","float64list","flutter","fluttermethodchannel","flutterstandardbiginteg","flutterstandardtypeddata","flutter与原生之间的通信依赖灵活的消息传递方式:","flutter使用了一个灵活的系统,允许您调用特定平台的api,无论在android上的java或kotlin代码中,还是ios上的objectivec或swift代码中均可用。","futur","import","int","int,","int32list","int64list","int[]","io","i和/或","java.lang.boolean","java.lang.doubl","java.lang.integ","java.lang.long","java.lang.str","java.math.biginteg","java.util.arraylist","java.util.hashmap","jsonmessagecodec类,或创建自己的编解码器。","kotlin","level","level'),","level.","level.';","level:","list","long[]","mainaxisalignment.spaceevenly,","mainaxisalignment:","map","material(","methodchannel('samples.flutter.io/battery');","nested)","new","nil","nsarray","nsdictionari","nsnumber","nsstring","null","numberwithbool:","numberwithdouble:","numberwithint:","numberwithlong:","onpressed:","platform","platform.invokemethod('getbatterylevel');","platformexcept","quick_actions插件就是一个具体的例子。","raisedbutton(","result","return","setstate(()","state","static","string","swift","text('get","text(_batterylevel),","tri","typeddatawithbytes:","typeddatawithfloat64:","typeddatawithint32:","typeddatawithint64:","uint8list","widget","{","}","});","下面我们通过一个获取电池电量的插件来介绍一下flutter插件的开发流程。该插件中我们在dart中通过getbatterylevel","使用平台通道在flutter(client)和原生(host)之间传递消息,如下图所示:","使用平台通道调用原生代码","创建flutter平台客户端","创建一个新的应用程序项目","可以发送与方法调用相对应的消息。","和","在android","在客户端,methodchannel","在宿主平台上,methodchannel","在接下来的两节中,我们会分别介绍android和ios端api的实现。","在终端中运行:","在终端中运行:flutter","如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用dart中实现的api。","宿主监听平台通道,并接收该消息。然后它会调用该平台的api,并将响应发送回客户端,即应用程序的flutter部分。","平台通道","平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。","平台通道数据类型支持","应用的flutter部分通过平台通道(platform","开发flutter插件","当在flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。","当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。","我们使用返回的结果,在setstate中来更新用户界面状态batterylevel。","我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。","所谓“平台特定”或“特定平台”,平台指的就是指flutter运行的平台,如android或ios,可以认为就是应用的原生部分。所以,平台通道正是flutter和原生之间通信的桥梁,它也是flutter插件的底层基础设施。","接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getbatterylevel。","插件开发:平台通道简介","最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。","此外,可以使用专门的binarycodec、stringcodec和","注意:","自定义平台通道和编解码器","该应用的state类拥有当前的应用状态。我们需要延长这一点以保持当前的电量","该调用可能失败(平台不支持平台api,例如在模拟器中运行时),所以我们将invokemethod调用包装在tri","调用android","通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;","除了上面提到的methodchannel,还可以使用basicmessagechannel,它支持使用自定义消息编解码器进行基本的异步消息传递。","首先创建一个新的应用程序:","首先,我们构建通道。我们使用methodchannel调用一个方法来返回电池电量。","默认情况下,模板支持使用java编写android代码,或使用object"],"chapter11/android_implement.html":["!=","\"batteri","\"file","\"getbatterylevel\")","\"samples.flutter.io/battery\"","\"samples.flutter.io/battery\";","(batterylevel","(batterymanager)","(call.method","(call.method.equals(\"getbatterylevel\"))","(intent.getintextra(batterymanager.extra_level,","(version.sdk_int","*","/","//","1)","1);","100","100)","1;",":","=","==",">",">=","@overrid","android","android.content.context","android.content.contextwrapp","android.content.contextwrapper;","android.content.int","android.content.intent;","android.content.intentfilt","android.content.intentfilter;","android.os.batterymanag","android.os.batterymanager;","android.os.build.vers","android.os.build.version;","android.os.build.version_cod","android.os.build.version_codes;","android.os.bundl","android.os.bundle;","android文件夹,点击","app目录,","available.\",","batterylevel","batterylevel:","batterylevel;","batterymanag","batterymanager.getintproperty(batterymanager.battery_property_capacity)","batterymanager.getintproperty(batterymanager.battery_property_capacity);","bundle?)","call,","channel","channel).setmethodcallhandl","channel).setmethodcallhandler(","class","contextwrapper(applicationcontext).registerreceiver(null,","contextwrapper(getapplicationcontext()).","controls面板中的电池电量。","extend","file","final","flutter","flutteract","flutteractivity()","fun","generatedpluginregistrant.registerwith(this)","getbatterylevel()","getbatterylevel():","getbatterylevel();","getsystemservice(battery_service);","getsystemservice(context.battery_service)","import","int","intent","intent!!.getintextra(batterymanager.extra_level,","intent.getintextra(batterymanager.extra_scale,","intentfilter(intent.action_battery_changed))","intentfilter(intent.action_battery_changed));","io.flutter.app.flutteract","io.flutter.app.flutteractivity;","io.flutter.plugin.common.methodcall;","io.flutter.plugin.common.methodchannel","io.flutter.plugin.common.methodchannel.methodcallhandler;","io.flutter.plugin.common.methodchannel.result;","io.flutter.plugin.common.methodchannel;","io.flutter.plugins.generatedpluginregistr","item","level","mainact","mainactivity()","mainactivity.java","menu","methodcallhandler()","methodchannel(flutterview,","methodchannel(getflutterview(),","new","null)","null);","ok","ok。","oncreate(bundl","oncreate(savedinstancestate:","onmethodcall(methodcal","open…","open…\"。","overrid","privat","public","registerreceiver(null,","result","result)","result.error(\"unavailable\",","result.notimplemented()","result.notimplemented();","result.success(batterylevel)","result.success(batterylevel);","return","savedinstancestate)","static","string","studio","studio。","studio中打开您的flutter应用的android部分:","super.oncreate(savedinstancestate)","super.oncreate(savedinstancestate);","todo","val","version_codes.lollipop)","void","{","}","});","​","使用kotlin和使用java的步骤类似,首先在android","使用kotlin添加android平台特定的实现","启动","在java目录下打开","在kotlin目录中打开mainactivity.kt。","定位到","定位到您","您现在就可以在android上运行该应用程序。如果您使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","接下来,在oncreate里创建methodchannel并设置一个methodcallhandler。确保使用与在flutter客户端使用的通道名称相同。","接下来,在oncreate里创建methodchannel并设置一个methodcallhandler。确保使用和flutter客户端中使用的通道名称相同的名称。","接下来,我们添加java代码,使用android电池api来获取电池电量。此代码和在原生android应用中编写的代码完全相同。","接下来,我们添加kotlin代码,使用android电池api来获取电池电量,这和原生开发是一样的。","插件开发:android端api实现","插件开发:实现android端api","方法下方:","最后,我们完成之前添加的onmethodcall方法。我们需要处理平台方法名为getbatterylevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getbatterylevel。","本节我们接着上一节\"获取电池电量\"插件的示例,来完成android端api的实现。以下步骤是使用java的示例,如果您更喜欢kotlin,可以直接跳到后面kotlin部分。","然后选择里面的","然后,将下面的新方法添加到activity类中的,位于oncr","现在就可以在android上运行该应用程序了,如果使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","这个平台方法的实现只需调用我们在前一步中编写的android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的api,我们也会通知返回:","选择","首先在android","首先,添加需要导入的依赖。"],"chapter11/ios_implement.html":["\"samples.flutter.io/battery\",","\"unavailable\",","\"电池信息不可用\",","#import","(\"getbatterylevel\"","([@\"getbatterylevel\"","(batterylevel","(bool)application:(uiapplication*)appl","(call:","(device.batteryst","(flutterviewcontroller*)self.window.rootviewcontroller;","(int)(device.batterylevel","(int)getbatterylevel","*","//","1)","100));","100);","1;",":","=","==",">","@implement","@objc","@uiapplicationmain","[batterychannel","[fluttermethodchannel","[self","[super","[uiapplicationlaunchoptionskey:","_","any]?)","api","appdeleg","appdelegate:","application(","application:","application:appl","app目录,","as!","batteri","batterychannel","batterychannel.setmethodcallhandler({","batterylevel","binarymessenger:","binarymessenger:controller];","bool","call,","call.method)","class","control","controller);","c代码,使用ios电池api来获取电池电量,这和原生是相同的。","c相似,首先打开xcode中flutter应用程序的ios部分:","c,如果您更喜欢swift,可以直接跳到后面swift部分。","details:","details:nil]);","devic","device.batterymonitoringen","device.isbatterymonitoringen","didfinishlaunchingwithopt","didfinishlaunchingwithoptions:","didfinishlaunchingwithoptions:(nsdictionary*)launchopt","didfinishlaunchingwithoptions:launchoptions];","didfinishlaunchingwithoptions:方法内部创建一个fluttermethodchannel,并添加一个处理方法。","errorwithcode:@\"unavailable\"","file","flutter","flutterappdeleg","fluttermethodcall,","fluttermethodchannel*","fluttermethodchannel.init(name:","flutterresult","flutterresult)","flutterviewcontrol","flutterviewcontroller*","flutterviewcontroller;","func","generatedpluginregistrant.register(with:","getbatterylevel];","handl","int","ios文件夹,点击","isequaltostring:call.method])","launchoptions);","launchoptions:","message:","message:@\"电池信息不可用\"","messages.","methodchannelwithname:@\"samples.flutter.io/battery\"","nil));","ok","open…","overrid","privat","receivebatterylevel(result:","result(@(batterylevel));","result([fluttererror","result(fluttererror.init(code:","result(fluttermethodnotimplemented);","result(int(device.batterylevel","result)","result);","result:","return","runner","self);","setmethodcallhandler:^(fluttermethodcall*","super.application(application,","todo","true;","uiapplication,","uidevice*","uidevice.current;","uidevice.currentdevice;","uidevicebatterystate.unknown)","uidevicebatterystateunknown)","void","window?.rootviewcontrol","xcode","yes;","{","}","});","}];","以下步骤与上面使用object","使用swift实现io","启动","在appdelegate类中添加以下新的方法:","定位到您","将以下新方法添加到appdelegate.swift底部:","接下来,在applic","接下来,我们添加object","接下来,我们添加swift代码,使用ios电池api来获取电池电量,这和原生开发是相同的。","接下来,覆盖application方法并创建一个fluttermethodchannel绑定通道名称samples.flutter.io/battery:","插件开发:ios端api实现","插件开发:实现ios端api","最后,我们完成之前添加的setmethodcallhandler方法。我们需要处理的平台方法名为getbatterylevel,所以我们在call参数中需要先判断是否为getbatterylevel。","本节我们接着之前\"获取电池电量\"插件的示例,来完成ios端api的实现。以下步骤使用object","然后选择里面的","现在可以在ios上运行应用程序,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在可以在ios上运行该应用程序了,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","确保xcode项目的构建没有错误。","确保与在flutter客户端使用的通道名称相同。","这个平台方法的实现只需调用我们在前一步中编写的ios代码,并使用result参数返回成功或错误的响应。如果调用了未定义的api,我们也会通知返回:","选择","首先打开xcode中flutter应用程序的ios部分:",",打开appdelegate.m",",然后打开appdelegate.swift"],"todo.html":["去flutter中文网查看相关内容。","您想补充此文档?可以查看《flutter实战》开源项目\"贡献须知\"。","提示","本文档尚未完成,您可以:","点击下面的\"赏\"按钮,请作者喝杯咖啡,鼓励继续创作~~","系统能力调用"],"chapter12/":["使用intl包","国际化","实现local","本章目录","让app支持多语言"],"chapter12/multi_languages_support.html":["'cn')","'cn'),","'package:flutter_localizations/flutter_localizations.dart';","'us'),",")","...","//","//其它local","//手动指定local","=","[","],","app最终的locale。通常在不支持的语言区域时返回一个默认的locale。","const","context)","dependencies:","flutter","flutter:","flutter_localizations:","function(list","function(local","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","globalwidgetslocalizations.delegate定义widget默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。","import","iter","load方法之一产生的对象,可以指定一个buildcontext和对象的类型。例如,materi","local","locale('en',","locale('zh',","locale,","locale:","localelistresolutioncallback和localeresolutioncallback唯一的不同就在第一个参数类型,前者接收的是一个locale列表,而后者接收的是单个locale。","locales,","locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:","localizations.localeof(context);","localizations.of(context,","localizationsdeleg","localizationsdelegates:","localizationsdelegates列表中的元素是生成本地化值集合的工厂。globalmateriallocalizations.deleg","materialapp(","materialloc","materiallocalizations);","materiallocalizations.of(context).backbuttontooltip,","mylocal","new","of(buildcontext","package包含globalmateriallocalizations和globalwidgetslocalizations的本地化接口的多语言实现,","return","sdk:","static","supportedlocal","supportedlocales)","supportedlocales:","tooltip:","widget","widget一般位于widget树中其它业务组件的顶部,它的作用是定义区域locale以及设置子树依赖的本地化资源。","widget会自动加载新区域的locale值,然后重新构建使用了它们的widget。","widget会重新构建,localizations.localeof(context)`","widget并重建它,这样子树中通过localizations.localeof(context)","widget支持多语言。","widget用于加载和查找包含本地化值的对象。应用程序通过localizations.of(context,type)来引用这些对象。","widget的locale设置发生更改时,将重建其依赖的上下文。","{","}","。","上述的globalmateriallocalizations和globalwidgetslocalizations只是material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的localizations,我们将在下一节介绍其具体的实现方式。","上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。","中文简体","为materi","为了尽可能小而且简单,flutter软件包中仅提供美国英语值的materiallocalizations和widgetslocalizations接口的实现。","为当前应用支持的locale列表,是开发者在materialapp中通过supportedlocales属性注册的。","使用打包好的localizationsdeleg","列表加载","参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定app的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:","发生这种情况是因为localizations内部使用了inheritedwidget","可以直接调用便捷方法","国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化delegate。","在flutter中,应该优先使用localelistresolutioncallback,当然你不必担心android系统的差异性,如果在低版本的android系统中,flutter会自动处理这种情况,这时locale列表只会包含一项。","在大型应用程序中,不同模块或package可能会与自己的本地化值捆绑在一起。","在新版的android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的locale,如果某一种语言加载成功则会停止。下面是android中设置语言列表的截图:","基于widgetsapp的应用程序类似,只是不需要globalmateriallocalizations.delegate。","大多数应用程序都是通过materialapp为入口,但根据低级别的widgetsapp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。materialapp实际上也是widgetsapp的一个包装。","如果locale为null,则表示flutter未能获取到设备的locale信息,所以我们在使用locale之前一定要先判空。","如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。flutter提供一些widget和类以帮助实现国际化,而flutter的库本身也是国际化的。","如果系统的语言环境发生变化,widgetsapp将创建一个新的loc","如果设备的locale区域设置发生更改,则loc","它们可以通过localizations.of被获取到:","当我们更改系统语言设置时,app中的loc","我们可以通过localeresolutioncallback或localelistresolutioncallback回调来监听locale改变的事件,我们先看看localeresolutioncallback的回调函数签名:","我们始终可以通过以下方式来获取应用的当前区域locale:","截至2018年5月,该包支持24种语言。要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:","接下来我们以materialapp类为入口的应用来说明如何支持国际化。","接下来,下载flutter_localizations库,然后指定materialapp的localizationsdelegates和supportedlocales:","支持国际化","方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。","本地化值由localizations的","本地化的代理类","此类的实例由materialapp类提供的localizationdelegate创建,","每个委托必须定义一个异步load()","监听系统语言切换","管理对象表的原因。","组件库提供的本地化的字符串和其他值,它可以使materi","组件库的本地化字符串由materiallocalizations类定义,","美国英语","获取当前区域local","获取的locale就会更新。","获取的locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,这时我们就需要监听locale改变事件。","要检索由localizationsdeleg","让app支持多语言","返回值是一个locale,此locale为flutt","这个特殊的localizations.of()表达式会经常使用,所以materiallocalizations类提供了一个便捷方法:","这些实现类分别称为defaultmateriallocalizations和defaultwidgetslocalizations。flutter_loc","这就是为什么要用local","默认情况下,flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他materialapp属性,并包含一个名为“flutter_localizations”的包。",",当build函数引用了inheritedwidget时,会创建对inheritedwidget的隐式依赖关系。当inheritedwidget发生更改时,即loc"],"chapter12/locallization_implement.html":["\"flutter","\"flutter应用\"","\"zh\")","'zh'].contains(locale.languagecode);","),",");","...","//","//...","//locale代理类","//locale相关值,title为应用标题","//locale资源类","//为了使用方便,我们定义一个静态方法","//使用local","//是否为中文","//是否支持某个local","//省略无关代码",":","=","==","=>","?","@overrid","[","['en',","],","app\";","appbar(","appbar:","app”和“flutter应用”。","bool","class","const","context)","delegate类的职责是在locale改变时加载新的locale资源,所以它有一个load方法,delegate类需要继承自localizationsdelegate类,实现相应的接口,示例如下:","demoloc","demolocalizations(locale.languagecod","demolocalizations(this.iszh);","demolocalizations);","demolocalizationsdeleg","demolocalizationsdelegate()","demolocalizationsdelegate();","demolocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。demolocalizations的实例将会在delegate类的load方法中创建。","extend","false;","flutter会调用此类加载相应的locale资源类","futur","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","intl包来实现这些。","issupported(local","iszh","load(local","locale)","localizations.of(context,","localizationsdeleg","localizationsdelegates:","of(buildcontext","old)","print(\"xxxx$locale\");","return","scaffold(","shouldreload(demolocalizationsdeleg","shouldreload的返回值决定当loc","static","string","synchronousfuture(","text(demolocalizations.of(context).title),","titl","title:","widget重新build时,是否调用load方法重新加载locale资源。一般情况下,locale资源只应该在locale切换时加载一次,不需要每次在loc","{","}","其它的值","前面讲了material组件库如何支持国际化,本节我们将介绍一下我们自己的ui中如何支持多语言。根据上节所述,我们需要实现两个类:一个delegate类一个localizations类,下面我们通过一个实例说明。","只需要在materialapp或widgetsapp的localizationsdelegates列表中添加我们的delegate实例即可完成注册:","和上一节中介绍的相同,我们现在需要先注册demolocalizationsdelegate类,然后再通过demolocalizations.of(context)来动态获取当前locale文本。","实现delegate类","实现local","实现localizations类","总结","我们已经知道localizations类中主要实现提供了本地化值,如文本:","接下来我们可以在widget中使用locale值:","最后一步:添加多语言支持","本地化的代理类","本节我们通过一个简单的示例说明了flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在demolocalizations类中获取title时手动的判断当前语言locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过dart","注册我们的deleg","这样,当在美国英语和中文简体之间切换系统语言时,app的标题将会分别为“flutt","重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在app启动后用户再改变系统语言时load方法将不会被调用,所以locale资源将不会被加载。事实上,每当locale改变时flutter都会再调用load方法加载新的locale,无论shouldreload返回true还是false。",")"],"chapter12/intl.html":["\"2018","\"@@last_modified\":","\"@@locale\":\"zh_ch\",","\"@remainingemailsmessage\":","\"@title\":","\"description\":","\"example\":","\"flutter","\"flutter应用\",","\"how","\"howmany\":","\"placeholders\":","\"remainingemailsmessage\",","\"remainingemailsmessage\":","\"text\",","\"titl","\"title\":","\"type\":","\"{howmany,plural,","#...省略无关项","$howmani","'flutter","'fred'});","'messages_all.dart';","'package:flutter/material.dart';","'package:intl/intl.dart';","'there","'titl","'title',","'username':","'zh'].contains(locale.languagecode);",");","+x","./intl.sh","//","//1","//2","//3","//locale代理类","//是否支持某个local","0","1","10t15:46:20.897228\",","10t17:37:28.505088\",","12","42","42,",":","=","=0{there","=0{没有未读邮件}=1{有{howmany}封未读邮件}other{有{howmany}封未读邮件}}\",","=>","?","@overrid","['en',","[howmany],","\\","^0.15.7","^0.17.2","api标识的属性和字符串提取到“i10n","app\",","app',","application\",","application',","arb","arb/intl_*.arb","arb/intl_messages.arb”文件中,我们看看其内容:","arb文件是标准的,其格式规范可以自行了解。通常会将arb文件交给翻译人员,当他们完成翻译后,我们再通过下面的步骤根据arb文件生成最终的dart代码。","arb目录,该目录保存我们接下来通过intl_translation命令生成的arb文件。一个简单的arb文件内容如下:","archiving.\",","args:","bool","chmod","class","const","context)","defer","demo","demoloc","demolocalizations();","demolocalizations);","demolocalizations.load(locale);","demolocalizationsdeleg","demolocalizationsdelegate();","dependencies:","desc:","dev_dependencies:","dir=i10n","dir=lib/i10n","email","examples:","extend","false;","final","flutter","flutter会调用此类加载相应的locale资源类","futur","howmany)","i10n","import","initializemessages(localename).then((b)","intl.canonicalizedlocale(name);","intl.defaultlocal","intl.message(","intl.plural(howmany,","intl.sh","intl:","intl_transl","intl_translation:","intl_translation:extract_to_arb","intl_translation:generate_from_arb","intl包还有一些其他的方法,读者可以自行查看其文档,本书不在赘述。","issupported(local","left","left',","left}=1{ther","left}other{ther","left}}\",","lib/i10n/localization_intl.dart","load","load(local","locale)","locale.countrycode.isempti","locale.languagecod","locale.tostring();","localenam","localename;","localizations.of(context,","localizationsdeleg","mani","n","n(n>1)","name","name:","new","of(buildcontext","old)","one:","other:","output","pub","remain","remainingemailsmessage(int","return","run","shouldreload(demolocalizationsdeleg","static","string","titl","us","widget重新build时,是否调用load重新加载locale资源.","zero:","{","{'howmany':","{howmany}","{}","}","});","},","下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下:","使用intl包","使用intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用intl包我们需要添加两个依赖:","包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用:","可以看到通过intl.plural方法可以在howmany值不同时输出不同的提示信息。","和上一节中的步骤类似,我们仍然要实现localizations和delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。","如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是intl的托底策略。","当local","总结","我们可以通过intl.plural(...)来实现:","我们必须要翻译title和remainingemailsmessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。","我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。","执行intl.sh","接下来,我们在lib目录下创建一个i10n的目录,该目录用于保存从arb文件生成的dart代码文件。","提示语","最后一步就是根据arb生成dart文件:","有两点需要说明:","未读邮件数","每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。","注意:","注释1的\"messages_all.dart\"文件是通过intl_translation工具从arb文件生成的代码,所以在第一次运行生成命令之前,此文件不存在。注释2处的initializemessages()方法和\"messages_all.dart\"文件一样,是同时生成的。","注释3处和上一节示例代码不同,这里我们直接调用demolocalizations.load()即可。","然后授予执行权限:","现在我们可以在demolocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同:","现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名:","第一步:创建必要目录","第三部:添加需要国际化的属性","第二步:实现localizations和delegate类","第五步:生成dart代码","第四步:生成arb文件","至此,我们将使用intl包对app进行国际化的流程介绍完了,我们可以发现,其中第一步和第二步只在第一次需要,而我们开发时的主要的工作都是在第三步。由于最后两步在第三步完成后每次也都需要,所以我们可以将最后两步放在一个shell脚本里,当我们完成第三步或完成arb文件翻译后只需要分别执行该脚本即可。我们在根目录下创建一个intl.sh的脚本,内容为:","运行此命令后,会将我们之前通过intl","这个是默认的locale资源文件,如果我们现在要支持中文简体,只需要在该文件同级目录创建一个\"intl_zh_cn.arb\"文件,然后将\"intl_messages.arb\"的内容拷贝到\"intl_zh_cn.arb\"文件,接下来将英文翻译为中文即可,翻译后的\"intl_zh_cn.arb\"文件内容如下:","这句命令在首次运行时会在\"lib/i10n\"目录下生成多个文件,对应多种locale,这些代码便是最终要使用的dart代码。","首先,在项目根目录下创建一个i10n"],"chapter14/":["element和buildcontext","flutter","flutter从启动到显示","flutter核心原理","renderobject和renderbox","ui系统","本章目录"],"chapter14/flutter_ui_system.html":["60hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如vsync),","60hz的屏幕就会一秒内发出","60次这样的信号。而这个信号主要是用于同步cpu、gpu和显示器的。一般地来说,计算机系统中,cpu、gpu和显示器以一种特定的方式协作:cpu将计算好的显示内容提交给","api也是调用操作系统api,所以它的性能接近原生。","api,然后在底层通过opengl这种跨平台的绘制库(内部会调用操作系统api)实现了一套代码跨多端。由于dart","bit(位),颜色深度越深,所能显示的色彩更加丰富靓丽。","cpu和gpu的任务是各有偏重的,cpu主要用于基本数学和逻辑计算,而gpu主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,gpu的主要作用就是确定最终输送给显示器的各个像素点的色值。","flutter","framework的概念是差不多的,的确如此,之所以用“ui系统”,是因为其他平台中可能不这么叫,我们只是为了概念统一,便于描述,读者不必纠结于概念本身。","gpu,gpu渲染后放入帧缓冲区,然后视频控制器按照同步信号从帧缓冲区取帧数据传递给显示器显示。","sdk正是封装了android操作系统api,提供了一个“ui描述文件xml+java操作dom”的ui系统,而ios的uikit","sdk还是ios的uikit","ui系统","ui系统之前,我们先看看ui系统的基本原理,这样可以帮助读者对操作系统和系统底层ui逻辑有一个清晰的认识。","ui系统原理","ui系统和flutt","ui系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了,","ui系统来根据新的状态来重新构建ui。","ui系统的基石。最后我们在分析一下flutter应用启动和运行的整体过程。","一个像素点能发出的所有颜色总数是显示器的一个重要指标,比如我们所说的1600万色的屏幕就是指一个像素点可以显示出1600万种颜色,而显示器颜色是有rgb三基色组成,所以1600万即2的24次方,即每个基本色(r、g、b)深度扩展至8","为了更新显示画面,显示器是以固定的频率刷新(从gpu取数据),比如有一部手机屏幕的刷新频率是","在接下来的小节中,我们先详细介绍一下element、renderobject,它们是组成flutt","在本书的前面章节中,我们多次提到\"ui系统\"这个概念,本书中所指的ui系统特指:基于一个平台,在此平台上实现gui的一个系统,这里的平台特指操作系统,如android、ios或者windows、macos。我们说过各个平台ui系统的原理是相通的,也就是说无论是android还是ios,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍flutt","对view的抽象也是一样的,他们都将操作系统api抽象成一个基础对象(如用于2d图形绘制的canvas),然后再定义一套规则来描述ui,如ui树结构,ui操作的单线程原则等。","我们可以看到,无论是android","提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。","操作系统绘制api的封装","注意,虽然dart是先调用了opengl,opengl才会调用操作系统api,但是这仍然是原生渲染,因为opengl只是操作系统api的一个封装库,它并不像webview渲染那样需要javascript运行环境和css渲染器,所以不会有性能损失。","由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的api供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的api是比较复杂和低效的,因为操作系统提供的api往往比较基础,直接调用需要了解api的很多细节。正是因为这个原因,几乎所有用于开发gui程序的编程语言都会在操作系统之上再封装一层,将操作系统原生api封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发gui应用程序,而这一层抽象,正是我们所说的“ui”系统,如android","的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个ui系统:可以使用同一种编程语言开发,然后针对不同操作系统api抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而flutter的原理正是如此,它提供了一套dart","硬件绘图基本原理","简单概括就是:组合和响应式。我们要开发一个ui界面,需要通过组合其它widget来实现,flutter中,一切都是widget,当ui要发生变化时,我们不去直接修改dom,而是通过更新状态,让flutt","至此,我们已经介绍了flutter","讲到这里,读者可能发现flutter"],"chapter14/element_buildcontext.html":["\"123456789\";","()","),",");","...","//1","//入栈新路由","//查找当前或最近的一个祖先renderobject","//点击后将该element标记为dirty,element将会rebuild","//获取local","//获取上下文大小","//获取主题","9","9个数,点击一次按钮,则对9个数随机排一次序,代码如下:",":","=","=>","?","@overrid","abstract","api是原始且独立的,这个与操作系统提供的api类似,上层ui框架设计成什么样完全取决于设计者,完全可以将ui框架设计成android风格或ios风格,但这些事google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的掌握程度。","build()","build(buildcontext","buildcontext","center(","child:","class","color","componentel","componentelement{","context)","context.findrenderobject()","context.s","createelement()","customhom","diagnosticabletre","element","element.mount(parentelement,newslot)","element与buildcontext","element和buildcontext","element就是widget在ui树具体位置的一个实例化对象,大多数element只有唯一的renderobject,但还有一些element会有多个子节点,如继承自renderobjectelement的一些类,比如multichildrenderobjectelement。最终所有element的renderobject构成一棵树,我们称之为渲染树,即rend","element的生命周期如下:","engine提供的dart","extend","flatbutton(","flutter","framework","gesturedetector(","homeview","homeview(this);","homeview(widget","implement","localizations.of(context,","markneedsbuild();","navigator.push(context,","onpressed:","primary),),","primary=theme.of(this).primarycolor;","return","route)","statelessel","string","style:","super(widget);","t","t.join();","text","text(text,","text.split(\"\")..shuffle();","textstyle(color:","theme.of(context)","tree。","type)","ui框架内部连接widget和renderobject的纽带,大多数时候开发者只需要关注widget层即可,但是widget层有时候并不能完全屏蔽element细节,所以framework在statelesswidget和statefulwidget中通过build方法参数将element对象也传递给了开发者,这样便可以在需要时直接操作element对象。那么现在笔者提两个问题,请读者先自己思考一下:","ui框架是至关重要的,flutter正是通过element这个纽带将widget和renderobject关联起来,了解element层不仅会帮助读者对flutt","ui框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用element对象来完成一些操作,比如获取主题theme数据,具体细节将在下文介绍。","ui框架能不做成响应式吗?","ui系统中另一个重要的角色renderobject。","ui系统中的角色和作用,我们将在下一节介绍flutt","var","widget","widget)","widget.build(this);","{","{}","}","},","“inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成”active“状态,framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。","上面build方法不接收参数,这一点和在statelesswidget和statefulwidget中build(buildcontext)方法不同。代码中需要用到buildcontext的地方直接用this代替即可,如代码注释1处theme.of(this)参数直接传this即可,因为当前对象本身就是element实例。","上面代码中build方法返回的仍然是一个widget,这是由于flutter框架中已经有了widget这一层,并且组件库都已经是以widget的形式提供了,如果在flutter框架中所有组件都像示例的homeview一样以element形式提供,那么就可以用纯element来构建ui了,homeview的build方法返回值类型就可以是element了。","做一些事,比如:","创建一个element实例,记为el","发现build传递的是this,很明显了,这个buildcontext很可能就是element类,查看element类定义,发现element类果然实现了buildcontext接口:","在“widget简介”一节,我们介绍了widget和element的关系,我们知道最终的ui树其实是由一个个独立的element节点构成。我们也知道了组件最终的layout、渲染都是通过renderobject来完成的,从创建到渲染的大体流程是:根据widget生成element,然后创建相应的renderobject并关联到element.renderobject属性上,最后再通过renderobject来完成布局排列和绘制。","如果element要重新插入到element树的其它位置,如element或element的祖先拥有一个globalkey(用于全局复用元素),那么framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderobject重新attach到渲染树。","如果我们需要将上面代码在现有flutter框架中跑起来,那么还是得提供一个”适配器“widget将homeview结合到现有框架中,下面customhome就相当于”适配器“:","如果没有widget层,单靠element层是否可以搭建起一个可用的ui框架?如果可以应该是什么样子?","对于问题1,答案当然是肯定的,因为我们之前说过widget树只是element树的映射,我们完全可以直接通过element来搭建一个ui框架。下面举一个例子:","对于问题2,答案当然也是肯定的,flutter","当element父widget的配置数据改变时,为了进行element复用,framework在决定重新创建element前会先尝试复用相同位置旧的element:调用element对应widget的canupdate()方法,如果返回true,则复用旧element,旧的element会使用新的widget配置数据更新,反之则会创建一个新的element,不会复用。widget.canupdate()主要是判断newwidget与oldwidget的runtimetype和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个widget时,可以通过指定不同的key来禁止复用。","当text发生改变时,我们调用markneedsbuild()方法将当前element标记为dirty即可,标记为dirty的element会在下一帧中重建。实际上,state.setstate()在内部也是调用的markneedsbuild()方法。","当有父widget的配置数据改变时,同时其state.build返回的widget结构与之前不同,此时就需要重新构建对应的element树。为了进行element复用,在element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应widget的canupdate方法,如果返回true,则复用旧element,旧的element会使用新widget配置数据更新,反之则会创建一个新的element。widget.canupdate主要是判断newwidget与oldwidget的runtimetype和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个widget时,可以通过指定不同的key来避免复用。","当有祖先element决定要移除el","思考题:为什么build方法的参数不定义成element对象,而要定义成buildcontext","总结","我们可以看到element是flutt","我们知道,在很多时候我们都需要使用这个context","我们通过纯粹的element来模拟一个statefulwidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是1","方法来移除它,移除后element.renderobject也会被从渲染树中移除,然后framework会调用element.deactiv","方法,这时element状态变为“inactive”状态。","无论是statelesswidget和statefulwidget的build方法都会传一个buildcontext对象:","时(如widget树结构发生了变化,导致element对应的widget被移除),这时该祖先element就会调用deactivatechild","本节详细的介绍了element的生命周期,以及它与widget、buildcontext的关系,也介绍了element在flutt","点击按钮则按钮文本会随机排序。","现在就可以将customhome添加到widget树了,我们在一个新路由页创建它,最终效果如下:","看完element的生命周期,可能有些读者会有疑问,开发者会直接操作element树吗?其实对于开发者来说,大多数情况下只需要关注widget树就行,flutter框架已经将对widget树的操作映射到了element树上,这可以极大的降低复杂度,提高开发效率。但是了解element对理解整个flutt","至此真相大白,buildcontext就是widget对应的element,所以我们可以通过context在statelesswidget和statefulwidget的build方法中直接访问element对象。我们获取主题数据的代码theme.of(context)内部正是调用了element的inheritfromwidgetofexacttype()方法。","调用","调用widget.createel","进阶","那statelesswidget和statefulwidget的build方法传入的context对象是哪个实现了buildcontext的类。我们顺藤摸瓜,发现调用时发生在statelesswidget和statefulwidget对应的statelesselement和statefulelement的build方法中,以statelesselement为例:","那么buildcontext到底是什么呢,查看其定义,发现其是一个抽象接口类:",",mount方法中首先调用elment所对应widget的createrenderobject方法创建与element相关联的renderobject对象,然后调用element.attachrenderobject方法将element.renderobject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。"],"chapter14/render_object.html":["!=","'offset=$offset';","(!parentusess","(_overflow","(_relayoutboundari","(_size.contains(position))","(child","(child._needspaint)","(child.isrepaintboundary)","(child.parentdata","(hittestchildren(result,","(isrepaintboundary)","(owner","(parent","(sizedbyparent)","),","+","...","//","///","//如果renderobject.isrepaintboundari","//将测试结果添加到result中","//找到最近的layer,绘制","//指定画布大小","//绘制子节点,","//递归子renderbox进行命中测试","300),",":","=","==","=>",">","@overrid","@protect","@requir","[child].","_compositechild(child,","_compositechild(renderobject","_needslayout","abstract","api来实现具体的绘制逻辑。","appendlayer(child._layer);","around","assert(_lay","assert(_relayoutboundari","assert(child._lay","assert(par","bool","boundari","boxparentdata","boxparentdata();","boxparentdata)","boxparentdata定义如下:","child","child)","child,","child._layer.offset","child._paintwithcontext(this,","child.hittest(result,","child.layout()","child.parentdata","child.parentdata;","child:","childparentdata","childparentdata.nextsibling;","childparentdata.offset","childtyp","class","constraint","constraints,","constraints.istight","container(...),","context,","context.paintchild(child,","creat","custompaint(","debugalsopaintedparent:","defaultpaint(paintingcontext","describeapproximatepaintclip和","dirti","dirty,这样在下一个frame中便会重新layout,我们看看renderobject的markneedslayout()的部分源码:","extend","fals","false;","final","firstchild;","getter。更多关于语义化的信息可以查看api文档。","hittest","hittest()中需要将通过命中测试的节点信息添加到命中测试结果列表中,而","hittest(hittestresult","hittestchildren(),","hittestchildren()则只需要简单的返回true或false。","hittestchildren(hittestresult","hittestresult","hittestself()","hittestself(offset","hittestself(position))","is!","isrepaintboundari","layout(constraint","markneedsbuild()","markneedslayout()","markneedspaint()","markparentneedslayout();","mypainter(),","null)","null);","offset","offset)","offset);","offset)来完成绘制,该方法源码如下:","offset.zero;","offset;","offset表示在子节点在父节点坐标系中的绘制偏移","owner._nodesneedinglayout.add(this);","owner._nodesneedingpaint.add(this);","owner.requestvisualupdate();","paint()","paint(paintingcontext","paintchild()","paintchild(renderobject","painter:","parent","parent._relayoutboundary;","parent.markneedspaint();","parentdata","parentdatatyp","parentusess","parentusessize,该值用于确定","parent,因此","parent,如此便可提高性能。","performlayout","performlayout()","performlayout();","performlayout()两个方法中,renderbox子类需要实现这两个方法来定制自身的布局逻辑。根据layout()","performlayout()两个方法来实现,他们会在layout()中被调用。","performres","performresize()","performresize()/performlayout()","performresize();","posit","position)","position));","position);","position:","relayoutboundari","relayoutboundary;","relayoutboundary,如果一个","relayoutboundary,如果不是就继续向","relayoutboundary,就表示它的大小变化不会再影响到","relayoutboundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。","relayoutboundary?在前面介绍element时,我们讲过当一个element标记为","renderbox","renderbox子类要定制布局算法不应该重写layout()方法,因为对于任何renderbox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performresize()","renderbox实际的测量和布局逻辑是在performresize()","renderobject","renderobject)","renderobject与renderbox","renderobject中有一个类似的markneedslayout()方法,它会将","renderobject为止,然后再将其标记为","renderobject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下:","renderobject和renderbox","renderobject就是渲染树中的一个对象,它拥有一个parent和一个parentdata","renderobject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。","renderproxybox","renderrepaintboundari","renderrepaintboundary({","repaint","repaintboundari","repaintboundary(","repaintcompositedchild(child,","result,","result.add(boxhittestentry(this,","result.add(hittestentry(this));","return","setupparentdata(covari","size(300,","size:","sizedbypar","sizedbyparent就应该返回true,此时其大小在","size属性用来保存控件的宽和高。renderbox的layout是通过在组件树中从上往下传递boxconstraints对象的实现的。boxconstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。","stoprecordingifneeded();","string","super(child);","this)","this.parent);","this.parent;","this;","tostring()","tree。本节我们将重点介绍一下renderobject的作用。","true","true);","true;","true则会调用_compositechild()方法,_compositechild()源码如下:","true的renderobject","true,这样在绘制时仅会重绘自身而无需重绘它的","ui底层原理。我们也可以看到,如果要从头到尾实现一个renderobject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在widget层通过组合或者custompaint完成自定义ui。如果遇到只能定义一个新renderobject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自renderbox,这样可以帮我们减少一部分工作。","visitchildrenforsemantics方法和semanticsannot","void","widget如何设置isrepaintboundary属性呢?其实如果使用了repaintboundari","widget来指定isrepaintboundari","widget自己指定,如:","widget,其对应的renderrepaintboundary会自动将isrepaintboundary设为true的:","widget,它使用keepaliveparentdatamixin(继承自parentdata)","{","||","}","})","。","一个isrepaintboundari","一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(renderview)开始进行命中测试,下面是renderview的hittest()源码:","一定要注意,renderobject的parentdata","上面layout()源码中定义了一个relayoutboundary变量,什么是","下面我们看看repaintboundary的原理,renderobject有一个isrepaintboundary属性,该属性决定这个renderobject重绘时是否独立于其父元素,如果该属性值为tru","不同的是,这个绘制边界需要由开发者通过repaintboundari","中就确定了,在后面的","中,有个","为","为true,则该renderobject拥有layer,直接绘制","为事件触发的坐标(如果有的话),返回","也就不用重新布局了。","也需要被重新布局,那么到什么时候是个头呢?答案就是","代码大致逻辑是先判断自身是不是","代码很简单,首先判断有无溢出,如果没有则调用defaultpaint(context,","会和一个祖先节点共用一个layer","会被renderbox和它的子类使用.","传给它的","便会重新布局,我们是通过调用","列表中,参数","则表示有","只能通过父元素设置.","只负责布局子节点。","可以看出,当调用","可以看到layout方法需要传入两个参数,第一个为constraints,即","向父级递归查找","命中测试","和","唯一不同的是","在","在上一节我们说过每个element都对应一个renderobject,我们可以通过element.renderobject","在布局阶段,父节点会调用子节点的layout()方法,下面我们看看renderobject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):","如果子元素未超出当前边界,则绘制子元素","如果直到根节点也没找到一个layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。","如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以renderflex对象为例说明:","它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,flutter提供了一个renderbox类,它继承自renderobject,布局坐标系统采用笛卡尔坐标系,这和android和ios原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用renderbox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下renderbox。","就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满","布局过程","开始一直向父节点查找,直到找到","当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,renderobject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数renderbox子类来说如果子类只有一个子节点,那么子节点偏移一般都是offset.zero","当然,parentdata并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的parentdata中,如containerbox的parentdata就保存了指向兄弟节点的previoussibling和nextsibling,element.visitchildren()方法也正是通过它们来实现对子节点的遍历。再比如keepal","当需要绘制的内容大小溢出当前空间时,将会执行paintoverflowindicator()","很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isrepaintboundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,renderobject也提供了一个markneedspaint()方法,其源码如下:","很明显,由于flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintchild()来绘制子节点,同时将子节点parentdata中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintchild()。而如果子节点还有子节点时,paintchild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为:","总结","意为该节点的大小是否仅通过","我们再看看renderbox默认的hittest()实现:","我们可以看到,在绘制子节点时,如果child.isrepaintboundari","我们在”事件处理与通知“一章中已经讲过flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。","我们已经在custompaint一节中介绍过repaintboundary,现在我们深入的了解一些。与","我们看到默认的实现里调用了hittestself()和hittestchildren()两个方法,这两个方法默认实现如下:","或","才会被调用,而","插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentdata正是一个预留变量,它正是由par","方法中将不会再被修改了,这种情况下","方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout()","方法时,会从当前","方法用来判断该","时便会重新build,这时","时,performresize()","时,才会触发重绘,这样便可以实现局部重绘。当","是","是否在被点击的范围内,同时负责将被点击的","是每次布局都会被调用的。sizedbypar","有renderobject","本节我们介绍了renderobject主要的功能和方法,理解这些内容可以帮助我们更好的理解flutt","来保存子节的keepalive状态。","来标记element为dirty的。在","来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如:","来获取。并且我们也说过renderobject的主要职责是layout和绘制,所有的renderobject会组成一棵渲染树rend","来赋值的,parent通常会通过子renderobject的parentdata存储一些和子元素相关的数据,如在stack布局中,renderstack就会将子元素的偏移数据存储在子元素的parentdata中(具体可以查看positioned实现)。","查找,一直向上查找到是","没有自己的layer,","添加到","源码可以看出只有","父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是","的","的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的","的大小了,于是","的大小,那么","的布局状态标记为","相似,repaintboundary是用于在确定重绘边界的,与","答案就在paintchild()源码中:","绘制的很频繁或很复杂时,可以通过repaintboundari","绘制过程","给子节点创建一个layer","语义化","语义化即semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解ui内容。如果一个renderobject要支持语义化接口,可以实现","还有一个问题,通过repaintboundari","通过context.canvas可以取到canvas对象,接下来就可以调用canva","通过了命中测试,需要响应事件,反之则认为当前renderbox没有命中。在继承renderbox时,可以直接重写hittest()方法,也可以重写",",则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢?",",如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过renderobject的parentdata属性来保存的。在renderbox中,其parentdata属性默认是一个boxparentdata对象,该属性只能通过父节点的setupparentdata()方法来设置:",",如此递归完成整个ui的布局。",",然后再上面绘制子节点"],"chapter14/flutter_app_startup.html":["!=","&&","'[root]',","'window_render';","'window_scheduleframe';","()","(_nodesneedinglayout.isnotempty)","(automaticsystemuiadjustment)","(element","(node._layer.attached)","(node._needscompositingbitsupd","(node._needslayout","(node._needspaint","(renderobject","(renderviewel","(widgetsbinding.inst",").attachtorendertree(buildowner,",");","...","...//省略无关代码","..attachrootwidget(app)","..onmetricschang","..onsemanticsact","..onsemanticsenabledchang","..ontextscalefactorchang","..schedulewarmupframe();","//","//其它属性及回调","//布局","//更新renderobject.needscompositing属性值","//添加persistentframecallback","//监听window对象的事件","//省略无关代码","//调用flutter","//调用renderbinding的drawframe()方法","//重绘之前的预处理操作,检查renderobject是否需要重绘","6的屏幕dpi为3.5",";","=","==","=>","@overrid","[];","[renderobjecttowidgetel","_devicepixelratio;","_handlepersistentframecallback(dur","_handlepersistentframecallback:","_handlesemanticsaction;","_handlesemanticsenabledchang","_nodesneedingcompositingbitsupdate)","_nodesneedingcompositingbitsupdate.clear();","_nodesneedingcompositingbitsupdate.sort(","_nodesneedinglayout","_nodesneedinglayout;","_nodesneedingpaint","_nodesneedingpaint;","_onbeginframe;","_ondrawframe;","_onlocalechanged;","_onmetricschanged;","_onplatformmessage;","_onpointerdatapacket;","_ontextscalefactorchanged;","_physicalsize;","_renderviewel","_textscalefactor;","_updatesystemchrome();","a,","a.depth","a.depth))","addpersistentframecallback(_handlepersistentframecallback);","api来完成绘制。","app)","app从启动到显示到屏幕上的主流程,读者可以结合前面章节对widget、element以及renderobject的介绍来加强细节理解。","assert(el","assert(renderview","async","attachrootwidget(widget","attachtorendertree(buildown","await","b)","b.depth","b.depth))","basic","bindingbas","binding的源码,我们可以发现这些binding中基本都是监听并处理window对象的一些事件,然后将这些事件按照framework的模型包装、抽象然后分发。可以看到widgetsflutterbinding正是粘连flutt","builder","buildowner.buildscope()","buildowner.buildscope(renderviewelement);","buildowner.finalizetree();","bytedata","callback)","channel),主要处理原生和flutter通信。","child:","class","compositeframe()","container:","createelement();","data,","debugshortdescription:","devicepixelratio","dirtynod","dirtynodes..sort((renderobject","doubl","dpi是设备屏幕的固件属性,如nexu","drawframe()","drawframe();","element","element._newwidget","element.assignowner(owner);","element.markneedsbuild();","element.mount(null,","element;","element])","elementtree。如果","element,即","endofframe;","engine与上层framework的”胶水“。","engine受显示器垂直同步信号\"vsync\"的趋势不断的触发绘制。我们之前说的flutter可以实现60fps(fram","engine提供的canva","engine的window_render方法","engine的window_scheduleframe方法","engine的一些回调。现在我们再回来看看widgetsflutterbinding混入的各种binding。通过查看这些","engine的桥梁。","engine的桥梁,主要是辅助功能的底层支持。","engine的桥梁,定义如下:","engine的渲染api","engine,最终又engine将图像画在设备屏幕上。","ensureinitialized()","extend","final","flushcompositingbits()","flushlayout()","flushpaint()","flutter","flutter从启动到显示","flutter的入口在\"lib/main.dart\"的main()函数中,它是dart应用程序的起点。在flutter应用中,main()函数如下:","flutter运行机制","frame","frame:","framecallback","framecallback:schedulerbind","framework的管理类,它跟踪哪些widget需要重新构建。","framework连接宿主操作系统的接口。我们看一下window类的部分定义:","gesturebinding,","gesturebinding:提供了window.onpointerdatapacket","handlebeginframe(null);","handledrawframe()","handledrawframe();","handlemetricschang","handletextscalefactorchang","host","initinstances()","interfac","interface.","layer.buildscene(builder);","list","local","locale;","locale发生变化回调","lockevents(()","main()","name,","nativ","node","node._layoutwithoutresize();","node._skippedpaintingonlayer();","node._updatecompositingbits();","node.own","null)","null);","onbeginfram","ondrawfram","onlocalechang","onmetricschang","onplatformmessag","onpointerdatapacket","ontextscalefactorchang","oper","os.","owner,","owner.buildscope(element,","owner.lockstate(()","paintingbinding,","paintingbinding:绑定绘制库,主要用于处理图片缓存。","paintingcontext.repaintcompositedchild(node);","per","persistentcallback","persistentcallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。schedulerbinding.instance.addpersitentframecallback(),这个回调中处理了布局与绘制工作。","physicals","pipelineowner.flushcompositingbits();","pipelineowner.flushlayout();","pipelineowner.flushpaint();","pipelineowner.flushsemantics();","platformmessagecallback","platformmessageresponsecallback","pointerdatapacketcallback","postframecallback","postframecallbacks:在frame结束时只会被调用一次,调用后会被系统移除,可由","rebuild()","render(scen","rendererbinding,","rendererbinding:","renderobject","renderobjecttowidgetadapter(","renderobjecttowidgetel","renderobjecttowidgetelement,并且将","renderobject。真正的绘制是通过paintingcontext.repaintcompositedchild()来绘制的,该方法最终会调用flutt","renderobject再到更element的整个关联过程。我们看看attachtorendertree的源码实现:","renderobject,而是只重绘了需要重绘的","renderview,","renderview.compositeframe();","renderviewelement);","resetepoch();","return","rootwidget","rootwidget)","runapp(myapp());","runapp(widget","scene","scene)","scene.dispose();","scheduleframe()","schedulerbind","schedulerbinding,","schedulerbinding.instance.addpostframecallback()","schedulerbinding:提供了window.onbeginframe和window.ondrawframe回调,监听刷新事件,绑定framework绘制调度子系统。","schedulewarmupframe()","second),就是指一秒钟可以触发60次重绘,fps值越大,界面就越流畅。","semant","semanticsbinding,","semanticsbinding:语义化层与flutt","send","sendplatformmessage(str","servicesbinding,","servicesbinding:提供了window.onplatformmessag","size","static","super.drawframe();","system'","textscalefactor","this)","this;","timeline.finishsync();","timer.run(()","timestamp)","transientcallbacks:用于存放一些临时回调,一般存放动画回调。可以通过schedulerbinding.instance.scheduleframecallback","tri","ui.scen","ui.scenebuild","ui.scenebuilder();","ui.window","ui.window.render(scene);","ui绘制区域的大小","user","void","voidcallback","widget","widgetsbind","widgetsbinding.instance;","widgetsbinding:提供了window.onlocalechanged、onbuildschedul","widgetsflutterbind","widgetsflutterbinding();","widgetsflutterbinding.ensureinitialized()","widgetsflutterbinding.ensureinitialized()负责初始化一个widgetsbinding的全局单例,紧接着会调用widgetsbinding的attachrootwidget方法,该方法负责将根widget添加到renderview上,代码如下:","widgettre","widget层与engine的桥梁。","window","{","}","});","、window.ontextscalefactorchang","。","一次绘制过程,我们称其为一帧。flutter","与","两个方法的源码,可以发现前者主要是执行了transientcallbacks队列,而后者执行了","两个方法,在看这两个方法之前我们首先了解一下","中关联的","中实现,查看其源发,发现在其initinstances()方法中有如下代码:","中,它被调用后会立即进行一次绘制(而不是等待\"vsync\"","从启动到显示","信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是schedulewarmupframe()","到根","参数app是一个widget,它是flutter应用启动后要展示的第一个widget。而widgetsflutterbinding正是绑定widget","反向遍历需要重绘的renderobject","发送平台消息","只会创建一次,后面会进行复用。那么buildowner是什么呢?其实他就是widget","可以看main()函数只调用了一个runapp()方法,我们看看runapp()方法中都做了什么:","可以看到widgetsflutterbinding继承自","可以看到window类包含了当前设备和系统的一些信息以及flutt","可以看到该方法中主要调用了handlebeginframe()","向persistentcallbacks队列添加了一个回调","和","和c","回到runapp的实现中,当调用完attachrootwidget后,最后一行会调用","回调,","回调,绑定framework手势子系统,是framework事件模型与底层事件的绑定入口。","在一次绘制过程中,这三个回调队列会放在不同时机被执行:","实例的","对应的","将需要绘制的比特数据发给gpu","已经创建过了,则将根","平台通道消息处理回调","并混入了很多binding,在介绍这些binding之前我们先介绍一下window对象。我们看看window的官方解释:","当前系统字体缩放比例。","当前系统默认的语言local","当前设备的dpi,即一个物理相许显示多少逻辑像素,数字越大,显示效果就越精细保真。","当绘制区域大小改变回调","很明显,window正是flutt","总结","我们发现在调用renderbinding.drawframe()方法前会调用","我们看最后一行,通过addpersistentframecallback","我们看看这些方法分别做了什么:","提供了window.onmetricschang","方法的部分实现(省略了无关代码):","方法,该方法的实现在","更新应用在gpu上的渲染,此方法会直接调用flutt","最后","本节介绍了flutter","根widget","框架和flutter","检查renderobject是否需要重绘,然后更新renderobject.needscompositing属性,如果该属性值被标记为true则需要重绘。","此方法会直接调用flutter","注册,注意,不要在此类回调中再触发新的frame,这可以会导致循环刷新。","注意,代码中的有renderview和renderviewelement两个变量,renderview是一个renderobject,它是渲染树的根,而renderviewelement是renderview对应的element对象,可见该方法主要完成了","添加回调。","渲染","渲染和绘制逻辑在renderbind","源码很简单,该方法主要任务是更新了所有被标记为“dirty”的renderobject的布局信息。主要的动作发生在node._layoutwithoutresize()方法中,该方法中会调用performlayout()进行重新布局。","点击或指针事件回调","现在请读者自行查看handlebeginframe()","用于绑定平台消息通道(messag","的","的概念:","真正的绘制逻辑","等回调。它flutter","等回调。它是渲染树与flutter","类中有三个framecallback回调队列,","系统字体缩放变化回调","绘制","绘制前回调,一般会受显示器的垂直同步信号vsync驱动,当屏幕刷新时就会被调用","绘制回调","设为新的,由此可以看出","该方法直接调用了renderbinding的drawframe()方法:","该方法负责创建根","该方法进行了最终的绘制,可以看出它不是重绘了所有","调度frame,该方法执行后,onbeginframe和ondrawframe将紧接着会在合适时机被调用,","这个方法中有一个scene对象,scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将canvas画好的scene传给window.render()方法,该方法会直接将scene信息发送给flutt","进行","进行关联,即创建出","重绘","锁定事件","队列。","需要注意的是:由于renderbinding只是一个mixin,而with它的是widgetbinding,所以我们需要看看widgetbinding中是否重写该方法,查看widgetbinding的drawframe()方法源码:","(非首次绘制),该方法会将被标记为“dirty”"]},"length":84},"tokenStore":{"root":{"0":{"0":{"5":{"2":{"2":{"9":{"8":{"3":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}},"docs":{}},"5":{"2":{"6":{"2":{"4":{"0":{"1":{"0":{"6":{"5":{"7":{"6":{"1":{"2":{"9":{"0":{"1":{"0":{"3":{"0":{"1":{"8":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},".":{"0":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"➩":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{}}},"docs":{}}}}}}}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"1":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"docs":{}}},"docs":{}}},"1":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"3":{"docs":{},".":{"5":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"/":{"docs":{},"/":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197}},"/":{"docs":{},"/":{"docs":{},"距":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"2":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{}},"4":{"docs":{},".":{"3":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"在":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}},"docs":{}}},"6":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644}},"/":{"docs":{},"/":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"前":{"6":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"x":{"docs":{},"e":{"0":{"0":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"docs":{}},"docs":{}},"6":{"1":{"4":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"1":{"4":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"docs":{}},"docs":{}},"docs":{},"c":{"7":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"docs":{}}}},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}}},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"1":{"0":{"0":{"0":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},".":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439}}},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"docs":{}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"}":{"docs":{},"%":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}},"1":{"docs":{},".":{"8":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"docs":{}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"docs":{}},":":{"0":{"0":{"docs":{},":":{"5":{"2":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"_":{"3":{"docs":{},"_":{"1":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}}},"docs":{}},"t":{"1":{"5":{"docs":{},":":{"4":{"6":{"docs":{},":":{"2":{"0":{"docs":{},".":{"8":{"9":{"7":{"2":{"2":{"8":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"7":{"docs":{},":":{"3":{"7":{"docs":{},":":{"2":{"8":{"docs":{},".":{"5":{"0":{"5":{"0":{"8":{"8":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}}}},"docs":{}}},"5":{"docs":{},".":{"8":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}},"3":{"docs":{},".":{"0":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},")":{"docs":{},"/":{"docs":{},"/":{"docs":{},"定":{"docs":{},"义":{"docs":{},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"docs":{}}},"5":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"docs":{}}},"docs":{},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611}}}},"6":{"5":{"7":{"3":{"9":{"3":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},")":{"docs":{},"或":{"docs":{},"更":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}},"docs":{}}},"7":{"9":{"4":{"docs":{},".":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"8":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.031746031746031744}}},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}}}}}},"docs":{}}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"docs":{},".":{"2":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"9":{"8":{"3":{"3":{"9":{"9":{"2":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0032404406999351912}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},".":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{},")":{"docs":{},"➩":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},".":{"0":{"docs":{},"+":{"1":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}},"docs":{}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"允":{"docs":{},"许":{"docs":{},"您":{"docs":{},"提":{"docs":{},"供":{"docs":{},"速":{"docs":{},"度":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},"、":{"docs":{},"力":{"docs":{},"量":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"等":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"范":{"docs":{},"围":{"docs":{},"之":{"docs":{},"外":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"2":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"5":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.015723270440251572},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}},")":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},"2":{"0":{"0":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"到":{"0":{"docs":{},".":{"0":{"docs":{},"的":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}},"docs":{}}},"docs":{}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"1":{"7":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"8":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"年":{"2":{"docs":{},"月":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"同":{"docs":{},"年":{"docs":{},"五":{"docs":{},"月":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"6":{"docs":{},"月":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{},"首":{"docs":{},"个":{"docs":{},"预":{"docs":{},"览":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"3":{"docs":{},".":{"2":{"0":{"8":{"docs":{},".":{"4":{"1":{"docs":{},".":{"3":{"2":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},")":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"/":{"docs":{},"/":{"docs":{},"子":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}}}}}}}},"docs":{}},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"1":{"7":{"1":{"9":{"7":{"8":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}},"docs":{}}},"5":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"docs":{}}},"5":{"docs":{},")":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"docs":{}},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}},"7":{"docs":{},"k":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"8":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}},"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}},".":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"已":{"docs":{},"经":{"docs":{},"正":{"docs":{},"式":{"docs":{},"发":{"docs":{},"布":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"本":{"docs":{},"书":{"docs":{},"所":{"docs":{},"有":{"docs":{},"示":{"docs":{},"例":{"docs":{},"均":{"docs":{},"采":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},")":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"6":{"2":{"5":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843}}}}}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}},"都":{"docs":{},"可":{"docs":{},".":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"3":{"0":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662}}},")":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},"3":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219}}}}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},".":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"2":{"3":{"docs":{},".":{"7":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"8":{"0":{"2":{"6":{"8":{"1":{"3":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},".":{"0":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}},"docs":{}}},"6":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}}},"8":{"8":{"9":{"6":{"5":{"3":{"5":{"5":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"docs":{}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},".":{"0":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}},"1":{"docs":{},".":{"0":{"docs":{},"正":{"docs":{},"式":{"docs":{},"发":{"docs":{},"布":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"对":{"docs":{},"于":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"完":{"docs":{},"全":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"新":{"docs":{},"增":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"r":{"docs":{},"t":{"docs":{},"、":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"等":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"无":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"g":{"docs":{},"d":{"docs":{},"b":{"docs":{},"调":{"docs":{},"试":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"集":{"docs":{},"成":{"docs":{},"了":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"代":{"docs":{},"码":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"并":{"docs":{},"对":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"支":{"docs":{},"持":{"docs":{},"做":{"docs":{},"出":{"docs":{},"了":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"至":{"docs":{},"此":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"全":{"docs":{},"面":{"docs":{},"支":{"docs":{},"持":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"、":{"docs":{},"w":{"docs":{},"p":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"构":{"docs":{},"建":{"docs":{},"图":{"docs":{},"形":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"在":{"docs":{},"p":{"docs":{},"c":{"docs":{},"端":{"docs":{},"获":{"docs":{},"得":{"docs":{},"了":{"docs":{},"巨":{"docs":{},"大":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"备":{"docs":{},"受":{"docs":{},"社":{"docs":{},"区":{"docs":{},"追":{"docs":{},"捧":{"docs":{},",":{"docs":{},"然":{"docs":{},"而":{"docs":{},"其":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"却":{"docs":{},"表":{"docs":{},"现":{"docs":{},"不":{"docs":{},"佳":{"docs":{},",":{"docs":{},"在":{"docs":{},"近":{"docs":{},"几":{"docs":{},"年":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"偶":{"docs":{},"尔":{"docs":{},"能":{"docs":{},"听":{"docs":{},"到":{"docs":{},"q":{"docs":{},"t":{"docs":{},"的":{"docs":{},"声":{"docs":{},"音":{"docs":{},",":{"docs":{},"但":{"docs":{},"一":{"docs":{},"直":{"docs":{},"很":{"docs":{},"弱":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"q":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"技":{"docs":{},"术":{"docs":{},"如":{"docs":{},"何":{"docs":{},"、":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"如":{"docs":{},"何":{"docs":{},",":{"docs":{},"但":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},"终":{"docs":{},"究":{"docs":{},"是":{"docs":{},"败":{"docs":{},"了":{"docs":{},",":{"docs":{},"究":{"docs":{},"其":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"认":{"docs":{},"为":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"四":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}},"docs":{}}},"5":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219}}},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673}}}},"4":{"0":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}},"docs":{}}},"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}},"docs":{}}},"docs":{}},"2":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"3":{"7":{"docs":{},".":{"0":{"8":{"6":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"8":{"9":{"1":{"3":{"9":{"5":{"9":{"4":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{},".":{"0":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"1":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"5":{"0":{"0":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245}},")":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},".":{"0":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.009536784741144414},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"docs":{}},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"1":{"4":{"5":{"8":{"5":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"3":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.009394572025052192}}}}},"docs":{}},"docs":{}},"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},".":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951}}},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}},"s":{"docs":{},"或":{"docs":{},"更":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"6":{"0":{"0":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.017543859649122806}}}},"docs":{}},"h":{"docs":{},"z":{"docs":{},"。":{"docs":{},"当":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"图":{"docs":{},"像":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},"准":{"docs":{},"备":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"时":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"会":{"docs":{},"发":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},"(":{"docs":{},"如":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"就":{"docs":{},"会":{"docs":{},"一":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"发":{"docs":{},"出":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}},"次":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"信":{"docs":{},"号":{"docs":{},"。":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"信":{"docs":{},"号":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"同":{"docs":{},"步":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"、":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"和":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"地":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"、":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"和":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"以":{"docs":{},"一":{"docs":{},"种":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"协":{"docs":{},"作":{"docs":{},":":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"将":{"docs":{},"计":{"docs":{},"算":{"docs":{},"好":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},"提":{"docs":{},"交":{"docs":{},"给":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"1":{"2":{"8":{"8":{"8":{"8":{"7":{"7":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"7":{"2":{"8":{"7":{"5":{"4":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"5":{"7":{"0":{"2":{"2":{"1":{"8":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},"5":{"5":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.10110174983797797}}}}},"docs":{}},"docs":{}},"8":{"3":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006804925469863901}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},",":{"docs":{},"它":{"docs":{},"用":{"docs":{},"于":{"docs":{},"强":{"docs":{},"制":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"下":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"框":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},"为":{"3":{"docs":{},".":{"5":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"docs":{}}},"docs":{}}}}}}}}},"7":{"0":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"docs":{}},"2":{"7":{"6":{"2":{"2":{"7":{"1":{"6":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},".":{"0":{"docs":{},"语":{"docs":{},"法":{"docs":{},"中":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"给":{"docs":{},"予":{"docs":{},"厚":{"docs":{},"望":{"docs":{},",":{"docs":{},"是":{"docs":{},"想":{"docs":{},"把":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"打":{"docs":{},"造":{"docs":{},"成":{"docs":{},"一":{"docs":{},"门":{"docs":{},"集":{"docs":{},"百":{"docs":{},"家":{"docs":{},"之":{"docs":{},"所":{"docs":{},"长":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.030456852791878174},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}},")":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}},"作":{"docs":{},"为":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}},"docs":{}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}},"1":{"6":{"1":{"5":{"1":{"1":{"6":{"4":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"3":{"docs":{},".":{"3":{"docs":{},"%":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"5":{"1":{"3":{"docs":{},")":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}},"docs":{}},"docs":{}},"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"/":{"docs":{},"/":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"docs":{}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"9":{"0":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.017543859649122806}}}},"docs":{}}},"6":{"0":{"2":{"5":{"5":{"6":{"5":{"2":{"6":{"2":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},".":{"0":{"docs":{},"或":{"docs":{},"更":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"链":{"docs":{},"接":{"docs":{},"下":{"docs":{},"载":{"docs":{},"或":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"应":{"docs":{},"用":{"docs":{},"商":{"docs":{},"店":{"docs":{},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"docs":{}},")":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}},"个":{"docs":{},"数":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"则":{"docs":{},"对":{"9":{"docs":{},"个":{"docs":{},"数":{"docs":{},"随":{"docs":{},"机":{"docs":{},"排":{"docs":{},"一":{"docs":{},"次":{"docs":{},"序":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{},"为":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}},"了":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"方":{"docs":{},"便":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"中":{"docs":{},"国":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"了":{"docs":{},"解":{"docs":{},"这":{"docs":{},"门":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"发":{"docs":{},"起":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"计":{"docs":{},"划":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"源":{"docs":{},"计":{"docs":{},"划":{"docs":{},",":{"docs":{},"前":{"docs":{},"者":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"则":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"包":{"docs":{},"来":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"生":{"docs":{},"态":{"docs":{},",":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"而":{"docs":{},"时":{"docs":{},"至":{"docs":{},"今":{"docs":{},"日":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"件":{"docs":{},"事":{"docs":{},"取":{"docs":{},"得":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"还":{"docs":{},"都":{"docs":{},"不":{"docs":{},"错":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"显":{"docs":{},"示":{"docs":{},"画":{"docs":{},"面":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"是":{"docs":{},"以":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"频":{"docs":{},"率":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"(":{"docs":{},"从":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"有":{"docs":{},"一":{"docs":{},"部":{"docs":{},"手":{"docs":{},"机":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"频":{"docs":{},"率":{"docs":{},"是":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"便":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"创":{"docs":{},"建":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"对":{"docs":{},"动":{"docs":{},"画":{"docs":{},"都":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"来":{"docs":{},"描":{"docs":{},"述":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"然":{"docs":{},"后":{"docs":{},"设":{"docs":{},"置":{"docs":{},"给":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"也":{"docs":{},"对":{"docs":{},"动":{"docs":{},"画":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"这":{"docs":{},"些":{"docs":{},"角":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"y":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"一":{"docs":{},"样":{"docs":{},":":{"docs":{},"将":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"图":{"docs":{},"标":{"docs":{},"都":{"docs":{},"定":{"docs":{},"义":{"docs":{},"成":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"用":{"docs":{},"户":{"docs":{},"误":{"docs":{},"触":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"都":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"了":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"返":{"docs":{},"回":{"docs":{},"键":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},"内":{"docs":{},"点":{"docs":{},"击":{"docs":{},"两":{"docs":{},"次":{"docs":{},"时":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"认":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"是":{"docs":{},"要":{"docs":{},"退":{"docs":{},"出":{"docs":{},"(":{"docs":{},"而":{"docs":{},"非":{"docs":{},"误":{"docs":{},"触":{"docs":{},")":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"拦":{"docs":{},"截":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"防":{"docs":{},"止":{"docs":{},"用":{"docs":{},"户":{"docs":{},"误":{"docs":{},"触":{"docs":{},"返":{"docs":{},"回":{"docs":{},"键":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"返":{"docs":{},"回":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"1":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"点":{"docs":{},"击":{"docs":{},"两":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"超":{"docs":{},"过":{"1":{"docs":{},"秒":{"docs":{},"则":{"docs":{},"不":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"并":{"docs":{},"重":{"docs":{},"新":{"docs":{},"记":{"docs":{},"时":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"消":{"docs":{},"息":{"docs":{},"给":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"小":{"docs":{},"而":{"docs":{},"且":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},"中":{"docs":{},"仅":{"docs":{},"提":{"docs":{},"供":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"值":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"提":{"docs":{},"供":{"docs":{},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"版":{"docs":{},"本":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}},"什":{"docs":{},"么":{"docs":{},"要":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"?":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"带":{"docs":{},"“":{"docs":{},"➕":{"docs":{},"”":{"docs":{},"号":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"是":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},";":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"是":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"生":{"docs":{},"成":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"称":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"时":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"称":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"生":{"docs":{},"成":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"绘":{"docs":{},"制":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}},"当":{"docs":{},"前":{"docs":{},"应":{"docs":{},"用":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"触":{"docs":{},"发":{"docs":{},"的":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},")":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"次":{"docs":{},"被":{"docs":{},"没":{"docs":{},"用":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"但":{"docs":{},"对":{"docs":{},"其":{"docs":{},"保":{"docs":{},"持":{"docs":{},"好":{"docs":{},"奇":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"问":{"docs":{},"到":{"docs":{},"”":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"怎":{"docs":{},"样":{"docs":{},"?":{"docs":{},"“":{"docs":{},",":{"docs":{},"”":{"docs":{},"开":{"docs":{},"发":{"docs":{},"体":{"docs":{},"验":{"docs":{},"真":{"docs":{},"的":{"docs":{},"好":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"“":{"docs":{},"这":{"docs":{},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"那":{"docs":{},"时":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"成":{"docs":{},"功":{"docs":{},"案":{"docs":{},"例":{"docs":{},"太":{"docs":{},"少":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"国":{"docs":{},"内":{"docs":{},"闲":{"docs":{},"鱼":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"引":{"docs":{},"入":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"商":{"docs":{},"业":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"但":{"docs":{},"初":{"docs":{},"期":{"docs":{},"也":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"很":{"docs":{},"少":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"能":{"docs":{},"否":{"docs":{},"适":{"docs":{},"合":{"docs":{},"用":{"docs":{},"于":{"docs":{},"完":{"docs":{},"整":{"docs":{},"项":{"docs":{},"目":{"docs":{},"缺":{"docs":{},"乏":{"docs":{},"考":{"docs":{},"验":{"docs":{},"。":{"docs":{},"那":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"就":{"docs":{},"想":{"docs":{},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"发":{"docs":{},"布":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"商":{"docs":{},"店":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"犹":{"docs":{},"豫":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"实":{"docs":{},"际":{"docs":{},"感":{"docs":{},"受":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"度":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"有":{"docs":{},"个":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"容":{"docs":{},"易":{"docs":{},"做":{"docs":{},"出":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"我":{"docs":{},"开":{"docs":{},"发":{"docs":{},"了":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"它":{"docs":{},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{},"源":{"docs":{},"码":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"、":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"、":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"等":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{},"到":{"docs":{},"目":{"docs":{},"前":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"登":{"docs":{},"录":{"docs":{},"过":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"账":{"docs":{},"号":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"有":{"5":{"0":{"0":{"0":{"docs":{},"多":{"docs":{},",":{"docs":{},"日":{"docs":{},"活":{"docs":{},"用":{"docs":{},"户":{"docs":{},"有":{"5":{"0":{"0":{"docs":{},"。":{"docs":{},"更":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"正":{"docs":{},"是":{"docs":{},"用":{"docs":{},"了":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"来":{"docs":{},"学":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"将":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"与":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"强":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"典":{"docs":{},"型":{"docs":{},"代":{"docs":{},"表":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"但":{"docs":{},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"也":{"docs":{},"是":{"docs":{},"用":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},"全":{"docs":{},"球":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"被":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},"的":{"docs":{},"知":{"docs":{},"名":{"docs":{},"公":{"docs":{},"司":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"商":{"docs":{},"业":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"这":{"docs":{},"门":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},"也":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"进":{"docs":{},"入":{"docs":{},"了":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"的":{"docs":{},"视":{"docs":{},"野":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"当":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"docs":{},"i":{"docs":{},"o":{"docs":{},"大":{"docs":{},"会":{"docs":{},"上":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"版":{"docs":{},"本":{"docs":{},"后":{"docs":{},",":{"docs":{},"国":{"docs":{},"内":{"docs":{},"刮":{"docs":{},"起":{"docs":{},"来":{"docs":{},"一":{"docs":{},"股":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"热":{"docs":{},"潮":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"和":{"docs":{},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"程":{"docs":{},"序":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"程":{"docs":{},"序":{"docs":{},"将":{"docs":{},"会":{"docs":{},"终":{"docs":{},"止":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"或":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},",":{"docs":{},"究":{"docs":{},"其":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"制":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"o":{"docs":{},"c":{"docs":{},"都":{"docs":{},"是":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"触":{"docs":{},"发":{"docs":{},"异":{"docs":{},"常":{"docs":{},"且":{"docs":{},"没":{"docs":{},"被":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"时":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"就":{"docs":{},"退":{"docs":{},"出":{"docs":{},"了":{"docs":{},"。":{"docs":{},"但":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"制":{"docs":{},"很":{"docs":{},"相":{"docs":{},"似":{"docs":{},"(":{"docs":{},"但":{"docs":{},"有":{"docs":{},"区":{"docs":{},"别":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"官":{"docs":{},"方":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"大":{"docs":{},"致":{"docs":{},"运":{"docs":{},"行":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"打":{"docs":{},"开":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"衍":{"docs":{},"生":{"docs":{},"产":{"docs":{},"物":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"支":{"docs":{},"持":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"两":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{},"r":{"docs":{},"n":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"x":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"来":{"docs":{},"开":{"docs":{},"发":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"前":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},"人":{"docs":{},"员":{"docs":{},"只":{"docs":{},"需":{"docs":{},"很":{"docs":{},"少":{"docs":{},"的":{"docs":{},"学":{"docs":{},"习":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"入":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"领":{"docs":{},"域":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"两":{"docs":{},"者":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"映":{"docs":{},"射":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"映":{"docs":{},"射":{"docs":{},"为":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"n":{"docs":{},"中":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"这":{"docs":{},"三":{"docs":{},"类":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"及":{"docs":{},"优":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"组":{"docs":{},"成":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"由":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"将":{"docs":{},"简":{"docs":{},"单":{"docs":{},"地":{"docs":{},"返":{"docs":{},"回":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"它":{"docs":{},"的":{"docs":{},"相":{"docs":{},"同":{"docs":{},"消":{"docs":{},"息":{"docs":{},"!":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"包":{"docs":{},"含":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"及":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"篇":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"种":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},":":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"技":{"docs":{},"术":{"docs":{},"的":{"docs":{},"思":{"docs":{},"路":{"docs":{},"是":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"统":{"docs":{},"一":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"系":{"docs":{},"统":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"其":{"docs":{},"它":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"力":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"要":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"中":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"取":{"docs":{},"而":{"docs":{},"代":{"docs":{},"之":{"docs":{},"的":{"docs":{},"是":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"朝":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"沿":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"来":{"docs":{},"拖":{"docs":{},"动":{"docs":{},",":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"识":{"docs":{},"别":{"docs":{},"特":{"docs":{},"定":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"改":{"docs":{},"为":{"docs":{},"只":{"docs":{},"能":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"书":{"docs":{},"中":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"“":{"docs":{},"树":{"docs":{},"“":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"可":{"docs":{},"能":{"docs":{},"指":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},",":{"docs":{},"在":{"docs":{},"说":{"docs":{},"“":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"”":{"docs":{},"时":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"结":{"docs":{},"构":{"docs":{},"树":{"docs":{},",":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"(":{"docs":{},"一":{"docs":{},"可":{"docs":{},"能":{"docs":{},"对":{"docs":{},"多":{"docs":{},")":{"docs":{},",":{"docs":{},"在":{"docs":{},"有":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"中":{"docs":{},")":{"docs":{},"也":{"docs":{},"代":{"docs":{},"指":{"docs":{},"“":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"”":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"多":{"docs":{},"次":{"docs":{},"提":{"docs":{},"到":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"\"":{"docs":{},"这":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"特":{"docs":{},"指":{"docs":{},":":{"docs":{},"基":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},"实":{"docs":{},"现":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"指":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"如":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"或":{"docs":{},"者":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{},"过":{"docs":{},"各":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"相":{"docs":{},"通":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"还":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"将":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"展":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"小":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"后":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"本":{"docs":{},"质":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"好":{"docs":{},"奇":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"或":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"源":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"发":{"docs":{},"展":{"docs":{},"初":{"docs":{},"期":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"并":{"docs":{},"不":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"应":{"docs":{},"对":{"docs":{},"产":{"docs":{},"品":{"docs":{},"需":{"docs":{},"求":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},",":{"docs":{},"各":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"或":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"模":{"docs":{},"型":{"docs":{},"基":{"docs":{},"本":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"一":{"docs":{},"次":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},":":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"、":{"docs":{},"手":{"docs":{},"指":{"docs":{},"移":{"docs":{},"动":{"docs":{},"、":{"docs":{},"和":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},",":{"docs":{},"而":{"docs":{},"更":{"docs":{},"高":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"(":{"docs":{},"如":{"docs":{},"点":{"docs":{},"击":{"docs":{},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"、":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"等":{"docs":{},")":{"docs":{},"都":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"原":{"docs":{},"始":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"启":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"广":{"docs":{},"播":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"跨":{"docs":{},"页":{"docs":{},"面":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"需":{"docs":{},"要":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},",":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"关":{"docs":{},"注":{"docs":{},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{},"或":{"docs":{},"注":{"docs":{},"销":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"状":{"docs":{},"态":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"便":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"有":{"docs":{},"用":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"通":{"docs":{},"常":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"包":{"docs":{},"含":{"docs":{},"发":{"docs":{},"布":{"docs":{},"者":{"docs":{},"和":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"两":{"docs":{},"种":{"docs":{},"角":{"docs":{},"色":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"来":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"监":{"docs":{},"听":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"单":{"docs":{},"例":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"来":{"docs":{},"调":{"docs":{},"试":{"docs":{},",":{"docs":{},"而":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"软":{"docs":{},"件":{"docs":{},"(":{"docs":{},"如":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"软":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"软":{"docs":{},"件":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"以":{"docs":{},"下":{"docs":{},"新":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"两":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"之":{"docs":{},"间":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"到":{"docs":{},"目":{"docs":{},"标":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"的":{"docs":{},"头":{"docs":{},"像":{"docs":{},"上":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"解":{"docs":{},"析":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"是":{"docs":{},"否":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"其":{"docs":{},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"它":{"docs":{},"们":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"文":{"docs":{},"件":{"docs":{},"下":{"docs":{},"找":{"docs":{},"到":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{},"双":{"docs":{},"击":{"docs":{},"运":{"docs":{},"行":{"docs":{},"并":{"docs":{},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},",":{"docs":{},"你":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"东":{"docs":{},"西":{"docs":{},"都":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"、":{"docs":{},"填":{"docs":{},"充":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"没":{"docs":{},"有":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"如":{"docs":{},"调":{"docs":{},"用":{"docs":{},"空":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"异":{"docs":{},"常":{"docs":{},"、":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"异":{"docs":{},"常":{"docs":{},"分":{"docs":{},"两":{"docs":{},"类":{"docs":{},":":{"docs":{},"同":{"docs":{},"步":{"docs":{},"异":{"docs":{},"常":{"docs":{},"和":{"docs":{},"异":{"docs":{},"步":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"异":{"docs":{},"常":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"而":{"docs":{},"异":{"docs":{},"步":{"docs":{},"异":{"docs":{},"常":{"docs":{},"则":{"docs":{},"比":{"docs":{},"较":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"不":{"docs":{},"了":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"的":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"“":{"docs":{},"描":{"docs":{},"述":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"”":{"docs":{},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"其":{"docs":{},"实":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"表":{"docs":{},"示":{"docs":{},"最":{"docs":{},"终":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"在":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"是":{"docs":{},"显":{"docs":{},"示":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"真":{"docs":{},"正":{"docs":{},"代":{"docs":{},"表":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"类":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"只":{"docs":{},"是":{"docs":{},"描":{"docs":{},"述":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"有":{"docs":{},"关":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"深":{"docs":{},"入":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"现":{"docs":{},"在":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"只":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"而":{"docs":{},"真":{"docs":{},"正":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"时":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},"开":{"docs":{},"发":{"docs":{},"都":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"需":{"docs":{},"要":{"docs":{},"组":{"docs":{},"合":{"docs":{},"这":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"各":{"docs":{},"种":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"一":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},"你":{"docs":{},"不":{"docs":{},"必":{"docs":{},"担":{"docs":{},"心":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"差":{"docs":{},"异":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"低":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"列":{"docs":{},"表":{"docs":{},"只":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"项":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"字":{"docs":{},"体":{"docs":{},"分":{"docs":{},"两":{"docs":{},"步":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"它":{"docs":{},"们":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"它":{"docs":{},"们":{"docs":{},"会":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"使":{"docs":{},"用":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"从":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"“":{"docs":{},"飞":{"docs":{},"”":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"称":{"docs":{},"为":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"有":{"docs":{},"时":{"docs":{},"也":{"docs":{},"称":{"docs":{},"为":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"u":{"docs":{},"i":{"docs":{},"通":{"docs":{},"常":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"些":{"docs":{},"低":{"docs":{},"阶":{"docs":{},"别":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"些":{"docs":{},"通":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"首":{"docs":{},"先":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"以":{"docs":{},"则":{"docs":{},"应":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"组":{"docs":{},"合":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"方":{"docs":{},"便":{"docs":{},"、":{"docs":{},"简":{"docs":{},"单":{"docs":{},"、":{"docs":{},"高":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"平":{"docs":{},"台":{"docs":{},"机":{"docs":{},"制":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"启":{"docs":{},"动":{"docs":{},"页":{"docs":{},"。":{"docs":{},"此":{"docs":{},"启":{"docs":{},"动":{"docs":{},"页":{"docs":{},"将":{"docs":{},"持":{"docs":{},"续":{"docs":{},"到":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"时":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},",":{"docs":{},"导":{"docs":{},"航":{"docs":{},"到":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"各":{"docs":{},"种":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"(":{"docs":{},"如":{"docs":{},"m":{"docs":{},"i":{"docs":{},"p":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"已":{"docs":{},"经":{"docs":{},"包":{"docs":{},"含":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"相":{"docs":{},"比":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"优":{"docs":{},"势":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"中":{"docs":{},"基":{"docs":{},"于":{"docs":{},"它":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"其":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"上":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"内":{"docs":{},"部":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"封":{"docs":{},"装":{"docs":{},"性":{"docs":{},"会":{"docs":{},"好":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"。":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"确":{"docs":{},"定":{"docs":{},"到":{"docs":{},"底":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"的":{"docs":{},"首":{"docs":{},"选":{"docs":{},"是":{"docs":{},"在":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"(":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"会":{"docs":{},"显":{"docs":{},"得":{"docs":{},"更":{"docs":{},"重":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"被":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"处":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"文":{"docs":{},"本":{"docs":{},"都":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"正":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},"的":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"导":{"docs":{},"航":{"docs":{},"面":{"docs":{},"板":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"变":{"docs":{},"量":{"docs":{},"”":{"docs":{},"下":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"”":{"docs":{},"的":{"docs":{},"条":{"docs":{},"目":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"简":{"docs":{},"介":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"构":{"docs":{},"成":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"组":{"docs":{},"件":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"、":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"从":{"docs":{},"创":{"docs":{},"建":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"大":{"docs":{},"体":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{},"根":{"docs":{},"据":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"生":{"docs":{},"成":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"并":{"docs":{},"关":{"docs":{},"联":{"docs":{},"到":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"上":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"布":{"docs":{},"局":{"docs":{},"排":{"docs":{},"列":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"上":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"程":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"框":{"docs":{},"输":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"项":{"docs":{},"目":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},",":{"docs":{},"您":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"位":{"docs":{},"于":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"翻":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"本":{"docs":{},"节":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"还":{"docs":{},"不":{"docs":{},"了":{"docs":{},"解":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"有":{"docs":{},"过":{"docs":{},"其":{"docs":{},"他":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"是":{"docs":{},"前":{"docs":{},"端":{"docs":{},"或":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"将":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"上":{"docs":{},"手":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"也":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"与":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"比":{"docs":{},"较":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"等":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"当":{"docs":{},"时":{"docs":{},"学":{"docs":{},"习":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"花":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"小":{"docs":{},"时":{"docs":{},",":{"docs":{},"看":{"docs":{},"完":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"官":{"docs":{},"网":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"简":{"docs":{},"单":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"相":{"docs":{},"对":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"笔":{"docs":{},"者":{"docs":{},"看":{"docs":{},"来":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"目":{"docs":{},"标":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"既":{"docs":{},"对":{"docs":{},"标":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"也":{"docs":{},"对":{"docs":{},"标":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"静":{"docs":{},"态":{"docs":{},"语":{"docs":{},"法":{"docs":{},"方":{"docs":{},"面":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"非":{"docs":{},"常":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"如":{"docs":{},"类":{"docs":{},"型":{"docs":{},"定":{"docs":{},"义":{"docs":{},"、":{"docs":{},"函":{"docs":{},"数":{"docs":{},"声":{"docs":{},"明":{"docs":{},"、":{"docs":{},"泛":{"docs":{},"型":{"docs":{},"等":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"动":{"docs":{},"态":{"docs":{},"特":{"docs":{},"性":{"docs":{},"方":{"docs":{},"面":{"docs":{},"又":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"很":{"docs":{},"像":{"docs":{},",":{"docs":{},"如":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"特":{"docs":{},"性":{"docs":{},"、":{"docs":{},"异":{"docs":{},"步":{"docs":{},"支":{"docs":{},"持":{"docs":{},"等":{"docs":{},"。":{"docs":{},"除":{"docs":{},"了":{"docs":{},"融":{"docs":{},"合":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"之":{"docs":{},"所":{"docs":{},"长":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"也":{"docs":{},"具":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"具":{"docs":{},"有":{"docs":{},"表":{"docs":{},"现":{"docs":{},"力":{"docs":{},"的":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"可":{"docs":{},"选":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"、":{"docs":{},".":{"docs":{},".":{"docs":{},"(":{"docs":{},"级":{"docs":{},"联":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},")":{"docs":{},"和":{"docs":{},"?":{"docs":{},".":{"docs":{},"(":{"docs":{},"条":{"docs":{},"件":{"docs":{},"成":{"docs":{},"员":{"docs":{},"访":{"docs":{},"问":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},")":{"docs":{},"以":{"docs":{},"及":{"docs":{},"?":{"docs":{},"?":{"docs":{},"(":{"docs":{},"判":{"docs":{},"空":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},")":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"对":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"了":{"docs":{},"解":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"其":{"docs":{},"实":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"有":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"影":{"docs":{},"子":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"具":{"docs":{},"有":{"docs":{},"其":{"docs":{},"它":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"中":{"docs":{},"的":{"docs":{},"身":{"docs":{},"影":{"docs":{},",":{"docs":{},"如":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"在":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"一":{"docs":{},"的":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"被":{"docs":{},"列":{"docs":{},"出":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"监":{"docs":{},"听":{"docs":{},"“":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"”":{"docs":{},"手":{"docs":{},"势":{"docs":{},"(":{"docs":{},"“":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"”":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"函":{"docs":{},"数":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},"代":{"docs":{},"表":{"3":{"docs":{},".":{"5":{"docs":{},"个":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"本":{"docs":{},"地":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"路":{"docs":{},"径":{"docs":{},"时":{"docs":{},",":{"docs":{},"构":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"相":{"docs":{},"邻":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"具":{"docs":{},"有":{"docs":{},"相":{"docs":{},"同":{"docs":{},"名":{"docs":{},"称":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},"随":{"docs":{},"后":{"docs":{},"会":{"docs":{},"与":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"一":{"docs":{},"起":{"docs":{},"被":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"部":{"docs":{},"分":{"docs":{},"添":{"docs":{},"加":{"docs":{},"如":{"docs":{},"下":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"放":{"docs":{},"置":{"docs":{},"到":{"docs":{},"称":{"docs":{},"为":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"率":{"docs":{},"为":{"1":{"docs":{},".":{"8":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},",":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"2":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}},"选":{"docs":{},"择":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"变":{"docs":{},"体":{"docs":{},"(":{"docs":{},"见":{"docs":{},"下":{"docs":{},"文":{"docs":{},")":{"docs":{},",":{"docs":{},"将":{"docs":{},"来":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"、":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"提":{"docs":{},"示":{"docs":{},"等":{"docs":{},"方":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"强":{"docs":{},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"您":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"“":{"docs":{},"调":{"docs":{},"试":{"docs":{},"”":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"有":{"docs":{},"时":{"docs":{},"也":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"”":{"docs":{},"模":{"docs":{},"式":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"2":{"docs":{},".":{"0":{"docs":{},"后":{"docs":{},"“":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"”":{"docs":{},"被":{"docs":{},"废":{"docs":{},"除":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"“":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"”":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"前":{"docs":{},",":{"docs":{},"请":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"外":{"docs":{},"部":{"docs":{},"事":{"docs":{},"件":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"在":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"i":{"docs":{},"o":{"docs":{},"、":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"、":{"docs":{},"点":{"docs":{},"击":{"docs":{},"、":{"docs":{},"以":{"docs":{},"及":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"事":{"docs":{},"件":{"docs":{},"等":{"docs":{},",":{"docs":{},"而":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"通":{"docs":{},"常":{"docs":{},"来":{"docs":{},"源":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"非":{"docs":{},"常":{"docs":{},"少":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"高":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"太":{"docs":{},"多":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"间":{"docs":{},"总":{"docs":{},"和":{"docs":{},"就":{"docs":{},"越":{"docs":{},"久":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"也":{"docs":{},"就":{"docs":{},"越":{"docs":{},"久":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"应":{"docs":{},"用":{"docs":{},"来":{"docs":{},"说":{"docs":{},"最":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"就":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"卡":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"保":{"docs":{},"证":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"不":{"docs":{},"会":{"docs":{},"太":{"docs":{},"长":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"向":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"插":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"某":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"时":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"中":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"其":{"docs":{},"它":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"以":{"docs":{},"消":{"docs":{},"息":{"docs":{},"循":{"docs":{},"环":{"docs":{},"机":{"docs":{},"制":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"两":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"“":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"”":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"从":{"docs":{},"树":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"移":{"docs":{},"除":{"docs":{},"后":{"docs":{},"(":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"又":{"docs":{},"重":{"docs":{},"新":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"树":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"位":{"docs":{},"置":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"的":{"docs":{},"周":{"docs":{},"围":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"深":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"的":{"docs":{},"边":{"docs":{},"框":{"docs":{},"。":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"边":{"docs":{},"框":{"docs":{},"消":{"docs":{},"失":{"docs":{},";":{"docs":{},"点":{"docs":{},"击":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{},"通":{"docs":{},"过":{"docs":{},"回":{"docs":{},"调":{"docs":{},"将":{"docs":{},"其":{"docs":{},"状":{"docs":{},"态":{"docs":{},"导":{"docs":{},"出":{"docs":{},"到":{"docs":{},"其":{"docs":{},"父":{"docs":{},"项":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{},"不":{"docs":{},"管":{"docs":{},"理":{"docs":{},"任":{"docs":{},"何":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"它":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"“":{"docs":{},"控":{"docs":{},"件":{"docs":{},"”":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"更":{"docs":{},"广":{"docs":{},"泛":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"表":{"docs":{},"示":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"表":{"docs":{},"示":{"docs":{},"一":{"docs":{},"些":{"docs":{},"功":{"docs":{},"能":{"docs":{},"性":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"如":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"检":{"docs":{},"测":{"docs":{},"的":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"也":{"docs":{},"说":{"docs":{},"过":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"先":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"以":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"展":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"用":{"docs":{},"法":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"如":{"docs":{},"何":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"当":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"取":{"docs":{},"消":{"docs":{},"高":{"docs":{},"亮":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"只":{"docs":{},"能":{"docs":{},"按":{"docs":{},"同":{"docs":{},"一":{"docs":{},"种":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"部":{"docs":{},"分":{"docs":{},"按":{"docs":{},"照":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"片":{"docs":{},"段":{"docs":{},"”":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{},"过":{"docs":{},"每":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"都":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"码":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"码":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"字":{"docs":{},"形":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"字":{"docs":{},"形":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"即":{"docs":{},"字":{"docs":{},"符":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"字":{"docs":{},"形":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"将":{"docs":{},"位":{"docs":{},"码":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"字":{"docs":{},"形":{"docs":{},"做":{"docs":{},"成":{"docs":{},"了":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"最":{"docs":{},"终":{"docs":{},"就":{"docs":{},"会":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"成":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"图":{"docs":{},"标":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"超":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"报":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"在":{"docs":{},"“":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"”":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"被":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"描":{"docs":{},"述":{"docs":{},"中":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"称":{"docs":{},"为":{"docs":{},"主":{"docs":{},"轴":{"docs":{},",":{"docs":{},"非":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"称":{"docs":{},"为":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"方":{"docs":{},"向":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"同":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"布":{"docs":{},"局":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"都":{"docs":{},"有":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"术":{"docs":{},"语":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"视":{"docs":{},"口":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"无":{"docs":{},"特":{"docs":{},"别":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"则":{"docs":{},"是":{"docs":{},"指":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"显":{"docs":{},"示":{"docs":{},"区":{"docs":{},"域":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"区":{"docs":{},"域":{"docs":{},"高":{"docs":{},"度":{"docs":{},"是":{"8":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"其":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"总":{"docs":{},"高":{"docs":{},"度":{"docs":{},"可":{"docs":{},"能":{"docs":{},"远":{"docs":{},"远":{"docs":{},"超":{"docs":{},"过":{"8":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"其":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"8":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"时":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"继":{"docs":{},"续":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"在":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},",":{"docs":{},"快":{"docs":{},"速":{"docs":{},"地":{"docs":{},"多":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"人":{"docs":{},"眼":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"暂":{"docs":{},"留":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"连":{"docs":{},"续":{"docs":{},"”":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"电":{"docs":{},"影":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"称":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"次":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"而":{"docs":{},"决":{"docs":{},"定":{"docs":{},"动":{"docs":{},"画":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"度":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"指":{"docs":{},"标":{"docs":{},"就":{"docs":{},"是":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"会":{"docs":{},"举":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}},"某":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"值":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"超":{"docs":{},"出":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"0":{"docs":{},".":{"0":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"要":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"战":{"docs":{},"中":{"docs":{},",":{"docs":{},"后":{"docs":{},"台":{"docs":{},"接":{"docs":{},"口":{"docs":{},"往":{"docs":{},"往":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"些":{"docs":{},"结":{"docs":{},"构":{"docs":{},"化":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"等":{"docs":{},",":{"docs":{},"如":{"docs":{},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"请":{"docs":{},"求":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"您":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"导":{"docs":{},"出":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"布":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"检":{"docs":{},"查":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"d":{"docs":{},"以":{"docs":{},"及":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},".":{"docs":{},"m":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"其":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},"和":{"docs":{},"正":{"docs":{},"确":{"docs":{},"性":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"端":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"打":{"docs":{},"开":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"型":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"模":{"docs":{},"块":{"docs":{},"或":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"与":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"捆":{"docs":{},"绑":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"版":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"语":{"docs":{},"言":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"就":{"docs":{},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"通":{"docs":{},"常":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"就":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"依":{"docs":{},"次":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"加":{"docs":{},"载":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"某":{"docs":{},"一":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},"则":{"docs":{},"会":{"docs":{},"停":{"docs":{},"止":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"语":{"docs":{},"言":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"截":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"大":{"docs":{},"致":{"docs":{},"实":{"docs":{},"现":{"docs":{},"(":{"docs":{},"删":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},")":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"队":{"docs":{},"列":{"docs":{},"会":{"docs":{},"放":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"时":{"docs":{},"机":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"果":{"1":{"docs":{},"、":{"2":{"docs":{},"验":{"docs":{},"证":{"docs":{},"都":{"docs":{},"失":{"docs":{},"败":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"回":{"docs":{},"调":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"允":{"docs":{},"许":{"docs":{},"继":{"docs":{},"续":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"终":{"docs":{},"止":{"docs":{},"链":{"docs":{},"接":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{},"只":{"docs":{},"靠":{"docs":{},"我":{"docs":{},"一":{"docs":{},"个":{"docs":{},"人":{"docs":{},",":{"docs":{},"也":{"docs":{},"只":{"docs":{},"能":{"docs":{},"等":{"docs":{},"我":{"docs":{},"有":{"docs":{},"空":{"docs":{},"了":{"docs":{},"才":{"docs":{},"能":{"docs":{},"写":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"今":{"docs":{},"年":{"docs":{},"实":{"docs":{},"在":{"docs":{},"是":{"docs":{},"太":{"docs":{},"忙":{"docs":{},"了":{"docs":{},"!":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"加":{"docs":{},"快":{"docs":{},"进":{"docs":{},"度":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"大":{"docs":{},"家":{"docs":{},"一":{"docs":{},"起":{"docs":{},"来":{"docs":{},"写":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"已":{"docs":{},"经":{"docs":{},"开":{"docs":{},"源":{"docs":{},",":{"docs":{},"有":{"docs":{},"志":{"docs":{},"之":{"docs":{},"士":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"p":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"好":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"校":{"docs":{},"稿":{"docs":{},";":{"docs":{},"当":{"docs":{},"然":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"一":{"docs":{},"定":{"docs":{},"有":{"docs":{},"用":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"”":{"docs":{},"打":{"docs":{},"赏":{"docs":{},"“":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"红":{"docs":{},"包":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"作":{"docs":{},"者":{"docs":{},"拿":{"docs":{},"了":{"docs":{},"钱":{"docs":{},",":{"docs":{},"说":{"docs":{},"不":{"docs":{},"定":{"docs":{},"会":{"docs":{},"不":{"docs":{},"好":{"docs":{},"意":{"docs":{},"思":{"docs":{},"慢":{"docs":{},"慢":{"docs":{},"吞":{"docs":{},"吞":{"docs":{},"的":{"docs":{},"写":{"docs":{},",":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"是":{"docs":{},"收":{"docs":{},"了":{"docs":{},"钱":{"docs":{},"的":{"docs":{},",":{"docs":{},"哈":{"docs":{},"哈":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"只":{"docs":{},"是":{"docs":{},"外":{"docs":{},"观":{"docs":{},"风":{"docs":{},"格":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"如":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"如":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"、":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"节":{"docs":{},"点":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"等":{"docs":{},"导":{"docs":{},"致":{"docs":{},",":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"回":{"docs":{},"流":{"docs":{},"(":{"docs":{},"及":{"docs":{},"重":{"docs":{},"新":{"docs":{},"排":{"docs":{},"版":{"docs":{},"布":{"docs":{},"局":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"自":{"docs":{},"动":{"docs":{},"签":{"docs":{},"名":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"请":{"docs":{},"验":{"docs":{},"证":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"切":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{},"终":{"docs":{},"端":{"docs":{},"是":{"docs":{},"z":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"终":{"docs":{},"端":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},",":{"docs":{},"那":{"docs":{},"您":{"docs":{},"还":{"docs":{},"必":{"docs":{},"须":{"docs":{},"更":{"docs":{},"新":{"docs":{},"同":{"docs":{},"一":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"已":{"docs":{},"经":{"docs":{},"自":{"docs":{},"动":{"docs":{},"启":{"docs":{},"用":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"自":{"docs":{},"带":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},")":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"以":{"docs":{},"下":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"输":{"docs":{},"出":{"docs":{},"太":{"docs":{},"多":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"有":{"docs":{},"时":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"一":{"docs":{},"些":{"docs":{},"日":{"docs":{},"志":{"docs":{},"行":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"包":{"docs":{},"发":{"docs":{},"布":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"先":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{},"因":{"docs":{},"为":{"docs":{},"众":{"docs":{},"所":{"docs":{},"周":{"docs":{},"知":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"网":{"docs":{},"络":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"v":{"docs":{},"p":{"docs":{},"n":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"理":{"docs":{},"只":{"docs":{},"会":{"docs":{},"代":{"docs":{},"理":{"docs":{},"部":{"docs":{},"分":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"如":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"代":{"docs":{},"理":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"开":{"docs":{},"了":{"docs":{},"代":{"docs":{},"理":{"docs":{},"也":{"docs":{},"依":{"docs":{},"然":{"docs":{},"无":{"docs":{},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"在":{"docs":{},"发":{"docs":{},"布":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"包":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"或":{"docs":{},"全":{"docs":{},"局":{"docs":{},"v":{"docs":{},"p":{"docs":{},"n":{"docs":{},"会":{"docs":{},"保":{"docs":{},"险":{"docs":{},"些":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"网":{"docs":{},"络":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"以":{"docs":{},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"权":{"docs":{},"限":{"docs":{},"(":{"docs":{},"s":{"docs":{},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{},")":{"docs":{},"运":{"docs":{},"行":{"docs":{},"发":{"docs":{},"布":{"docs":{},"命":{"docs":{},"令":{"docs":{},"重":{"docs":{},"试":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"去":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"查":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"安":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"否":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"网":{"docs":{},"上":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"一":{"docs":{},"下":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"会":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"。":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},",":{"docs":{},"包":{"docs":{},"本":{"docs":{},"身":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"上":{"docs":{},"例":{"docs":{},"所":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"同":{"docs":{},"时":{"docs":{},"监":{"docs":{},"听":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"斜":{"docs":{},"着":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"时":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},"?":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"移":{"docs":{},"动":{"docs":{},"时":{"docs":{},"两":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"移":{"docs":{},"分":{"docs":{},"量":{"docs":{},",":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"大":{"docs":{},",":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"在":{"docs":{},"本":{"docs":{},"次":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"中":{"docs":{},"就":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"直":{"docs":{},"译":{"docs":{},"为":{"docs":{},"“":{"docs":{},"竞":{"docs":{},"技":{"docs":{},"场":{"docs":{},"”":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"者":{"docs":{},"”":{"docs":{},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"发":{"docs":{},"生":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"都":{"docs":{},"要":{"docs":{},"在":{"docs":{},"“":{"docs":{},"竞":{"docs":{},"技":{"docs":{},"场":{"docs":{},"”":{"docs":{},"去":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"本":{"docs":{},"次":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"权":{"docs":{},",":{"docs":{},"而":{"docs":{},"最":{"docs":{},"终":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"者":{"docs":{},"”":{"docs":{},"会":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"现":{"docs":{},"在":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"这":{"docs":{},"个":{"docs":{},"子":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"父":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"会":{"docs":{},"动":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"只":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"动":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"时":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"而":{"docs":{},"获":{"docs":{},"得":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"权":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"安":{"docs":{},"装":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"想":{"docs":{},"让":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"继":{"docs":{},"承":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"以":{"docs":{},"渐":{"docs":{},"隐":{"docs":{},"渐":{"docs":{},"入":{"docs":{},"动":{"docs":{},"画":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"路":{"docs":{},"由":{"docs":{},"过":{"docs":{},"渡":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"条":{"docs":{},"目":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"用":{"docs":{},"户":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"个":{"docs":{},"失":{"docs":{},"败":{"docs":{},"并":{"docs":{},"出":{"docs":{},"现":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"请":{"docs":{},"运":{"docs":{},"行":{"docs":{},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"出":{"docs":{},"现":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"其":{"docs":{},"它":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"时":{"docs":{},",":{"docs":{},"必":{"docs":{},"然":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"套":{"docs":{},"回":{"docs":{},"调":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"现":{"docs":{},"在":{"docs":{},"有":{"docs":{},"个":{"docs":{},"需":{"docs":{},"求":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"先":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"登":{"docs":{},"录":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"会":{"docs":{},"获":{"docs":{},"得":{"docs":{},"用":{"docs":{},"户":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"用":{"docs":{},"户":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"再":{"docs":{},"去":{"docs":{},"请":{"docs":{},"求":{"docs":{},"用":{"docs":{},"户":{"docs":{},"个":{"docs":{},"人":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"个":{"docs":{},"人":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"其":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"中":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"您":{"docs":{},"从":{"docs":{},"未":{"docs":{},"打":{"docs":{},"算":{"docs":{},"更":{"docs":{},"改":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"还":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"您":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"标":{"docs":{},"签":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"请":{"docs":{},"确":{"docs":{},"保":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"尝":{"docs":{},"试":{"docs":{},"调":{"docs":{},"试":{"docs":{},"合":{"docs":{},"成":{"docs":{},"图":{"docs":{},"层":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"以":{"docs":{},"及":{"docs":{},"在":{"docs":{},"何":{"docs":{},"处":{"docs":{},"添":{"docs":{},"加":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"层":{"docs":{},"的":{"docs":{},"树":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"够":{"docs":{},"详":{"docs":{},"细":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"转":{"docs":{},"储":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"按":{"docs":{},"照":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"链":{"docs":{},"继":{"docs":{},"续":{"docs":{},"往":{"docs":{},"下":{"docs":{},"查":{"docs":{},"看":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"影":{"docs":{},"响":{"docs":{},"其":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"框":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"将":{"docs":{},"信":{"docs":{},"息":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"转":{"docs":{},"储":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"将":{"docs":{},"父":{"docs":{},"类":{"docs":{},"状":{"docs":{},"态":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"而":{"docs":{},"做":{"docs":{},"这":{"docs":{},"一":{"docs":{},"套":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},"是":{"docs":{},"无":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"父":{"docs":{},"子":{"docs":{},"类":{"docs":{},"之":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"和":{"docs":{},"子":{"docs":{},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"是":{"docs":{},"无":{"docs":{},"关":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"占":{"docs":{},"满":{"docs":{},"外":{"docs":{},"部":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"路":{"docs":{},"由":{"docs":{},"提":{"docs":{},"前":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"动":{"docs":{},"态":{"docs":{},"修":{"docs":{},"改":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"包":{"docs":{},"名":{"docs":{},"为":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"1":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"方":{"docs":{},"式":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"包":{"docs":{},",":{"docs":{},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"该":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"本":{"docs":{},"身":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"某":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"包":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"“":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"”":{"docs":{},"它":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"每":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},"设":{"docs":{},"置":{"docs":{},"“":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"”":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"本":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"类":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"实":{"docs":{},"现":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"库":{"docs":{},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"本":{"docs":{},"文":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"修":{"docs":{},"改":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"和":{"docs":{},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"都":{"docs":{},"会":{"docs":{},"变":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"高":{"docs":{},"兴":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"主":{"docs":{},"题":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"主":{"docs":{},"题":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"可":{"docs":{},"以":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"。":{"docs":{},"显":{"docs":{},"然":{"docs":{},",":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"很":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"的":{"docs":{},"配":{"docs":{},"合":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"同":{"docs":{},"步":{"docs":{},"切":{"docs":{},"换":{"docs":{},"和":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"状":{"docs":{},"态":{"docs":{},"同":{"docs":{},"步":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"现":{"docs":{},"有":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"跑":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"还":{"docs":{},"是":{"docs":{},"得":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"”":{"docs":{},"适":{"docs":{},"配":{"docs":{},"器":{"docs":{},"“":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"将":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"结":{"docs":{},"合":{"docs":{},"到":{"docs":{},"现":{"docs":{},"有":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"就":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"”":{"docs":{},"适":{"docs":{},"配":{"docs":{},"器":{"docs":{},"“":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"在":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"图":{"docs":{},"中":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"三":{"docs":{},"条":{"docs":{},"线":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"您":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"频":{"docs":{},"率":{"docs":{},"低":{"docs":{},"于":{"6":{"0":{"docs":{},"h":{"docs":{},"z":{"docs":{},"。":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"代":{"docs":{},"表":{"docs":{},"帧":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"则":{"docs":{},"最":{"docs":{},"好":{"docs":{},"由":{"docs":{},"它":{"docs":{},"们":{"docs":{},"共":{"docs":{},"同":{"docs":{},"的":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"是":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"生":{"docs":{},"效":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"中":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"某":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"应":{"docs":{},"用":{"docs":{},"将":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},")":{"docs":{},"中":{"docs":{},"的":{"docs":{},"相":{"docs":{},"应":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"的":{"docs":{},"托":{"docs":{},"底":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"有":{"docs":{},"关":{"docs":{},"界":{"docs":{},"面":{"docs":{},"外":{"docs":{},"观":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"状":{"docs":{},"态":{"docs":{},"最":{"docs":{},"好":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"的":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"滑":{"docs":{},"块":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"状":{"docs":{},"态":{"docs":{},"最":{"docs":{},"好":{"docs":{},"由":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"里":{"docs":{},"面":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"里":{"docs":{},"面":{"docs":{},"再":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"只":{"docs":{},"有":{"docs":{},"对":{"docs":{},"最":{"docs":{},"外":{"docs":{},"面":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"会":{"docs":{},"占":{"docs":{},"用":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"以":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"为":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"将":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"(":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{},"截":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"值":{"docs":{},"改":{"docs":{},"为":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"只":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"1":{"docs":{},"\"":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"并":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"精":{"docs":{},"确":{"docs":{},"进":{"docs":{},"度":{"docs":{},"时":{"docs":{},"对":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"应":{"docs":{},"用":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"(":{"docs":{},"其":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"并":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"都":{"docs":{},"会":{"docs":{},"将":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"端":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"起":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"偏":{"docs":{},"离":{"docs":{},"起":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},"凭":{"docs":{},"据":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"或":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"等":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"请":{"docs":{},"求":{"docs":{},"体":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"验":{"docs":{},"证":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"在":{"docs":{},"信":{"docs":{},"任":{"docs":{},"链":{"docs":{},"中":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"则":{"docs":{},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"可":{"docs":{},"信":{"docs":{},"c":{"docs":{},"a":{"docs":{},"颁":{"docs":{},"发":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"符":{"docs":{},"合":{"docs":{},"通":{"docs":{},"配":{"docs":{},"规":{"docs":{},"则":{"docs":{},")":{"docs":{},"并":{"docs":{},"且":{"docs":{},"证":{"docs":{},"书":{"docs":{},"未":{"docs":{},"过":{"docs":{},"期":{"docs":{},",":{"docs":{},"则":{"docs":{},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"判":{"docs":{},"断":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"命":{"docs":{},"名":{"docs":{},"策":{"docs":{},"略":{"docs":{},"也":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"正":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"返":{"docs":{},"回":{"docs":{},"带":{"docs":{},"有":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"反":{"docs":{},"向":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"作":{"docs":{},"为":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"则":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"会":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"设":{"docs":{},"为":{"docs":{},"“":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"以":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"“":{"docs":{},"_":{"docs":{},"”":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"此":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"版":{"docs":{},"本":{"docs":{},"像":{"docs":{},"’":{"0":{"docs":{},".":{"4":{"docs":{},".":{"5":{"docs":{},"’":{"docs":{},"或":{"docs":{},"’":{"docs":{},"^":{"0":{"docs":{},".":{"4":{"docs":{},".":{"0":{"docs":{},"’":{"docs":{},",":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"将":{"docs":{},"能":{"docs":{},"够":{"docs":{},"自":{"docs":{},"动":{"docs":{},"解":{"docs":{},"决":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"冲":{"docs":{},"突":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"的":{"docs":{},"库":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"重":{"docs":{},"写":{"docs":{},"声":{"docs":{},"明":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"构":{"docs":{},"建":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"表":{"docs":{},"示":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"未":{"docs":{},"能":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"之":{"docs":{},"前":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"先":{"docs":{},"判":{"docs":{},"空":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"将":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"区":{"docs":{},"域":{"docs":{},"设":{"docs":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"则":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"或":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"复":{"docs":{},"用":{"docs":{},"元":{"docs":{},"素":{"docs":{},")":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"会":{"docs":{},"先":{"docs":{},"将":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"从":{"docs":{},"现":{"docs":{},"有":{"docs":{},"位":{"docs":{},"置":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"重":{"docs":{},"新":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"层":{"docs":{},",":{"docs":{},"单":{"docs":{},"靠":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"层":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"起":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"?":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"以":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"子":{"docs":{},"?":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"未":{"docs":{},"超":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"则":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"到":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"也":{"docs":{},"没":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"便":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"自":{"docs":{},"身":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"没":{"docs":{},"有":{"docs":{},"其":{"docs":{},"它":{"docs":{},"节":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"它":{"docs":{},"除":{"docs":{},"了":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"可":{"docs":{},"以":{"docs":{},"访":{"docs":{},"问":{"docs":{},"平":{"docs":{},"台":{"docs":{},"所":{"docs":{},"有":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"h":{"5":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"内":{"docs":{},"核":{"docs":{},",":{"docs":{},"其":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"依":{"docs":{},"然":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"权":{"docs":{},"限":{"docs":{},"受":{"docs":{},"限":{"docs":{},"的":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"力":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"访":{"docs":{},"问":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"如":{"docs":{},"无":{"docs":{},"法":{"docs":{},"访":{"docs":{},"问":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"、":{"docs":{},"不":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"蓝":{"docs":{},"牙":{"docs":{},"等":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"h":{"5":{"docs":{},"不":{"docs":{},"能":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"原":{"docs":{},"生":{"docs":{},"去":{"docs":{},"做":{"docs":{},"。":{"docs":{},"而":{"docs":{},"混":{"docs":{},"合":{"docs":{},"框":{"docs":{},"架":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"预":{"docs":{},"先":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"些":{"docs":{},"访":{"docs":{},"问":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"力":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"何":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"管":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{},"以":{"docs":{},"下":{"docs":{},"原":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"你":{"docs":{},"决":{"docs":{},"定":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"我":{"docs":{},"们":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"了":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"对":{"docs":{},"于":{"docs":{},"海":{"docs":{},"量":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"很":{"docs":{},"难":{"docs":{},"去":{"docs":{},"全":{"docs":{},"部":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"。":{"docs":{},"而":{"docs":{},"那":{"docs":{},"时":{"docs":{},",":{"docs":{},"电":{"docs":{},"子":{"docs":{},"工":{"docs":{},"业":{"docs":{},"出":{"docs":{},"版":{"docs":{},"社":{"docs":{},"正":{"docs":{},"好":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"我":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"我":{"docs":{},"能":{"docs":{},"写":{"docs":{},"一":{"docs":{},"本":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"战":{"docs":{},"类":{"docs":{},"的":{"docs":{},"书":{"docs":{},"籍":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"运":{"docs":{},"行":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},"的":{"docs":{},"盒":{"docs":{},"子":{"docs":{},",":{"docs":{},"不":{"docs":{},"指":{"docs":{},"定":{"docs":{},"它":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"再":{"docs":{},"单":{"docs":{},"独":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"一":{"docs":{},"下":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}},"在":{"docs":{},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"“":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"”":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},",":{"docs":{},"做":{"docs":{},"如":{"docs":{},"下":{"docs":{},"修":{"docs":{},"改":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{},"“":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"讲":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"机":{"docs":{},"制":{"docs":{},"和":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"后":{"docs":{},"就":{"docs":{},"会":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"注":{"docs":{},"册":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"才":{"docs":{},"能":{"docs":{},"正":{"docs":{},"确":{"docs":{},"处":{"docs":{},"理":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"。":{"docs":{},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"式":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"到":{"docs":{},"之":{"docs":{},"前":{"docs":{},"“":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"”":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"时":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"图":{"docs":{},"片":{"docs":{},"放":{"docs":{},"大":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"为":{"docs":{},"先":{"docs":{},"放":{"docs":{},"大":{"docs":{},"再":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"再":{"docs":{},"放":{"docs":{},"大":{"docs":{},"…":{"docs":{},"…":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"循":{"docs":{},"环":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"反":{"docs":{},"转":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"再":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"来":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},"“":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"”":{"docs":{},"包":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"是":{"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"里":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"默":{"docs":{},"认":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},"看":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"下":{"docs":{},"之":{"docs":{},"前":{"docs":{},"“":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"”":{"docs":{},"示":{"docs":{},"例":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"演":{"docs":{},"示":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"的":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"部":{"docs":{},"分":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"分":{"docs":{},"别":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"行":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"上":{"docs":{},"报":{"docs":{},"的":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"打":{"docs":{},"印":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"刚":{"docs":{},"开":{"docs":{},"始":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"移":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"手":{"docs":{},"势":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"打":{"docs":{},"印":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{},"而":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"会":{"docs":{},"胜":{"docs":{},"出":{"docs":{},",":{"docs":{},"当":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"前":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"和":{"docs":{},"上":{"docs":{},"报":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"从":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"时":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"会":{"docs":{},"依":{"docs":{},"次":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"参":{"docs":{},"数":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"也":{"docs":{},"都":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"如":{"docs":{},"有":{"docs":{},"疑":{"docs":{},"惑":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"翻":{"docs":{},"阅":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"一":{"docs":{},"节":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"的":{"docs":{},"是":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"控":{"docs":{},"制":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"排":{"docs":{},"列":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},")":{"docs":{},"中":{"docs":{},"也":{"docs":{},"有":{"docs":{},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"意":{"docs":{},"义":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"再":{"docs":{},"重":{"docs":{},"复":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"前":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},")":{"docs":{},"除":{"docs":{},"了":{"docs":{},"超":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"范":{"docs":{},"围":{"docs":{},"后":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"会":{"docs":{},"折":{"docs":{},"行":{"docs":{},"外":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"行":{"docs":{},"为":{"docs":{},"基":{"docs":{},"本":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"特":{"docs":{},"有":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},",":{"docs":{},"如":{"docs":{},"本":{"docs":{},"节":{"docs":{},"开":{"docs":{},"始":{"docs":{},"示":{"docs":{},"例":{"docs":{},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"两":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"代":{"docs":{},"码":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"呢":{"docs":{},"?":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"被":{"docs":{},"几":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"解":{"docs":{},"码":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"或":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"签":{"docs":{},"名":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"并":{"docs":{},"打":{"docs":{},"开":{"docs":{},"该":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"在":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"打":{"docs":{},"开":{"docs":{},"后":{"docs":{},",":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"中":{"docs":{},"央":{"docs":{},"就":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"字":{"0":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"。":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"上":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"素":{"docs":{},"材":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"自":{"docs":{},"己":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"图":{"docs":{},"标":{"docs":{},"打":{"docs":{},"包":{"docs":{},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"些":{"docs":{},"不":{"docs":{},"同":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{},"格":{"docs":{},"式":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},"上":{"docs":{},"面":{"docs":{},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"在":{"docs":{},"提":{"docs":{},"交":{"docs":{},"之":{"docs":{},"前":{"docs":{},"校":{"docs":{},"验":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"提":{"docs":{},"问":{"docs":{},"文":{"docs":{},"字":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"后":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"在":{"docs":{},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"不":{"docs":{},"会":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"显":{"docs":{},"示":{"docs":{},"了":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"\"":{"docs":{},"本":{"docs":{},"应":{"docs":{},"该":{"docs":{},"显":{"docs":{},"示":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"但":{"docs":{},"现":{"docs":{},"在":{"docs":{},"却":{"docs":{},"显":{"docs":{},"示":{"docs":{},"为":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"定":{"docs":{},"义":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"。":{"docs":{},"另":{"docs":{},"一":{"docs":{},"种":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"掉":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"去":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"定":{"docs":{},"义":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"很":{"docs":{},"少":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"其":{"docs":{},"过":{"docs":{},"于":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"转":{"docs":{},"换":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"的":{"docs":{},"是":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"是":{"docs":{},"否":{"docs":{},"满":{"docs":{},"足":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"布":{"docs":{},"局":{"docs":{},"策":{"docs":{},"略":{"docs":{},"或":{"docs":{},"性":{"docs":{},"能":{"docs":{},"要":{"docs":{},"求":{"docs":{},"较":{"docs":{},"高":{"docs":{},"(":{"docs":{},"如":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},")":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"优":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"六":{"docs":{},"个":{"docs":{},"色":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}},"给":{"docs":{},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"三":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"调":{"docs":{},"整":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"小":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"5":{"0":{"docs":{},",":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{},"的":{"docs":{},"红":{"docs":{},"色":{"docs":{},"容":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"换":{"docs":{},"肤":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},"的":{"docs":{},"卡":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"对":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"进":{"docs":{},"行":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"相":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"增":{"docs":{},"大":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"将":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"2":{"0":{"0":{"docs":{},"×":{"1":{"0":{"0":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"图":{"docs":{},"片":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"放":{"docs":{},"大":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"结":{"docs":{},"构":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"流":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"在":{"docs":{},"读":{"docs":{},"取":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"编":{"docs":{},"码":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"是":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{},"粹":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"该":{"docs":{},"页":{"docs":{},"面":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"是":{"1":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"照":{"docs":{},"之":{"docs":{},"前":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"写":{"docs":{},"出":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"当":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"超":{"docs":{},"过":{"docs":{},"则":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"到":{"docs":{},"初":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"则":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"另":{"docs":{},"外":{"docs":{},"三":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"识":{"docs":{},"别":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"“":{"docs":{},"获":{"docs":{},"胜":{"docs":{},"”":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"到":{"docs":{},"当":{"docs":{},"次":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"结":{"docs":{},"束":{"docs":{},"都":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"该":{"docs":{},"方":{"docs":{},"向":{"docs":{},"移":{"docs":{},"动":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{},"一":{"docs":{},"是":{"docs":{},"只":{"docs":{},"能":{"docs":{},"将":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"以":{"9":{"0":{"docs":{},"度":{"docs":{},"的":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"二":{"docs":{},"是":{"docs":{},"当":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"角":{"docs":{},"度":{"docs":{},"更":{"docs":{},"新":{"docs":{},"过":{"docs":{},"程":{"docs":{},"没":{"docs":{},"有":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"它":{"docs":{},"们":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"还":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"m":{"docs":{},"t":{"docs":{},"p":{"docs":{},"、":{"docs":{},"f":{"docs":{},"t":{"docs":{},"p":{"docs":{},"等":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"是":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"端":{"docs":{},"到":{"docs":{},"端":{"docs":{},"建":{"docs":{},"立":{"docs":{},"链":{"docs":{},"接":{"docs":{},"和":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"而":{"docs":{},"高":{"docs":{},"级":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"其":{"docs":{},"实":{"docs":{},"都":{"docs":{},"是":{"docs":{},"对":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"以":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"退":{"docs":{},"出":{"docs":{},"重":{"docs":{},"启":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"收":{"docs":{},"取":{"docs":{},"消":{"docs":{},"息":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"它":{"docs":{},"们":{"docs":{},"?":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"美":{"docs":{},"元":{"docs":{},"符":{"docs":{},"“":{"docs":{},"$":{"docs":{},"”":{"docs":{},"作":{"docs":{},"为":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"与":{"docs":{},"内":{"docs":{},"容":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"常":{"docs":{},"量":{"docs":{},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},")":{"docs":{},",":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"在":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},"后":{"docs":{},"会":{"docs":{},"先":{"docs":{},"把":{"docs":{},"相":{"docs":{},"应":{"docs":{},"字":{"docs":{},"段":{"docs":{},"转":{"docs":{},"为":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"对":{"docs":{},"象":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"数":{"docs":{},"组":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},"后":{"docs":{},"面":{"docs":{},"添":{"docs":{},"加":{"docs":{},"数":{"docs":{},"组":{"docs":{},"符":{"docs":{},"“":{"docs":{},"[":{"docs":{},"]":{"docs":{},"”":{"docs":{},",":{"docs":{},"符":{"docs":{},"号":{"docs":{},"后":{"docs":{},"面":{"docs":{},"接":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"名":{"docs":{},",":{"docs":{},"此":{"docs":{},"例":{"docs":{},"中":{"docs":{},"是":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"其":{"docs":{},"它":{"docs":{},"类":{"docs":{},"型":{"docs":{},"同":{"docs":{},"理":{"docs":{},",":{"docs":{},"加":{"docs":{},"入":{"docs":{},"我":{"docs":{},"们":{"docs":{},"给":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"在":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"状":{"docs":{},"态":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"内":{"docs":{},"容":{"docs":{},"修":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"在":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"前":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"“":{"docs":{},"域":{"docs":{},"名":{"docs":{},"前":{"docs":{},"缀":{"docs":{},"”":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"始":{"docs":{},"终":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"区":{"docs":{},"域":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"知":{"docs":{},"道":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"本":{"docs":{},":":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"深":{"docs":{},"入":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"些":{"docs":{},"。":{"docs":{},"与":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"该":{"docs":{},"字":{"docs":{},"段":{"docs":{},"的":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"给":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},"看":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"不":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"\"":{"docs":{},"@":{"docs":{},"@":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"字":{"docs":{},"段":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"是":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"的":{"docs":{},"翻":{"docs":{},"译":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"正":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"题":{"docs":{},"的":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"。":{"docs":{},"@":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},"是":{"docs":{},"对":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"再":{"docs":{},"说":{"docs":{},"一":{"docs":{},"下":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"本":{"docs":{},"书":{"docs":{},"要":{"docs":{},"开":{"docs":{},"源":{"docs":{},"。":{"docs":{},"既":{"docs":{},"然":{"docs":{},"是":{"docs":{},"电":{"docs":{},"子":{"docs":{},"工":{"docs":{},"业":{"docs":{},"出":{"docs":{},"版":{"docs":{},"社":{"docs":{},"约":{"docs":{},"的":{"docs":{},"稿":{"docs":{},",":{"docs":{},"就":{"docs":{},"这":{"docs":{},"么":{"docs":{},"公":{"docs":{},"开":{"docs":{},",":{"docs":{},"难":{"docs":{},"道":{"docs":{},"将":{"docs":{},"来":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"冲":{"docs":{},"击":{"docs":{},"实":{"docs":{},"体":{"docs":{},"书":{"docs":{},"的":{"docs":{},"销":{"docs":{},"量":{"docs":{},"?":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"我":{"docs":{},"是":{"docs":{},"仔":{"docs":{},"细":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"过":{"docs":{},"的":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"写":{"docs":{},"过":{"docs":{},"书":{"docs":{},"的":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"都":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"写":{"docs":{},"技":{"docs":{},"术":{"docs":{},"书":{"docs":{},"是":{"docs":{},"不":{"docs":{},"赚":{"docs":{},"钱":{"docs":{},"的":{"docs":{},",":{"docs":{},"能":{"docs":{},"收":{"docs":{},"获":{"docs":{},"的":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"点":{"docs":{},"点":{"docs":{},"名":{"docs":{},"气":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"吧":{"docs":{},"却":{"docs":{},"只":{"docs":{},"喜":{"docs":{},"欢":{"docs":{},"钱":{"docs":{},",":{"docs":{},"既":{"docs":{},"然":{"docs":{},"赚":{"docs":{},"不":{"docs":{},"到":{"docs":{},"钱":{"docs":{},",":{"docs":{},"那":{"docs":{},"何":{"docs":{},"不":{"docs":{},"直":{"docs":{},"接":{"docs":{},"公":{"docs":{},"开":{"docs":{},"得":{"docs":{},"了":{"docs":{},"…":{"docs":{},"当":{"docs":{},"然":{"docs":{},"还":{"docs":{},"有":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"要":{"docs":{},"做":{"docs":{},"实":{"docs":{},"体":{"docs":{},"书":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"和":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"校":{"docs":{},"稿":{"docs":{},"会":{"docs":{},"花":{"docs":{},"费":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"可":{"docs":{},"是":{"docs":{},"我":{"docs":{},"实":{"docs":{},"在":{"docs":{},"是":{"docs":{},"没":{"docs":{},"时":{"docs":{},"间":{"docs":{},"了":{"docs":{},",":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"放":{"docs":{},"弃":{"docs":{},"实":{"docs":{},"体":{"docs":{},"书":{"docs":{},"出":{"docs":{},"版":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"本":{"docs":{},"书":{"docs":{},"最":{"docs":{},"后":{"docs":{},"因":{"docs":{},"不":{"docs":{},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"出":{"docs":{},"版":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"大":{"docs":{},"家":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"开":{"docs":{},"源":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"发":{"docs":{},"现":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"点":{"docs":{},"击":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"的":{"docs":{},"”":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"“":{"docs":{},",":{"docs":{},"提":{"docs":{},"p":{"docs":{},"r":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"想":{"docs":{},"一":{"docs":{},"起":{"docs":{},"参":{"docs":{},"与":{"docs":{},"本":{"docs":{},"书":{"docs":{},"创":{"docs":{},"作":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"《":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"战":{"docs":{},"》":{"docs":{},"贡":{"docs":{},"献":{"docs":{},"指":{"docs":{},"南":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"识":{"docs":{},"是":{"docs":{},"应":{"docs":{},"该":{"docs":{},"付":{"docs":{},"费":{"docs":{},"的":{"docs":{},",":{"docs":{},"创":{"docs":{},"作":{"docs":{},"不":{"docs":{},"易":{"docs":{},",":{"docs":{},"开":{"docs":{},"源":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"免":{"docs":{},"费":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"是":{"docs":{},"本":{"docs":{},"书":{"docs":{},"读":{"docs":{},"者":{"docs":{},"并":{"docs":{},"手":{"docs":{},"头":{"docs":{},"宽":{"docs":{},"裕":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"面":{"docs":{},"打":{"docs":{},"赏":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"打":{"docs":{},"赏":{"docs":{},";":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"囊":{"docs":{},"中":{"docs":{},"羞":{"docs":{},"涩":{"docs":{},",":{"docs":{},"您":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"本":{"docs":{},"书":{"docs":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"对":{"docs":{},"您":{"docs":{},"有":{"docs":{},"个":{"docs":{},"小":{"docs":{},"小":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"您":{"docs":{},"在":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"能":{"docs":{},"积":{"docs":{},"极":{"docs":{},"参":{"docs":{},"与":{"docs":{},"到":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"docs":{},"纠":{"docs":{},"错":{"docs":{},"以":{"docs":{},"及":{"docs":{},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"创":{"docs":{},"作":{"docs":{},"上":{"docs":{},"来":{"docs":{},",":{"docs":{},"也":{"docs":{},"算":{"docs":{},"是":{"docs":{},"有":{"docs":{},"所":{"docs":{},"付":{"docs":{},"出":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"每":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"就":{"docs":{},"将":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"自":{"docs":{},"增":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"创":{"docs":{},"建":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"小":{"docs":{},"字":{"docs":{},"体":{"docs":{},"显":{"docs":{},"示":{"docs":{},"电":{"docs":{},"池":{"docs":{},"状":{"docs":{},"态":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"值":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"前":{"docs":{},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"平":{"docs":{},"台":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"为":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"判":{"docs":{},"断":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"为":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"步":{"docs":{},":":{"docs":{},"添":{"docs":{},"加":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"再":{"docs":{},"次":{"docs":{},"松":{"docs":{},"开":{"docs":{},"约":{"docs":{},"束":{"docs":{},",":{"docs":{},"这":{"docs":{},"次":{"docs":{},"是":{"docs":{},"将":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"中":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"居":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"只":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"更":{"docs":{},"改":{"docs":{},"它":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"将":{"docs":{},"其":{"docs":{},"值":{"docs":{},"减":{"docs":{},"小":{"docs":{},",":{"docs":{},"则":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"观":{"docs":{},"察":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"倒":{"docs":{},"退":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"断":{"docs":{},"言":{"docs":{},"并":{"docs":{},"且":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"干":{"docs":{},"扰":{"docs":{},"您":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"是":{"docs":{},"宽":{"9":{"0":{"docs":{},",":{"docs":{},"高":{"6":{"0":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"是":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"是":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{},"单":{"docs":{},"凭":{"docs":{},"这":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"总":{"docs":{},"结":{"docs":{},"不":{"docs":{},"出":{"docs":{},"什":{"docs":{},"么":{"docs":{},"规":{"docs":{},"律":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"父":{"docs":{},"子":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},"换":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"9":{"0":{"docs":{},",":{"docs":{},"高":{"6":{"0":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"意":{"docs":{},"义":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"此":{"docs":{},"时":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},"是":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"是":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"目":{"docs":{},"前":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"官":{"docs":{},"网":{"docs":{},"日":{"docs":{},"p":{"docs":{},"v":{"docs":{},"在":{"5":{"docs":{},"w":{"docs":{},"左":{"docs":{},"右":{"docs":{},",":{"docs":{},"每":{"docs":{},"日":{"docs":{},"独":{"docs":{},"立":{"docs":{},"访":{"docs":{},"问":{"docs":{},"人":{"docs":{},"数":{"8":{"0":{"0":{"0":{"docs":{},"多":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"运":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"静":{"docs":{},"态":{"docs":{},"编":{"docs":{},"译":{"docs":{},"与":{"docs":{},"动":{"docs":{},"态":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{},"静":{"docs":{},"态":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"前":{"docs":{},"全":{"docs":{},"部":{"docs":{},"被":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"为":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"称":{"docs":{},"为":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"典":{"docs":{},"型":{"docs":{},"代":{"docs":{},"表":{"docs":{},"有":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"录":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"缘":{"docs":{},"起":{"docs":{"./":{"ref":"./","tf":10.071428571428571}}}},"自":{"docs":{},"今":{"docs":{},"年":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"建":{"docs":{},"立":{"docs":{},"官":{"docs":{},"方":{"docs":{},"账":{"docs":{},"号":{"docs":{},"以":{"docs":{},"来":{"docs":{},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"开":{"docs":{},"源":{"docs":{},"了":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"等":{"docs":{},"多":{"docs":{},"个":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"在":{"docs":{},"开":{"docs":{},"源":{"docs":{},"两":{"docs":{},"周":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"迅":{"docs":{},"速":{"docs":{},"成":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"包":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"排":{"docs":{},"名":{"docs":{},"第":{"docs":{},"一":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"库":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}},"u":{"docs":{},"i":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"(":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"非":{"docs":{},"常":{"docs":{},"强":{"docs":{},"大":{"docs":{},",":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"任":{"docs":{},"何":{"2":{"docs":{},"d":{"docs":{},"图":{"docs":{},"形":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"被":{"docs":{},"封":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},"了":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"具":{"docs":{},"有":{"docs":{},"外":{"docs":{},"观":{"docs":{},"样":{"docs":{},"式":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"外":{"docs":{},"观":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"样":{"docs":{},"式":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/":{"ref":"chapter13/","tf":10}},"方":{"docs":{},"法":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":10.043478260869565}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}},"路":{"docs":{},"由":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":10}}}}}},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"和":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}},"动":{"docs":{},"化":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"做":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"已":{"docs":{},"经":{"docs":{},"够":{"docs":{},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"仍":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"很":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"去":{"docs":{},"做":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"时":{"docs":{},"间":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"被":{"docs":{},"搁":{"docs":{},"置":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"定":{"docs":{},"义":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"样":{"docs":{},"式":{"docs":{},"如":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"默":{"docs":{},"认":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"及":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"都":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"没":{"docs":{},"有":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"应":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"无":{"docs":{},"需":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"类":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"起":{"docs":{},"来":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"读":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"继":{"docs":{},"承":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"了":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"想":{"docs":{},"在":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"时":{"docs":{},"应":{"docs":{},"用":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"返":{"docs":{},"回":{"docs":{},"时":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"非":{"docs":{},"常":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"每":{"docs":{},"次":{"docs":{},"在":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"中":{"docs":{},"进":{"docs":{},"行":{"docs":{},"更":{"docs":{},"改":{"docs":{},"时":{"docs":{},"都":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"运":{"docs":{},"行":{"docs":{},"构":{"docs":{},"建":{"docs":{},"命":{"docs":{},"令":{"docs":{},"的":{"docs":{},"话":{"docs":{},"会":{"docs":{},"更":{"docs":{},"好":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"想":{"docs":{},"法":{"docs":{},"听":{"docs":{},"起":{"docs":{},"来":{"docs":{},"不":{"docs":{},"错":{"docs":{},",":{"docs":{},"书":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"就":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"系":{"docs":{},"统":{"docs":{},"性":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"门":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"我":{"docs":{},"平":{"docs":{},"时":{"docs":{},"工":{"docs":{},"作":{"docs":{},"太":{"docs":{},"忙":{"docs":{},",":{"docs":{},"周":{"docs":{},"末":{"docs":{},"时":{"docs":{},"间":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"花":{"docs":{},"费":{"docs":{},"在":{"docs":{},"维":{"docs":{},"护":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"和":{"docs":{},"开":{"docs":{},"源":{"docs":{},"项":{"docs":{},"目":{"docs":{},"上":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"此":{"docs":{},"事":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"推":{"docs":{},"迟":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"到":{"docs":{},"今":{"docs":{},"天":{"docs":{},",":{"docs":{},"你":{"docs":{},"现":{"docs":{},"在":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"不":{"docs":{},"是":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"目":{"docs":{},"录":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"都":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"写":{"docs":{},",":{"docs":{},"那":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"能":{"docs":{},"写":{"docs":{},"完":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},"条":{"docs":{},"件":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"只":{"docs":{},"需":{"docs":{},"调":{"docs":{},"用":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"前":{"docs":{},"一":{"docs":{},"步":{"docs":{},"中":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"错":{"docs":{},"误":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"未":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"返":{"docs":{},"回":{"docs":{},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"未":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"返":{"docs":{},"回":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},"会":{"docs":{},"经":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"现":{"docs":{},"在":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"该":{"docs":{},"文":{"docs":{},"件":{"docs":{},"同":{"docs":{},"级":{"docs":{},"目":{"docs":{},"录":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"z":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"z":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"将":{"docs":{},"英":{"docs":{},"文":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"为":{"docs":{},"中":{"docs":{},"文":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"z":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"最":{"docs":{},"终":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"后":{"docs":{},"的":{"docs":{},"像":{"docs":{},"素":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"画":{"docs":{},"好":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"传":{"docs":{},"给":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"信":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"框":{"docs":{},"架":{"docs":{},"主":{"docs":{},"要":{"docs":{},"原":{"docs":{},"理":{"docs":{},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"需":{"docs":{},"要":{"docs":{},"动":{"docs":{},"态":{"docs":{},"变":{"docs":{},"动":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"5":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"原":{"docs":{},"生":{"docs":{},"的":{"docs":{},"网":{"docs":{},"页":{"docs":{},"加":{"docs":{},"载":{"docs":{},"控":{"docs":{},"件":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"有":{"docs":{},"意":{"docs":{},"思":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"很":{"docs":{},"有":{"docs":{},"争":{"docs":{},"议":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"在":{"docs":{},"了":{"docs":{},"解":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.020833333333333332}}},"“":{"docs":{},"扁":{"docs":{},"平":{"docs":{},"化":{"docs":{},"”":{"docs":{},"的":{"docs":{},"树":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"了":{"docs":{},"通":{"docs":{},"过":{"docs":{},"各":{"docs":{},"种":{"docs":{},"构":{"docs":{},"建":{"docs":{},"函":{"docs":{},"数":{"docs":{},"投":{"docs":{},"影":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"你":{"docs":{},"获":{"docs":{},"得":{"docs":{},"的":{"docs":{},"树":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"封":{"docs":{},"装":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"输":{"docs":{},"出":{"docs":{},"限":{"docs":{},"制":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"级":{"docs":{},"别":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"被":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"内":{"docs":{},"核":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},"且":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},"未":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"时":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"当":{"docs":{},"中":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"添":{"docs":{},"加":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"证":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"写":{"docs":{},"法":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"因":{"docs":{},"为":{"docs":{},"单":{"docs":{},"词":{"docs":{},"对":{"docs":{},"是":{"docs":{},"在":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"库":{"docs":{},"的":{"docs":{},"布":{"docs":{},"尔":{"docs":{},"值":{"docs":{},"。":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"候":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},"影":{"docs":{},"响":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"写":{"docs":{},"法":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"一":{"docs":{},"步":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"任":{"docs":{},"意":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"了":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"流":{"docs":{},"(":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},")":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"流":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"无":{"docs":{},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"当":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"自":{"docs":{},"己":{"docs":{},"无":{"docs":{},"法":{"docs":{},"下":{"docs":{},"载":{"docs":{},"部":{"docs":{},"分":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"请":{"docs":{},"优":{"docs":{},"先":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"进":{"docs":{},"入":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"模":{"docs":{},"式":{"docs":{},"可":{"docs":{},"以":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"除":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"之":{"docs":{},"外":{"docs":{},"所":{"docs":{},"有":{"docs":{},"调":{"docs":{},"试":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},",":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{},"异":{"docs":{},"步":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{},"它":{"docs":{},"们":{"docs":{},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"好":{"docs":{},"一":{"docs":{},"些":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"像":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"具":{"docs":{},"有":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"让":{"docs":{},"您":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"创":{"docs":{},"建":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{},"其":{"docs":{},"设":{"docs":{},"计":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"应":{"docs":{},"该":{"docs":{},"存":{"docs":{},"放":{"docs":{},"在":{"docs":{},"包":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"中":{"docs":{},"。":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"不":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"声":{"docs":{},"明":{"docs":{},"字":{"docs":{},"体":{"docs":{},"时":{"docs":{},"有":{"docs":{},"选":{"docs":{},"择":{"docs":{},"地":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{},"假":{"docs":{},"设":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"包":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{},"生":{"docs":{},"成":{"docs":{},"代":{"docs":{},"码":{"docs":{},"还":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"运":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"来":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"模":{"docs":{},"板":{"docs":{},"。":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"运":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"分":{"docs":{},"别":{"docs":{},"称":{"docs":{},"为":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"很":{"docs":{},"显":{"docs":{},"然":{"docs":{},"是":{"docs":{},"不":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}},"的":{"docs":{},"话":{"docs":{},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"将":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"声":{"docs":{},"明":{"docs":{},"为":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"才":{"docs":{},"能":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"外":{"docs":{},"部":{"docs":{},"访":{"docs":{},"问":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"但":{"docs":{},"将":{"docs":{},"状":{"docs":{},"态":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"公":{"docs":{},"开":{"docs":{},"后":{"docs":{},",":{"docs":{},"状":{"docs":{},"态":{"docs":{},"将":{"docs":{},"不":{"docs":{},"再":{"docs":{},"具":{"docs":{},"有":{"docs":{},"私":{"docs":{},"密":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"对":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"将":{"docs":{},"会":{"docs":{},"变":{"docs":{},"的":{"docs":{},"不":{"docs":{},"可":{"docs":{},"控":{"docs":{},"。":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"构":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"拦":{"docs":{},"截":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"记":{"docs":{},"录":{"docs":{},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"等":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"触":{"docs":{},"发":{"docs":{},"未":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"异":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{},"和":{"docs":{},"日":{"docs":{},"志":{"docs":{},"统":{"docs":{},"一":{"docs":{},"上":{"docs":{},"报":{"docs":{},"。":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"合":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"我":{"docs":{},"们":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"全":{"docs":{},"部":{"docs":{},"错":{"docs":{},"误":{"docs":{},"了":{"docs":{},"!":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"那":{"docs":{},"些":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"了":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"其":{"docs":{},"它":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"想":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"同":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"最":{"docs":{},"初":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"还":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"践":{"docs":{},"中":{"docs":{},",":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"和":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{},"到":{"docs":{},"位":{"docs":{},",":{"docs":{},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"可":{"docs":{},"以":{"docs":{},"具":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"、":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"字":{"docs":{},"段":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"和":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},"以":{"docs":{},"及":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"拼":{"docs":{},"写":{"docs":{},"错":{"docs":{},"误":{"docs":{},"字":{"docs":{},"段":{"docs":{},"视":{"docs":{},"为":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"型":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"在":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"和":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"之":{"docs":{},"间":{"docs":{},"切":{"docs":{},"换":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"标":{"docs":{},"题":{"docs":{},"将":{"docs":{},"会":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"较":{"docs":{},"好":{"docs":{},",":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"会":{"docs":{},"将":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"安":{"docs":{},"装":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"以":{"docs":{},"下":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"不":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"式":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"其":{"docs":{},"它":{"docs":{},"低":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"组":{"docs":{},"合":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"高":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"合":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"由":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"等":{"docs":{},"组":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"您":{"docs":{},"确":{"docs":{},"定":{"docs":{},"某":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"以":{"docs":{},"某":{"docs":{},"种":{"docs":{},"不":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"测":{"docs":{},"试":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"检":{"docs":{},"测":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"它":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"超":{"docs":{},"出":{"docs":{},"了":{"docs":{},"其":{"docs":{},"父":{"docs":{},"项":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"不":{"docs":{},"会":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"两":{"docs":{},"个":{"docs":{},"图":{"docs":{},"表":{"docs":{},"。":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"线":{"docs":{},"程":{"docs":{},"花":{"docs":{},"费":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"线":{"docs":{},"程":{"docs":{},"花":{"docs":{},"费":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"/":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"专":{"docs":{},"用":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"工":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"看":{"docs":{},"转":{"docs":{},"储":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},"。":{"docs":{},"您":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"已":{"docs":{},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"手":{"docs":{},"势":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"始":{"docs":{},"终":{"docs":{},"在":{"docs":{},"发":{"docs":{},"布":{"docs":{},"模":{"docs":{},"式":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"里":{"docs":{},"缺":{"docs":{},"一":{"docs":{},"张":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"图":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"简":{"docs":{},"单":{"docs":{},"修":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"运":{"docs":{},"行":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"生":{"docs":{},"成":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"它":{"docs":{},"通":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"找":{"docs":{},"出":{"docs":{},"需":{"docs":{},"要":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"@":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"标":{"docs":{},"注":{"docs":{},"的":{"docs":{},")":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"是":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"命":{"docs":{},"令":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"或":{"docs":{},"任":{"docs":{},"何":{"docs":{},"其":{"docs":{},"他":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"句":{"docs":{},"命":{"docs":{},"令":{"docs":{},"在":{"docs":{},"首":{"docs":{},"次":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"会":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"生":{"docs":{},"成":{"docs":{},"多":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"种":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"便":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"随":{"docs":{},"着":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"人":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},",":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"查":{"docs":{},"看":{"docs":{},"官":{"docs":{},"网":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"就":{"docs":{},"能":{"docs":{},"入":{"docs":{},"门":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"学":{"docs":{},"习":{"docs":{},"时":{"docs":{},"有":{"docs":{},"些":{"docs":{},"吃":{"docs":{},"力":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"资":{"docs":{},"料":{"docs":{},"去":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"语":{"docs":{},"言":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":10.00210970464135}}}},"开":{"docs":{},"发":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},"库":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"层":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"实":{"docs":{},"现":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"团":{"docs":{},"队":{"docs":{},"就":{"docs":{},"在":{"docs":{},"你":{"docs":{},"身":{"docs":{},"边":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"支":{"docs":{},"持":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"关":{"docs":{},"键":{"docs":{},"特":{"docs":{},"性":{"docs":{},"的":{"docs":{},"组":{"docs":{},"合":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"中":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"来":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"和":{"docs":{},"其":{"docs":{},"它":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"者":{"docs":{},"不":{"docs":{},"清":{"docs":{},"楚":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"声":{"docs":{},"明":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"显":{"docs":{},"式":{"docs":{},"声":{"docs":{},"明":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"时":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"当":{"docs":{},"做":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"没":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"推":{"docs":{},"断":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"即":{"docs":{},"使":{"docs":{},"是":{"docs":{},"函":{"docs":{},"数":{"docs":{},"也":{"docs":{},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"函":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"变":{"docs":{},"量":{"docs":{},"或":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"其":{"docs":{},"他":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"的":{"docs":{},"典":{"docs":{},"型":{"docs":{},"特":{"docs":{},"征":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"库":{"docs":{},"有":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"或":{"docs":{},"者":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},"及":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":10.003344481605351}}}}}}}}}}},"分":{"docs":{},"析":{"docs":{},"器":{"docs":{},"大":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"注":{"docs":{},"释":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"追":{"docs":{},"踪":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"您":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"地":{"docs":{},"方":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"(":{"docs":{},"避":{"docs":{},"免":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"无":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"、":{"docs":{},"无":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"文":{"docs":{},"字":{"docs":{},"等":{"docs":{},")":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"是":{"docs":{},"追":{"docs":{},"踪":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"最":{"docs":{},"快":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"库":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"写":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"属":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"法":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}},"包":{"docs":{},":":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"些":{"docs":{},"可":{"docs":{},"能":{"docs":{},"包":{"docs":{},"含":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"具":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"包":{"docs":{},"仅":{"docs":{},"用":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"o":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617}}},"”":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},"e":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"y":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"与":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"命":{"docs":{},"令":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"安":{"docs":{},"装":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"并":{"docs":{},"按":{"docs":{},"照":{"docs":{},"说":{"docs":{},"明":{"docs":{},"解":{"docs":{},"决":{"docs":{},"问":{"docs":{},"题":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"下":{"docs":{},"载":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"并":{"docs":{},"自":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},"。":{"docs":{},"以":{"docs":{},"后":{"docs":{},"再":{"docs":{},"运":{"docs":{},"行":{"docs":{},"就":{"docs":{},"会":{"docs":{},"快":{"docs":{},"得":{"docs":{},"多":{"docs":{},"。":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"再":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"0":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}},"1":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.03296703296703297},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.036734693877551024},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.01634877384196185},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}},"[":{"docs":{},"]":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"=":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"主":{"docs":{},"页":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},":":{"docs":{},"\\":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.034722222222222224},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.015957446808510637},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},":":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"包":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"包":{"docs":{},"或":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"_":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}},"s":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"=":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"x":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}},"y":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"v":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"e":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"包":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"本":{"docs":{},"身":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"包":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087}},"'":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"z":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},")":{"docs":{},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}},"中":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"来":{"docs":{},"返":{"docs":{},"回":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"都":{"docs":{},"在":{"docs":{},"此":{"docs":{},"类":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}}}}}}},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"和":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"基":{"docs":{},"线":{"docs":{},"网":{"docs":{},"格":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"上":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"助":{"docs":{},"于":{"docs":{},"验":{"docs":{},"证":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"时":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"以":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"如":{"docs":{},"下":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"标":{"docs":{},"准":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"所":{"docs":{},"有":{"docs":{},"图":{"docs":{},"标":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"官":{"docs":{},"网":{"docs":{},"查":{"docs":{},"看":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"头":{"docs":{},"部":{"docs":{},"伸":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"该":{"docs":{},"示":{"docs":{},"例":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002916396629941672},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03424657534246575},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"{":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"前":{"docs":{},"(":{"docs":{},"或":{"docs":{},"后":{"docs":{},")":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"个":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"如":{"docs":{},"背":{"docs":{},"景":{"docs":{},"、":{"docs":{},"边":{"docs":{},"框":{"docs":{},"、":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.015027322404371584},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.020134228187919462},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0273972602739726}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"e":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"代":{"docs":{},"表":{"docs":{},"将":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"装":{"docs":{},"饰":{"docs":{},",":{"docs":{},"它":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"e":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"的":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"有":{"docs":{},"测":{"docs":{},"试":{"docs":{},"通":{"docs":{},"过":{"docs":{},"的":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"上":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"父":{"docs":{},"(":{"docs":{},"祖":{"docs":{},"先":{"docs":{},")":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"可":{"docs":{},"以":{"docs":{},"收":{"docs":{},"到":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"语":{"docs":{},"句":{"docs":{},"采":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"选":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"条":{"docs":{},"件":{"docs":{},"为":{"docs":{},"真":{"docs":{},"时":{"docs":{},"中":{"docs":{},"断":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"做":{"docs":{},"了":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"但":{"docs":{},"对":{"docs":{},"于":{"docs":{},"具":{"docs":{},"有":{"docs":{},"基":{"docs":{},"线":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"文":{"docs":{},"字":{"docs":{},"基":{"docs":{},"线":{"docs":{},"以":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"表":{"docs":{},"意":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},"基":{"docs":{},"线":{"docs":{},"以":{"docs":{},"橙":{"docs":{},"色":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"标":{"docs":{},"志":{"docs":{},"打":{"docs":{},"开":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"正":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"会":{"docs":{},"以":{"docs":{},"深":{"docs":{},"青":{"docs":{},"色":{"docs":{},"突":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"标":{"docs":{},"志":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"打":{"docs":{},"印":{"docs":{},"导":{"docs":{},"致":{"docs":{},"当":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"被":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},":":{"docs":{},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"从":{"docs":{},"树":{"docs":{},"中":{"docs":{},"被":{"docs":{},"移":{"docs":{},"除":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}},"类":{"docs":{},"的":{"docs":{},"职":{"docs":{},"责":{"docs":{},"是":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"两":{"docs":{},"次":{"docs":{},"指":{"docs":{},"针":{"docs":{},"移":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"l":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0189873417721519},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"表":{"docs":{},"示":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"长":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"m":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"就":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"自":{"docs":{},"己":{"docs":{},"上":{"docs":{},"报":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"i":{"docs":{},"c":{"docs":{},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},":":{"docs":{},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},";":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"在":{"docs":{},"之":{"docs":{},"前":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"*":{"docs":{},")":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"并":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},":":{"docs":{},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"从":{"docs":{},"树":{"docs":{},"中":{"docs":{},"被":{"docs":{},"永":{"docs":{},"久":{"docs":{},"移":{"docs":{},"除":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},";":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"t":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"[":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094}}}}}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"=":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{}}}}}}},"t":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"y":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"中":{"docs":{},"便":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},".":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"1":{"docs":{},"=":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}},"2":{"docs":{},"=":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}},"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}},"o":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":3.3544600938967135}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"\"":{"docs":{},",":{"docs":{},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"1":{"2":{"docs":{},",":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"?":{"docs":{},"i":{"docs":{},"d":{"docs":{},"=":{"1":{"2":{"docs":{},"&":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"1":{"2":{"docs":{},",":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"发":{"docs":{},"起":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"了":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"起":{"docs":{},"多":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{},"单":{"docs":{},"例":{"docs":{},"模":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"o":{"docs":{},"v":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"g":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"(":{"docs":{},"而":{"docs":{},"非":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"原":{"docs":{},"点":{"docs":{},"(":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},")":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"代":{"docs":{},"表":{"docs":{},"用":{"docs":{},"户":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"x":{"docs":{},"、":{"docs":{},"y":{"docs":{},"两":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"的":{"docs":{},")":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"用":{"docs":{},"户":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"减":{"docs":{},"速":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"多":{"docs":{},"次":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"指":{"docs":{},"一":{"docs":{},"次":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}},"p":{"docs":{},"i":{"docs":{},"是":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"固":{"docs":{},"件":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"u":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.041666666666666664},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.03827751196172249},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.034722222222222224},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.031914893617021274},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087},"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":5.055555555555555},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":10.010416666666666}}}},"是":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"发":{"docs":{},"布":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"、":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"性":{"docs":{},"能":{"docs":{},"主":{"docs":{},"要":{"docs":{},"靠":{"docs":{},"两":{"docs":{},"点":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"框":{"docs":{},"架":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"既":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"社":{"docs":{},"区":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"b":{"docs":{},")":{"docs":{},"是":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"维":{"docs":{},"护":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"也":{"docs":{},"是":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"中":{"docs":{},"文":{"docs":{},"资":{"docs":{},"源":{"docs":{},"社":{"docs":{},"区":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"、":{"docs":{},"开":{"docs":{},"源":{"docs":{},"项":{"docs":{},"目":{"docs":{},"、":{"docs":{},"及":{"docs":{},"案":{"docs":{},"例":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"申":{"docs":{},"请":{"docs":{},"加":{"docs":{},"入":{"docs":{},"组":{"docs":{},"织":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"哦":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"样":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"即":{"docs":{},"“":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"”":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"将":{"docs":{},"图":{"docs":{},"标":{"docs":{},"做":{"docs":{},"成":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"而":{"docs":{},"显":{"docs":{},"示":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"内":{"docs":{},"存":{"docs":{},"以":{"docs":{},"及":{"docs":{},"网":{"docs":{},"络":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"系":{"docs":{},"统":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"层":{"docs":{},"。":{"docs":{},"第":{"docs":{},"一":{"docs":{},"层":{"docs":{},"为":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"描":{"docs":{},"述":{"docs":{},"了":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"、":{"docs":{},"鼠":{"docs":{},"标":{"docs":{},"和":{"docs":{},"触":{"docs":{},"控":{"docs":{},"笔":{"docs":{},")":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"移":{"docs":{},"动":{"docs":{},"。":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"地":{"docs":{},"方":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"如":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"抽":{"docs":{},"象":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"f":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"复":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"预":{"docs":{},"置":{"docs":{},"的":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"2":{"docs":{},"d":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"是":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"2":{"docs":{},"d":{"docs":{},"图":{"docs":{},"形":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"库":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"字":{"docs":{},"型":{"docs":{},"、":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"转":{"docs":{},"换":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"点":{"docs":{},"阵":{"docs":{},"图":{"docs":{},"都":{"docs":{},"有":{"docs":{},"高":{"docs":{},"效":{"docs":{},"能":{"docs":{},"且":{"docs":{},"简":{"docs":{},"洁":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},",":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"是":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"非":{"docs":{},"常":{"docs":{},"友":{"docs":{},"好":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"您":{"docs":{},"调":{"docs":{},"用":{"docs":{},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"或":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"或":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"均":{"docs":{},"可":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"发":{"docs":{},"布":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"生":{"docs":{},"成":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"代":{"docs":{},"码":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"应":{"docs":{},"用":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"而":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"则":{"docs":{},"不":{"docs":{},"具":{"docs":{},"有":{"docs":{},"这":{"docs":{},"个":{"docs":{},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"工":{"docs":{},"作":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"描":{"docs":{},"述":{"docs":{},"如":{"docs":{},"何":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"、":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"其":{"docs":{},"它":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"、":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"快":{"docs":{},"地":{"docs":{},"为":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"意":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"怕":{"docs":{},"引":{"docs":{},"入":{"docs":{},"过":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"会":{"docs":{},"让":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"变":{"docs":{},"大":{"docs":{},",":{"docs":{},"这":{"docs":{},"不":{"docs":{},"是":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"只":{"docs":{},"会":{"docs":{},"编":{"docs":{},"译":{"docs":{},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"之":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"引":{"docs":{},"入":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"内":{"docs":{},"部":{"docs":{},"已":{"docs":{},"经":{"docs":{},"引":{"docs":{},"入":{"docs":{},"过":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"套":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"、":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"在":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"之":{"docs":{},"上":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"又":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"风":{"docs":{},"格":{"docs":{},")":{"docs":{},"和":{"docs":{},"一":{"docs":{},"套":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"风":{"docs":{},"格":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"风":{"docs":{},"格":{"docs":{},")":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"导":{"docs":{},"入":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"具":{"docs":{},"有":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"本":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"、":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"是":{"docs":{},"由":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"由":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},":":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旨":{"docs":{},"在":{"docs":{},"提":{"docs":{},"供":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"、":{"docs":{},"高":{"docs":{},"保":{"docs":{},"真":{"docs":{},"的":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"能":{"docs":{},"够":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"种":{"docs":{},"既":{"docs":{},"能":{"docs":{},"提":{"docs":{},"供":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"周":{"docs":{},"期":{"docs":{},"性":{"docs":{},"暂":{"docs":{},"停":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"支":{"docs":{},"持":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"的":{"docs":{},"比":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"更":{"docs":{},"好":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"使":{"docs":{},"用":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"流":{"docs":{},",":{"docs":{},"这":{"docs":{},"使":{"docs":{},"得":{"docs":{},"它":{"docs":{},"在":{"docs":{},"很":{"docs":{},"大":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"器":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"能":{"docs":{},"够":{"docs":{},"有":{"docs":{},"效":{"docs":{},"地":{"docs":{},"处":{"docs":{},"理":{"docs":{},"琐":{"docs":{},"碎":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"器":{"docs":{},"将":{"docs":{},"显":{"docs":{},"得":{"docs":{},"十":{"docs":{},"分":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"在":{"docs":{},"缺":{"docs":{},"乏":{"docs":{},"此":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"中":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"无":{"docs":{},"法":{"docs":{},"有":{"docs":{},"效":{"docs":{},"地":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"有":{"docs":{},"着":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"分":{"docs":{},"层":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"旨":{"docs":{},"在":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"整":{"docs":{},"体":{"docs":{},"框":{"docs":{},"架":{"docs":{},"有":{"docs":{},"个":{"docs":{},"大":{"docs":{},"概":{"docs":{},"的":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"到":{"docs":{},"现":{"docs":{},"在":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"已":{"docs":{},"经":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"初":{"docs":{},"始":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"正":{"docs":{},"式":{"docs":{},"动":{"docs":{},"手":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},"中":{"docs":{},"的":{"docs":{},"许":{"docs":{},"多":{"docs":{},"类":{"docs":{},"都":{"docs":{},"有":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"按":{"docs":{},"照":{"docs":{},"惯":{"docs":{},"例":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"输":{"docs":{},"出":{"docs":{},"通":{"docs":{},"常":{"docs":{},"包":{"docs":{},"括":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"单":{"docs":{},"行":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"表":{"docs":{},"单":{"docs":{},"中":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{},"都":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"将":{"docs":{},"其":{"docs":{},"当":{"docs":{},"前":{"docs":{},"状":{"docs":{},"态":{"docs":{},"或":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"储":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"到":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}},"添":{"docs":{},"加":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},"还":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"的":{"docs":{},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"默":{"docs":{},"认":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.020833333333333332},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"包":{"docs":{},"含":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"添":{"docs":{},"加":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"而":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"来":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"会":{"docs":{},"防":{"docs":{},"止":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"外":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"不":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"时":{"docs":{},")":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"时":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"到":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"而":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"受":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"后":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"会":{"docs":{},"停":{"docs":{},"止":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512}},"s":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"目":{"docs":{},"前":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"默":{"docs":{},"认":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"是":{"docs":{},"相":{"docs":{},"等":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"大":{"docs":{},"小":{"docs":{},"不":{"docs":{},"等":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"起":{"docs":{},"点":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":10}}}}}},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"实":{"docs":{},"现":{"docs":{},"各":{"docs":{},"种":{"docs":{},"动":{"docs":{},"画":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"许":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"*":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.017543859649122806}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.012448132780082987}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"类":{"docs":{},"加":{"docs":{},"载":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":10}}}}}}}},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter14/":{"ref":"chapter14/","tf":10}}}}}},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"制":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"t":{"6":{"4":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"docs":{}},"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},"是":{"docs":{},"页":{"docs":{},"面":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"的":{"docs":{},"带":{"docs":{},"“":{"docs":{},"➕":{"docs":{},"”":{"docs":{},"的":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"代":{"docs":{},"表":{"docs":{},"它":{"docs":{},"本":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"作":{"docs":{},"为":{"docs":{},"某":{"docs":{},"种":{"docs":{},"常":{"docs":{},"用":{"docs":{},"动":{"docs":{},"作":{"docs":{},"的":{"docs":{},"快":{"docs":{},"捷":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"docs":{},"本":{"docs":{},"节":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"页":{"docs":{},"面":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"➕":{"docs":{},"\"":{"docs":{},"号":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"其":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.016260162601626018},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"{":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}},"即":{"docs":{},"扁":{"docs":{},"平":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"背":{"docs":{},"景":{"docs":{},"透":{"docs":{},"明":{"docs":{},"并":{"docs":{},"不":{"docs":{},"带":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"。":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"有":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094}},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094}},"{":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.04316546762589928}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}},"为":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"系":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"0":{"docs":{},"或":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"扩":{"docs":{},"伸":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"大":{"docs":{},"于":{"0":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"按":{"docs":{},"照":{"docs":{},"其":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"比":{"docs":{},"例":{"docs":{},"来":{"docs":{},"分":{"docs":{},"割":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"水":{"docs":{},"平":{"docs":{},"或":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"排":{"docs":{},"列":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"知":{"docs":{},"道":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"会":{"docs":{},"方":{"docs":{},"便":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"基":{"docs":{},"本":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"一":{"docs":{},"定":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"本":{"docs":{},"身":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"很":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"配":{"docs":{},"合":{"docs":{},"实":{"docs":{},"现":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"和":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"时":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"了":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"其":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.043243243243243246},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.04294478527607362},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.029069767441860465},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.021798365122615803},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.009074410163339383}},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"s":{"docs":{},"\\":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}},"/":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}},"(":{"docs":{},"'":{"docs":{},"$":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},".":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"$":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},":":{"docs":{},"会":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"填":{"docs":{},"充":{"docs":{},"满":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"长":{"docs":{},"宽":{"docs":{},"比":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"会":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"会":{"docs":{},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"缩":{"docs":{},"放":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"居":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"不":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},",":{"docs":{},"超":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"被":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"会":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"高":{"docs":{},"度":{"docs":{},"会":{"docs":{},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"缩":{"docs":{},"放":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"居":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"不":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},",":{"docs":{},"超":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"被":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"不":{"docs":{},"同":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"适":{"docs":{},"应":{"docs":{},"模":{"docs":{},"式":{"docs":{},"。":{"docs":{},"适":{"docs":{},"应":{"docs":{},"模":{"docs":{},"式":{"docs":{},"是":{"docs":{},"在":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"用":{"docs":{},"于":{"docs":{},"决":{"docs":{},"定":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"去":{"docs":{},"适":{"docs":{},"应":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"使":{"docs":{},"用":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"表":{"docs":{},"示":{"docs":{},"扩":{"docs":{},"伸":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678}},"会":{"docs":{},"动":{"docs":{},"态":{"docs":{},"设":{"docs":{},"置":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"重":{"docs":{},"新":{"docs":{},"插":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"包":{"docs":{},"含":{"docs":{},"此":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"在":{"docs":{},"树":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"移":{"docs":{},"动":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"时":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"移":{"docs":{},"除":{"docs":{},"后":{"docs":{},"没":{"docs":{},"有":{"docs":{},"重":{"docs":{},"新":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},"则":{"docs":{},"紧":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"来":{"docs":{},"检":{"docs":{},"测":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"同":{"docs":{},"一":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"则":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"正":{"docs":{},"如":{"docs":{},"之":{"docs":{},"前":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"会":{"docs":{},"在":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"时":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"在":{"docs":{},"在":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"时":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"关":{"docs":{},"联":{"docs":{},"并":{"docs":{},"非":{"docs":{},"永":{"docs":{},"久":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"声":{"docs":{},"明":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"上":{"docs":{},"的":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},"在":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},"时":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"当":{"docs":{},"在":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"状":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"、":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"等":{"docs":{},"。":{"docs":{},"不":{"docs":{},"能":{"docs":{},"在":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"上":{"docs":{},"获":{"docs":{},"取":{"docs":{},"离":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"父":{"docs":{},"级":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},")":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"达":{"docs":{},"到":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"为":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"隐":{"docs":{},"式":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"基":{"docs":{},"本":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"知":{"docs":{},"道":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"?":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"“":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"”":{"docs":{},"指":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"则":{"docs":{},"代":{"docs":{},"表":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"则":{"docs":{},"代":{"docs":{},"表":{"docs":{},"没":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"在":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"等":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"有":{"docs":{},"机":{"docs":{},"会":{"docs":{},"来":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"正":{"docs":{},"式":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"来":{"docs":{},"对":{"docs":{},"应":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"中":{"docs":{},"共":{"docs":{},"享":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"端":{"docs":{},"点":{"docs":{},",":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"求":{"docs":{},"出":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"时":{"docs":{},"的":{"docs":{},"插":{"docs":{},"值":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"已":{"docs":{},"经":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"是":{"docs":{},"差":{"docs":{},"不":{"docs":{},"多":{"docs":{},"的":{"docs":{},",":{"docs":{},"的":{"docs":{},"确":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"用":{"docs":{},"“":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"”":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"其":{"docs":{},"他":{"docs":{},"平":{"docs":{},"台":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"这":{"docs":{},"么":{"docs":{},"叫":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"概":{"docs":{},"念":{"docs":{},"统":{"docs":{},"一":{"docs":{},",":{"docs":{},"便":{"docs":{},"于":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"不":{"docs":{},"必":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"于":{"docs":{},"概":{"docs":{},"念":{"docs":{},"本":{"docs":{},"身":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"类":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"b":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},",":{"docs":{},"和":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"原":{"docs":{},"理":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"则":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"e":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.009216589861751152},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}}}},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}},"{":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}},"q":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"e":{"2":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0189873417721519}}}}},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"(":{"docs":{},"(":{"docs":{},"_":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"(":{"docs":{},"[":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"4":{"9":{"9":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"与":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"非":{"docs":{},"常":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"完":{"docs":{},"成":{"docs":{},"(":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},")":{"docs":{},"及":{"docs":{},"其":{"docs":{},"结":{"docs":{},"果":{"docs":{},"值":{"docs":{},"的":{"docs":{},"表":{"docs":{},"示":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"处":{"docs":{},"理":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},",":{"docs":{},"异":{"docs":{},"步":{"docs":{},"处":{"docs":{},"理":{"docs":{},"成":{"docs":{},"功":{"docs":{},"了":{"docs":{},"就":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"异":{"docs":{},"步":{"docs":{},"处":{"docs":{},"理":{"docs":{},"失":{"docs":{},"败":{"docs":{},"了":{"docs":{},"就":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"错":{"docs":{},"误":{"docs":{},"或":{"docs":{},"者":{"docs":{},"停":{"docs":{},"止":{"docs":{},"后":{"docs":{},"续":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"只":{"docs":{},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"表":{"docs":{},"示":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"屏":{"docs":{},"的":{"docs":{},"模":{"docs":{},"态":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},"将":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"底":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"入":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"c":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"a":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"(":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"清":{"docs":{},"空":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"表":{"docs":{},"单":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"校":{"docs":{},"验":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"校":{"docs":{},"验":{"docs":{},"失":{"docs":{},"败":{"docs":{},"项":{"docs":{},"都":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"用":{"docs":{},"户":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"提":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"或":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"获":{"docs":{},"得":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"来":{"docs":{},"对":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"进":{"docs":{},"行":{"docs":{},"统":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}},"的":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"元":{"docs":{},"素":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"几":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"内":{"docs":{},"部":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"们":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"类":{"docs":{},"为":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"类":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.028169014084507043}},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{},"在":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"即":{"docs":{},"前":{"docs":{},"景":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"c":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"c":{"docs":{},"u":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004212572909915748}},"s":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541}},"e":{"1":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"关":{"docs":{},"联":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"1":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"docs":{}}}}}}}}}}}}}}},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"2":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"关":{"docs":{},"联":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"2":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"docs":{}}}}}}}}}}}}}}},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}}},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},"和":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"是":{"docs":{},"否":{"docs":{},"占":{"docs":{},"有":{"docs":{},"当":{"docs":{},"前":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"。":{"docs":{},"它":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"和":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"2":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"2":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"f":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"y":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0163265306122449},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012605042016806723}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02040816326530612},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"可":{"docs":{},"以":{"docs":{},"精":{"docs":{},"确":{"docs":{},"指":{"docs":{},"定":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"而":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"比":{"docs":{},"例":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"都":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"两":{"docs":{},"给":{"docs":{},"主":{"docs":{},"要":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{},"本":{"docs":{},"节":{"docs":{},"将":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"文":{"docs":{},"本":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},"]":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"m":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"搭":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":10.001594896331738}}}}}}}}}}}}}}},"本":{"docs":{},"章":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter12/":{"ref":"chapter12/","tf":0.25},"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666}}}},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"目":{"docs":{},"前":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"三":{"docs":{},"种":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"从":{"docs":{},"框":{"docs":{},"架":{"docs":{},"角":{"docs":{},"度":{"docs":{},"对":{"docs":{},"比":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"一":{"docs":{},"步":{"docs":{},"步":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},".":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"篇":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"节":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"感":{"docs":{},"到":{"docs":{},"有":{"docs":{},"些":{"docs":{},"点":{"docs":{},"还":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"着":{"docs":{},"急":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"日":{"docs":{},"后":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"细":{"docs":{},"节":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"再":{"docs":{},"回":{"docs":{},"过":{"docs":{},"头":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"你":{"docs":{},"会":{"docs":{},"有":{"docs":{},"更":{"docs":{},"深":{"docs":{},"的":{"docs":{},"体":{"docs":{},"会":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{},"以":{"docs":{},"及":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"对":{"docs":{},"应":{"docs":{},"了":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"用":{"docs":{},"来":{"docs":{},"给":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"生":{"docs":{},"成":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"框":{"docs":{},"架":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"整":{"docs":{},"体":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"旨":{"docs":{},"在":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"心":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"整":{"docs":{},"体":{"docs":{},"的":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"初":{"docs":{},"学":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"下":{"docs":{},"子":{"docs":{},"便":{"docs":{},"深":{"docs":{},"入":{"docs":{},"到":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"像":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"在":{"docs":{},"沙":{"docs":{},"漠":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"地":{"docs":{},"图":{"docs":{},"的":{"docs":{},"人":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"绿":{"docs":{},"洲":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"他":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"知":{"docs":{},"道":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"绿":{"docs":{},"洲":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"学":{"docs":{},"什":{"docs":{},"么":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"都":{"docs":{},"要":{"docs":{},"现":{"docs":{},"有":{"docs":{},"一":{"docs":{},"张":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"“":{"docs":{},"地":{"docs":{},"图":{"docs":{},"”":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"学":{"docs":{},"习":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"“":{"docs":{},"按":{"docs":{},"图":{"docs":{},"索":{"docs":{},"骥":{"docs":{},"”":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"我":{"docs":{},"们":{"docs":{},"才":{"docs":{},"不":{"docs":{},"会":{"docs":{},"陷":{"docs":{},"于":{"docs":{},"细":{"docs":{},"节":{"docs":{},"而":{"docs":{},"“":{"docs":{},"目":{"docs":{},"无":{"docs":{},"全":{"docs":{},"牛":{"docs":{},"”":{"docs":{},"。":{"docs":{},"言":{"docs":{},"归":{"docs":{},"正":{"docs":{},"传":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"张":{"docs":{},"框":{"docs":{},"架":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"以":{"docs":{},"任":{"docs":{},"意":{"docs":{},"角":{"docs":{},"度":{"docs":{},"来":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"角":{"docs":{},"度":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"到":{"docs":{},"新":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"动":{"docs":{},"画":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"它":{"docs":{},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}},"接":{"docs":{},"着":{"docs":{},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"\"":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"\"":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"更":{"docs":{},"喜":{"docs":{},"欢":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"后":{"docs":{},"面":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"\"":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"\"":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"过":{"docs":{},"程":{"docs":{},"及":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"严":{"docs":{},"重":{"docs":{},"的":{"docs":{},"不":{"docs":{},"足":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"时":{"docs":{},"手":{"docs":{},"动":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"。":{"docs":{},"试":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"不":{"docs":{},"是":{"docs":{},"两":{"docs":{},"种":{"docs":{},"而":{"docs":{},"是":{"8":{"docs":{},"种":{"docs":{},"甚":{"docs":{},"至":{"2":{"0":{"docs":{},"几":{"docs":{},"种":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"文":{"docs":{},"本":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"要":{"docs":{},"分":{"docs":{},"别":{"docs":{},"去":{"docs":{},"判":{"docs":{},"断":{"docs":{},"到":{"docs":{},"底":{"docs":{},"是":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"从":{"docs":{},"而":{"docs":{},"获":{"docs":{},"取":{"docs":{},"相":{"docs":{},"应":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"将":{"docs":{},"会":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"非":{"docs":{},"常":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"事":{"docs":{},"。":{"docs":{},"还":{"docs":{},"有":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},",":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"像":{"docs":{},"i":{"1":{"8":{"docs":{},"n":{"docs":{},"或":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"标":{"docs":{},"准":{"docs":{},"那":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"单":{"docs":{},"独":{"docs":{},"保":{"docs":{},"存":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"交":{"docs":{},"由":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},"去":{"docs":{},"翻":{"docs":{},"译":{"docs":{},",":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"好":{"docs":{},"之":{"docs":{},"后":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"工":{"docs":{},"具":{"docs":{},"将":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"转":{"docs":{},"为":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"的":{"docs":{},"!":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"理":{"docs":{},"解":{"docs":{},"这":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"一":{"docs":{},"些":{"docs":{},"学":{"docs":{},"习":{"docs":{},"建":{"docs":{},"议":{"docs":{},",":{"docs":{},"分":{"docs":{},"享":{"docs":{},"一":{"docs":{},"下":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"在":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"心":{"docs":{},"得":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"你":{"docs":{},"提":{"docs":{},"高":{"docs":{},"学":{"docs":{},"习":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"坑":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"引":{"docs":{},"用":{"docs":{},"、":{"docs":{},"下":{"docs":{},"载":{"docs":{},"、":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"的":{"docs":{},"整":{"docs":{},"体":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"引":{"docs":{},"入":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},"会":{"docs":{},"着":{"docs":{},"重":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"会":{"docs":{},"像":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"一":{"docs":{},"样":{"docs":{},"所":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"属":{"docs":{},"性":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"它":{"docs":{},"与":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"也":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"默":{"docs":{},"认":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"会":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"是":{"docs":{},"对":{"docs":{},"单":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"换":{"docs":{},"肤":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"相":{"docs":{},"对":{"docs":{},"整":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"换":{"docs":{},"肤":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"修":{"docs":{},"改":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"档":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},":":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}}}}}}}}}}}}},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"由":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"的":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":10.003846153846155}}}}}}}}}},"起":{"docs":{},"步":{"docs":{"chapter1/":{"ref":"chapter1/","tf":10}}}},"(":{"1":{"7":{"5":{"3":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}},"docs":{}},"docs":{}},"6":{"6":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633}}}}},"docs":{}},"docs":{}},"docs":{}},"8":{"5":{"4":{"5":{"docs":{},")":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.02304147465437788}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"6":{"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.10110174983797797},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.009394572025052192},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"或":{"docs":{},"w":{"docs":{},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},")":{"docs":{},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"以":{"docs":{},"后":{"docs":{},"若":{"docs":{},"无":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"来":{"docs":{},"统":{"docs":{},"一":{"docs":{},"指":{"docs":{},"代":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"网":{"docs":{},"页":{"docs":{},"加":{"docs":{},"载":{"docs":{},"控":{"docs":{},"件":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"h":{"5":{"docs":{},"部":{"docs":{},"分":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"改":{"docs":{},"变":{"docs":{},"而":{"docs":{},"不":{"docs":{},"用":{"docs":{},"发":{"docs":{},"版":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"需":{"docs":{},"求":{"docs":{},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},";":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"h":{"5":{"docs":{},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"两":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"小":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"h":{"5":{"docs":{},"部":{"docs":{},"分":{"docs":{},"功":{"docs":{},"能":{"docs":{},"越":{"docs":{},"多":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"就":{"docs":{},"越":{"docs":{},"小":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"这":{"docs":{},"种":{"docs":{},"h":{"5":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"式":{"docs":{},"为":{"docs":{},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"d":{"docs":{},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}},"{":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837}}}}}}}}}}}}}}}}}},"简":{"docs":{},"称":{"docs":{},"r":{"docs":{},"n":{"docs":{},")":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"于":{"2":{"0":{"1":{"5":{"docs":{},"年":{"4":{"docs":{},"月":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"早":{"docs":{},"先":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"框":{"docs":{},"架":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"`":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}},"t":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},".":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},".":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},">":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"或":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"些":{"docs":{},"更":{"docs":{},"低":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"带":{"docs":{},"有":{"docs":{},"闪":{"docs":{},"电":{"docs":{},"⚡":{"docs":{},"️":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"绿":{"docs":{},"色":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"箭":{"docs":{},"头":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"代":{"docs":{},"码":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"验":{"docs":{},"证":{"docs":{},"、":{"docs":{},"代":{"docs":{},"码":{"docs":{},"补":{"docs":{},"全":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"、":{"docs":{},"调":{"docs":{},"试":{"docs":{},"、":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.010548523206751054},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04065040650406504},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"e":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083}},"=":{"docs":{},">":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"d":{"docs":{},"b":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"语":{"docs":{},"句":{"docs":{},"级":{"docs":{},"的":{"docs":{},"单":{"docs":{},"步":{"docs":{},"调":{"docs":{},"试":{"docs":{},"和":{"docs":{},"分":{"docs":{},"析":{"docs":{},"器":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"f":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},"f":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}},"译":{"docs":{},"者":{"docs":{},"语":{"docs":{},":":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"相":{"docs":{},"似":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"允":{"docs":{},"许":{"docs":{},"子":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}},"a":{"docs":{},"r":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"/":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"]":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.019498607242339833},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"*":{"docs":{},")":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"{":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}},".":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.007259528130671506}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"k":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"+":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"中":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}},"2":{"docs":{},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}}}},"5":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"7":{"5":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}},"docs":{}},"9":{"8":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},".":{"docs":{},".":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.010548523206751054},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.020066889632107024},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024390243902439025},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012295081967213115},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026845637583892617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.0189873417721519},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.05555555555555555},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.022284122562674095},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.017142857142857144},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.020689655172413793},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024691358024691357},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.026022304832713755},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.012704174228675136}},"/":{"docs":{},"/":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},".":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"/":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"1":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611}},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"0":{"docs":{},"x":{"7":{"7":{"docs":{},"c":{"docs":{},"d":{"docs":{},"b":{"1":{"7":{"5":{"docs":{},")":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}},"”":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"c":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"'":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"/":{"1":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},".":{"docs":{},"设":{"docs":{},"置":{"docs":{},"文":{"docs":{},"本":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}},"2":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},".":{"docs":{},"不":{"docs":{},"继":{"docs":{},"承":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}},"3":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"像":{"docs":{},"素":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}},"5":{"0":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}},"docs":{}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0189873417721519},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.010438413361169102},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.017759562841530054},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.02531645569620253},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.041379310344827586},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.02631578947368421},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.039927404718693285}},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"由":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"印":{"docs":{},"机":{"docs":{},"型":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}},"滑":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"在":{"docs":{},"x":{"docs":{},"、":{"docs":{},"y":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}},"开":{"docs":{},"b":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"到":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"证":{"docs":{},"书":{"docs":{},"路":{"docs":{},"径":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"在":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"按":{"2":{"docs":{},":":{"1":{"docs":{},":":{"1":{"docs":{},"来":{"docs":{},"占":{"docs":{},"用":{"1":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"按":{"1":{"docs":{},":":{"2":{"docs":{},"来":{"docs":{},"占":{"docs":{},"据":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"(":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"效":{"docs":{},"果":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"划":{"docs":{},"线":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"预":{"docs":{},"定":{"docs":{},"义":{"docs":{},"以":{"docs":{},"供":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"指":{"docs":{},"定":{"docs":{},"返":{"docs":{},"回":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"足":{"1":{"0":{"0":{"docs":{},"条":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"同":{"docs":{},"的":{"docs":{},"类":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"即":{"docs":{},"可":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"其":{"docs":{},"它":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"例":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"定":{"docs":{},"义":{"docs":{},"各":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"省":{"docs":{},"略":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"添":{"docs":{},"加":{"docs":{},"输":{"docs":{},"入":{"docs":{},"流":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"失":{"docs":{},"败":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"不":{"docs":{},"是":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"类":{"docs":{},"型":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"告":{"docs":{},"错":{"docs":{},"误":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"无":{"docs":{},"论":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"手":{"docs":{},"指":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"更":{"docs":{},"新":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}},"于":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"等":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"话":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"i":{"docs":{},"d":{"docs":{},"获":{"docs":{},"取":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"登":{"docs":{},"录":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"页":{"docs":{},"面":{"docs":{},"a":{"docs":{},"中":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"b":{"docs":{},"中":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"后":{"docs":{},"保":{"docs":{},"存":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}},"主":{"docs":{},"题":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}},"设":{"docs":{},"置":{"docs":{},"[":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"]":{"docs":{},"和":{"docs":{},"[":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{},"标":{"docs":{},"志":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"后":{"docs":{},"面":{"docs":{},"获":{"docs":{},"取":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"代":{"docs":{},"理":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"首":{"docs":{},"页":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}},"所":{"docs":{},"以":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"必":{"docs":{},"须":{"docs":{},"通":{"docs":{},"过":{"docs":{},"某":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"将":{"docs":{},"其":{"docs":{},"状":{"docs":{},"态":{"docs":{},"对":{"docs":{},"象":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}},"由":{"docs":{},"于":{"docs":{},"子":{"docs":{},"类":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"对":{"docs":{},"象":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"子":{"docs":{},"代":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"方":{"docs":{},"式":{"docs":{},"获":{"docs":{},"取":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"蓝":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"回":{"docs":{},"显":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"到":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"右":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"最":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"常":{"docs":{},"见":{"docs":{},"为":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"上":{"docs":{},"报":{"docs":{},"错":{"docs":{},"误":{"docs":{},"和":{"docs":{},"日":{"docs":{},"志":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"下":{"docs":{},"各":{"docs":{},"添":{"docs":{},"加":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}},"docs":{}}}},"左":{"docs":{},"右":{"docs":{},"各":{"docs":{},"添":{"docs":{},"加":{"1":{"6":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}},"docs":{}},"docs":{}}}}}}},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}},"手":{"docs":{},"机":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"构":{"docs":{},"建":{"docs":{},"错":{"docs":{},"误":{"docs":{},"详":{"docs":{},"情":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"值":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"自":{"docs":{},"增":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"将":{"docs":{},"该":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"将":{"docs":{},"会":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"水":{"docs":{},"波":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},"水":{"docs":{},"波":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}},"移":{"docs":{},"除":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}},"随":{"docs":{},"便":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"重":{"docs":{},"复":{"docs":{},"六":{"docs":{},"次":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"包":{"docs":{},"名":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"未":{"docs":{},"定":{"docs":{},"位":{"docs":{},"或":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"位":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"4":{"0":{"0":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"docs":{}},"docs":{}},"docs":{}}}}}},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"控":{"docs":{},"件":{"docs":{},"风":{"docs":{},"格":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"高":{"docs":{},"度":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"画":{"docs":{},"布":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"外":{"docs":{},"形":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}},"按":{"docs":{},"钮":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"点":{"docs":{},"击":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}},"时":{"docs":{},"分":{"docs":{},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}},"填":{"docs":{},"充":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"正":{"docs":{},"常":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"混":{"docs":{},"合":{"docs":{},"色":{"docs":{},"值":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"高":{"docs":{},"度":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"宽":{"docs":{},"高":{"docs":{},"从":{"0":{"docs":{},"变":{"docs":{},"到":{"3":{"0":{"0":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"重":{"docs":{},"复":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"页":{"docs":{},"面":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"绘":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"检":{"docs":{},"查":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"维":{"docs":{},"护":{"docs":{},"单":{"docs":{},"选":{"docs":{},"开":{"docs":{},"关":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"时":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"不":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"方":{"docs":{},"式":{"docs":{},"获":{"docs":{},"取":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"不":{"docs":{},"对":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"期":{"docs":{},"间":{"docs":{},"如":{"docs":{},"何":{"docs":{},"表":{"docs":{},"现":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"获":{"docs":{},"取":{"docs":{},"共":{"docs":{},"享":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"当":{"docs":{},"前":{"docs":{},"指":{"docs":{},"针":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"将":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"从":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"移":{"docs":{},"到":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"换":{"docs":{},"成":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"转":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"此":{"docs":{},"处":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"转":{"docs":{},"为":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"类":{"docs":{},"型":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"模":{"docs":{},"板":{"docs":{},"输":{"docs":{},"出":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"结":{"docs":{},"果":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"中":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"是":{"docs":{},"否":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}},"抗":{"docs":{},"锯":{"docs":{},"齿":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"为":{"docs":{},"中":{"docs":{},"文":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}},"支":{"docs":{},"持":{"docs":{},"某":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"应":{"docs":{},"用":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"校":{"docs":{},"验":{"docs":{},"密":{"docs":{},"码":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"证":{"docs":{},"书":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"监":{"docs":{},"听":{"docs":{},"输":{"docs":{},"入":{"docs":{},"改":{"docs":{},"变":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"验":{"docs":{},"证":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"通":{"docs":{},"过":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}}}}},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},"拖":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}},"有":{"docs":{},"效":{"docs":{},",":{"docs":{},"外":{"docs":{},"层":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"docs":{},"整":{"docs":{},"个":{"docs":{},"屏":{"docs":{},"幕":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},",":{"docs":{},"省":{"docs":{},"略":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"排":{"docs":{},"除":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"默":{"docs":{},"认":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"干":{"docs":{},"扰":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}},"沿":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}},"y":{"docs":{},"轴":{"docs":{},"倾":{"docs":{},"斜":{"0":{"docs":{},".":{"3":{"docs":{},"弧":{"docs":{},"度":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}}},"docs":{}}}}}},"计":{"docs":{},"算":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}},"未":{"docs":{},"定":{"docs":{},"位":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"占":{"docs":{},"满":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"整":{"docs":{},"个":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"来":{"docs":{},"确":{"docs":{},"保":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"占":{"docs":{},"满":{"docs":{},"屏":{"docs":{},"幕":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"来":{"docs":{},"达":{"docs":{},"到":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"效":{"docs":{},"果":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}},"左":{"docs":{},"边":{"docs":{},"添":{"docs":{},"加":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}},"docs":{}}}}},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"为":{"docs":{},"左":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"排":{"docs":{},"除":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"干":{"docs":{},"扰":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"段":{"docs":{},"名":{"docs":{},"与":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"区":{"docs":{},"域":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"相":{"docs":{},"等":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}},"“":{"docs":{},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"父":{"docs":{},"级":{"docs":{},"限":{"docs":{},"制":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}},"高":{"docs":{},"比":{"docs":{},"为":{"1":{"docs":{},"时":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}},"2":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"docs":{}}}}},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}},"高":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}},"高":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"为":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}},"docs":{}},"docs":{}}}}}},"父":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}},"或":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"改":{"docs":{},"变":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},"时":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"圆":{"docs":{},"角":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"形":{"docs":{},"状":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"渐":{"docs":{},"变":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"背":{"docs":{},"景":{"docs":{},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}},"渐":{"docs":{},"变":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"径":{"docs":{},"向":{"docs":{},"渐":{"docs":{},"变":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}},"为":{"docs":{},"纸":{"docs":{},"黄":{"docs":{},"色":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"边":{"docs":{},"框":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"多":{"docs":{},"个":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"放":{"docs":{},"大":{"docs":{},"到":{"1":{"docs":{},".":{"5":{"docs":{},"倍":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}},"docs":{}}},"docs":{}}},"开":{"docs":{},"此":{"docs":{},"行":{"docs":{},"注":{"docs":{},"释":{"docs":{},"后":{"docs":{},",":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"将":{"docs":{},"失":{"docs":{},"效":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"\"":{"docs":{},"点":{"docs":{},"透":{"docs":{},"\"":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"9":{"0":{"docs":{},"度":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"(":{"1":{"docs":{},"/":{"4":{"docs":{},"圈":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{},"的":{"docs":{},"“":{"docs":{},"圈":{"docs":{},"”":{"docs":{},"数":{"docs":{},",":{"docs":{},"一":{"docs":{},"圈":{"docs":{},"为":{"3":{"6":{"0":{"docs":{},"度":{"docs":{},",":{"docs":{},"如":{"0":{"docs":{},".":{"2":{"5":{"docs":{},"圈":{"docs":{},"即":{"9":{"0":{"docs":{},"度":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"角":{"docs":{},"度":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"原":{"docs":{},"点":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"原":{"docs":{},"点":{"docs":{},"为":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},",":{"docs":{},"左":{"docs":{},"移":{"2":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"向":{"docs":{},"上":{"docs":{},"平":{"docs":{},"移":{"5":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}},"前":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}},"卡":{"docs":{},"片":{"docs":{},"倾":{"docs":{},"斜":{"docs":{},"变":{"docs":{},"换":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}},"内":{"docs":{},"文":{"docs":{},"字":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"大":{"docs":{},"小":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"文":{"docs":{},"字":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"变":{"docs":{},"换":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"色":{"docs":{},"开":{"docs":{},"关":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}},"容":{"docs":{},"器":{"docs":{},"内":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},",":{"docs":{},"属":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"范":{"docs":{},"围":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308}}}}},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"中":{"docs":{},"间":{"docs":{},"位":{"docs":{},"置":{"docs":{},"空":{"docs":{},"出":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},"见":{"docs":{},"源":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"及":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}},"创":{"docs":{},"建":{"3":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"并":{"docs":{},"配":{"docs":{},"置":{"docs":{},"其":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}},"均":{"docs":{},"分":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"横":{"docs":{},"向":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"自":{"docs":{},"动":{"docs":{},"实":{"docs":{},"现":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"了":{"docs":{},"表":{"docs":{},"尾":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"并":{"docs":{},"且":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"总":{"docs":{},"数":{"docs":{},"小":{"docs":{},"于":{"2":{"0":{"0":{"docs":{},"时":{"docs":{},"继":{"docs":{},"续":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"则":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},")":{"docs":{},"本":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"抽":{"docs":{},"屉":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"标":{"docs":{},"题":{"docs":{},"是":{"docs":{},"否":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"生":{"docs":{},"成":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"需":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}},"在":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"则":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}},"动":{"docs":{},"态":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}},"画":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"到":{"docs":{},"初":{"docs":{},"始":{"docs":{},"状":{"docs":{},"态":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}},"时":{"docs":{},"间":{"docs":{},"为":{"5":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"母":{"docs":{},"都":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"字":{"docs":{},"体":{"docs":{},"为":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"生":{"docs":{},"成":{"2":{"0":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"docs":{}},"docs":{}}}},"行":{"docs":{},"三":{"docs":{},"列":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"将":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"自":{"docs":{},"增":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"将":{"docs":{},"被":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"各":{"docs":{},"个":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"共":{"docs":{},"同":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},"相":{"docs":{},"关":{"docs":{},"值":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"题":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"a":{"docs":{},"l":{"docs":{},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"高":{"docs":{},"度":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"2":{"4":{"docs":{},"、":{"5":{"6":{"docs":{},"、":{"5":{"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"割":{"docs":{},"器":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"高":{"docs":{},"度":{"docs":{},"固":{"docs":{},"定":{"docs":{},"时":{"docs":{},",":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"高":{"docs":{},"度":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"习":{"docs":{},"惯":{"docs":{},"(":{"docs":{},"性":{"docs":{},"能":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"小":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"空":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"5":{"0":{"docs":{},".":{"0":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"docs":{}}},"docs":{}},"docs":{}}}}}},"表":{"docs":{},"尾":{"docs":{},"标":{"docs":{},"记":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"控":{"docs":{},"制":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}},"横":{"docs":{},"轴":{"docs":{},"三":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"按":{"docs":{},"两":{"docs":{},"列":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"本":{"docs":{},"路":{"docs":{},"由":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"让":{"docs":{},"子":{"docs":{},"级":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"内":{"docs":{},"存":{"docs":{},"泄":{"docs":{},"露":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"复":{"docs":{},"导":{"docs":{},"入":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"包":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"句":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"行":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"(":{"docs":{},"固":{"docs":{},"定":{"docs":{},"为":{"docs":{},"黑":{"docs":{},"色":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}},"两":{"docs":{},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"超":{"docs":{},"过":{"1":{"docs":{},"秒":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"时":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}},"docs":{}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"共":{"docs":{},"享":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"u":{"docs":{},"a":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"曲":{"docs":{},"线":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"渐":{"docs":{},"隐":{"docs":{},"渐":{"docs":{},"入":{"docs":{},"过":{"docs":{},"渡":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"`":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"`":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"决":{"docs":{},"定":{"docs":{},"当":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"通":{"docs":{},"知":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"色":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"样":{"docs":{},"本":{"docs":{},",":{"docs":{},"见":{"docs":{},"下":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}},"被":{"docs":{},"激":{"docs":{},"活":{"docs":{},",":{"docs":{},"是":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}},"文":{"docs":{},"字":{"docs":{},"字":{"docs":{},"体":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"次":{"docs":{},"级":{"docs":{},"色":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"如":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"、":{"docs":{},"开":{"docs":{},"关":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"色":{"docs":{},"还":{"docs":{},"是":{"docs":{},"浅":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"第":{"docs":{},"一":{"docs":{},"行":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"使":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"光":{"docs":{},"标":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"出":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"姓":{"docs":{},"名":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"凭":{"docs":{},"据":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}},"双":{"docs":{},"击":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"更":{"docs":{},"新":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缩":{"docs":{},"放":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"在":{"0":{"docs":{},".":{"8":{"docs":{},"到":{"1":{"0":{"docs":{},"倍":{"docs":{},"之":{"docs":{},"间":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}},"要":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"和":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}},"距":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"长":{"docs":{},"按":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"反":{"docs":{},"向":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"在":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"在":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"自":{"docs":{},"身":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},"错":{"docs":{},"位":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"厂":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}},"添":{"docs":{},"加":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"私":{"docs":{},"有":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"触":{"docs":{},"发":{"docs":{},"后":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"所":{"docs":{},"有":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"回":{"docs":{},"调":{"docs":{},"签":{"docs":{},"名":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"a":{"docs":{},"中":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"释":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{},"资":{"docs":{},"源":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}},"b":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}}},"唯":{"docs":{},"一":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"两":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"必":{"docs":{},"须":{"docs":{},"相":{"docs":{},"同":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"前":{"6":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"docs":{}},"docs":{}},"后":{"4":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"docs":{}},"docs":{}}}}},"高":{"docs":{},"度":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}},"确":{"docs":{},"保":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"数":{"docs":{},"组":{"docs":{},"不":{"docs":{},"空":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"总":{"docs":{},"时":{"docs":{},"长":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}},"填":{"docs":{},"充":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"画":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"网":{"docs":{},"格":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"背":{"docs":{},"景":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}},"笔":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}},"线":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"/":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.008174386920980926},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}},"两":{"docs":{},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"粗":{"docs":{},"细":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"这":{"docs":{},"个":{"docs":{},"标":{"docs":{},"注":{"docs":{},"是":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"剪":{"docs":{},"裁":{"docs":{},"半":{"docs":{},"圆":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"实":{"docs":{},"现":{"docs":{},"画":{"docs":{},"笔":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"该":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"中":{"docs":{},"止":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"(":{"docs":{},"会":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"则":{"docs":{},"允":{"docs":{},"许":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}},"网":{"docs":{},"络":{"docs":{},"不":{"docs":{},"通":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}},"发":{"docs":{},"送":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}},"根":{"docs":{},"据":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"列":{"docs":{},"表":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"替":{"docs":{},"换":{"docs":{},"模":{"docs":{},"板":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}},"入":{"docs":{},"栈":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}},"查":{"docs":{},"找":{"docs":{},"当":{"docs":{},"前":{"docs":{},"或":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"递":{"docs":{},"归":{"docs":{},"子":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"@":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014742014742014743},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.019832985386221295},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016713091922005572},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.017142857142857144},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.03592814371257485},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.021314387211367674},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.013192612137203167},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.05521472392638037},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.03398058252427184},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.009536784741144414},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.01818181818181818},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.009433962264150943},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.02631578947368421},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}},"i":{"docs":{},"m":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.016260162601626018},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}},"`":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"`":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"'":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"模":{"docs":{},"式":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"还":{"docs":{},"有":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"或":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"运":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"模":{"docs":{},"式":{"docs":{},"都":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"的":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"会":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"便":{"docs":{},"远":{"docs":{},"远":{"docs":{},"追":{"docs":{},"不":{"docs":{},"上":{"docs":{},"了":{"docs":{},"。":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"对":{"docs":{},"高":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"下":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},"计":{"docs":{},"算":{"docs":{},"很":{"docs":{},"有":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{},"其":{"docs":{},"次":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"布":{"docs":{},"局":{"docs":{},"数":{"docs":{},"据":{"docs":{},"等":{"docs":{},"由":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"直":{"docs":{},"接":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"布":{"docs":{},"局":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"像":{"docs":{},"r":{"docs":{},"n":{"docs":{},"那":{"docs":{},"样":{"docs":{},"要":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"和":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"和":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"具":{"docs":{},"有":{"docs":{},"明":{"docs":{},"显":{"docs":{},"优":{"docs":{},"势":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"和":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"往":{"docs":{},"往":{"docs":{},"都":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"和":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"之":{"docs":{},"间":{"docs":{},"不":{"docs":{},"停":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"要":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"操":{"docs":{},"作":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"所":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"比":{"docs":{},"较":{"docs":{},"可":{"docs":{},"观":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"当":{"docs":{},"以":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}},"p":{"docs":{},"i":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":5},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"比":{"docs":{},"如":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"或":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"语":{"docs":{},"言":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"了":{"docs":{},"解":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"文":{"docs":{},"本":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"图":{"docs":{},"片":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"得":{"docs":{},"自":{"docs":{},"己":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"而":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"强":{"docs":{},"大":{"docs":{},"灵":{"docs":{},"活":{"docs":{},",":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"任":{"docs":{},"何":{"docs":{},"外":{"docs":{},"观":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"这":{"docs":{},"种":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"库":{"docs":{},"(":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},")":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"跨":{"docs":{},"多":{"docs":{},"端":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"、":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"取":{"docs":{},"消":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"管":{"docs":{},"理":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"上":{"docs":{},"传":{"docs":{},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{},"、":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"封":{"docs":{},"装":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"协":{"docs":{},"议":{"docs":{},"或":{"docs":{},"者":{"docs":{},"想":{"docs":{},"直":{"docs":{},"接":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"管":{"docs":{},"理":{"docs":{},"网":{"docs":{},"络":{"docs":{},"链":{"docs":{},"接":{"docs":{},"、":{"docs":{},"又":{"docs":{},"或":{"docs":{},"者":{"docs":{},"我":{"docs":{},"们":{"docs":{},"觉":{"docs":{},"得":{"docs":{},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"不":{"docs":{},"好":{"docs":{},"用":{"docs":{},"想":{"docs":{},"重":{"docs":{},"新":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"它":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"就":{"docs":{},"是":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"操":{"docs":{},"作":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"将":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"转":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"内":{"docs":{},"置":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"很":{"docs":{},"少":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"能":{"docs":{},"开":{"docs":{},"发":{"docs":{},"平":{"docs":{},"台":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},"标":{"docs":{},"识":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"提":{"docs":{},"取":{"docs":{},"到":{"docs":{},"“":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"接":{"docs":{},"近":{"docs":{},"原":{"docs":{},"生":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"原":{"docs":{},"始":{"docs":{},"且":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"与":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"上":{"docs":{},"层":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"设":{"docs":{},"计":{"docs":{},"成":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"完":{"docs":{},"全":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"设":{"docs":{},"计":{"docs":{},"者":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"设":{"docs":{},"计":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"风":{"docs":{},"格":{"docs":{},"或":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"风":{"docs":{},"格":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"去":{"docs":{},"做":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"再":{"docs":{},"去":{"docs":{},"搞":{"docs":{},"这":{"docs":{},"一":{"docs":{},"套":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"很":{"docs":{},"棒":{"docs":{},"的":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"提":{"docs":{},"出":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"认":{"docs":{},"为":{"docs":{},"做":{"docs":{},"与":{"docs":{},"不":{"docs":{},"做":{"docs":{},"是":{"docs":{},"一":{"docs":{},"回":{"docs":{},"事":{"docs":{},",":{"docs":{},"但":{"docs":{},"知":{"docs":{},"道":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"做":{"docs":{},"是":{"docs":{},"另":{"docs":{},"一":{"docs":{},"回":{"docs":{},"事":{"docs":{},",":{"docs":{},"这":{"docs":{},"能":{"docs":{},"反":{"docs":{},"映":{"docs":{},"出":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"知":{"docs":{},"识":{"docs":{},"的":{"docs":{},"掌":{"docs":{},"握":{"docs":{},"程":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":5}},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"比":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"小":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{},"。":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}},",":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"同":{"docs":{},"时":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"(":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}},"'":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"6":{"0":{"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"0":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"标":{"docs":{},"题":{"docs":{},"、":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"、":{"docs":{},"底":{"docs":{},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"等":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"、":{"docs":{},"主":{"docs":{},"题":{"docs":{},"、":{"docs":{},"语":{"docs":{},"言":{"docs":{},"、":{"docs":{},"首":{"docs":{},"页":{"docs":{},"及":{"docs":{},"路":{"docs":{},"由":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"里":{"docs":{},"很":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"标":{"docs":{},"题":{"docs":{},"字":{"docs":{},"体":{"docs":{},"、":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"样":{"docs":{},"式":{"docs":{},"等":{"docs":{},"。":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"内":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"为":{"docs":{},"其":{"docs":{},"子":{"docs":{},"树":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"共":{"docs":{},"享":{"docs":{},"样":{"docs":{},"式":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"区":{"docs":{},"域":{"docs":{},"时":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"主":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"结":{"docs":{},"合":{"docs":{},"前":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"以":{"docs":{},"及":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"来":{"docs":{},"加":{"docs":{},"强":{"docs":{},"细":{"docs":{},"节":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.014354066985645933},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.053763440860215055},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"设":{"docs":{},"置":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"存":{"docs":{},"储":{"docs":{},"目":{"docs":{},"录":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.026385224274406333},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.049079754601226995},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.0211864406779661}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"{":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"外":{"docs":{},"部":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.02702702702702703},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},"⏭":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"派":{"docs":{},"生":{"docs":{},"自":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"地":{"docs":{},"方":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"数":{"docs":{},"字":{"docs":{},"的":{"docs":{},"区":{"docs":{},"间":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"和":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"动":{"docs":{},"画":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}},"\\":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"获":{"docs":{},"取":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"本":{"docs":{},"身":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"插":{"docs":{},"值":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"docs":{},";":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"在":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"依":{"docs":{},"次":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"区":{"docs":{},"间":{"docs":{},"(":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},"之":{"docs":{},"间":{"docs":{},"值":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"值":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"、":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"的":{"docs":{},"、":{"docs":{},"一":{"docs":{},"个":{"docs":{},"步":{"docs":{},"进":{"docs":{},"函":{"docs":{},"数":{"docs":{},"或":{"docs":{},"者":{"docs":{},"任":{"docs":{},"何":{"docs":{},"其":{"docs":{},"他":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"取":{"docs":{},"到":{"docs":{},"。":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{},"还":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"分":{"docs":{},"别":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"值":{"docs":{},"为":{"0":{"docs":{},".":{"0":{"docs":{},"和":{"1":{"docs":{},".":{"0":{"docs":{},"时":{"docs":{},"返":{"docs":{},"回":{"docs":{},"开":{"docs":{},"始":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.04294478527607362},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}},"e":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438}}}}}}}}},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219}}},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}},")":{"docs":{},"。":{"docs":{},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"z":{"docs":{},"e":{"docs":{},"测":{"docs":{},"试":{"docs":{},"你":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"(":{"docs":{},"它":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},")":{"docs":{},"将":{"docs":{},"分":{"docs":{},"析":{"docs":{},"你":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"并":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"2":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},"docs":{}}}}}}}}}}}}},"y":{"docs":{},"]":{"docs":{},"?":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"s":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"将":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"(":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"将":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"(":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"。":{"docs":{},"当":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"当":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"非":{"docs":{},"常":{"docs":{},"小":{"docs":{},"(":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"块":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"短":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"添":{"docs":{},"加":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"反":{"docs":{},"而":{"docs":{},"会":{"docs":{},"更":{"docs":{},"高":{"docs":{},"效":{"docs":{},"。":{"docs":{},"和":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"自":{"docs":{},"己":{"docs":{},"维":{"docs":{},"护":{"docs":{},"其":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"必":{"docs":{},"须":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"帧":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"帧":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"中":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"是":{"docs":{},"改":{"docs":{},"变":{"docs":{},"状":{"docs":{},"态":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"触":{"docs":{},"发":{"docs":{},"u":{"docs":{},"i":{"docs":{},"重":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"“":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"”":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},";":{"docs":{},"动":{"docs":{},"画":{"docs":{},"开":{"docs":{},"始":{"docs":{},"、":{"docs":{},"结":{"docs":{},"束":{"docs":{},"、":{"docs":{},"正":{"docs":{},"向":{"docs":{},"或":{"docs":{},"反":{"docs":{},"向":{"docs":{},"(":{"docs":{},"见":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"定":{"docs":{},"义":{"docs":{},")":{"docs":{},"时":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"/":{"docs":{},"#":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}}}}}}}},"b":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"*":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"”":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"格":{"docs":{},"式":{"docs":{},"规":{"docs":{},"范":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"将":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},",":{"docs":{},"当":{"docs":{},"他":{"docs":{},"们":{"docs":{},"完":{"docs":{},"成":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"保":{"docs":{},"存":{"docs":{},"我":{"docs":{},"们":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"命":{"docs":{},"令":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"v":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"决":{"docs":{},"定":{"docs":{},"如":{"docs":{},"何":{"docs":{},"去":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},"或":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"位":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"特":{"docs":{},"指":{"docs":{},"没":{"docs":{},"有":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"定":{"docs":{},"位":{"docs":{},":":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"、":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"为":{"docs":{},"横":{"docs":{},"轴":{"docs":{},",":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"、":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"为":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},"某":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"定":{"docs":{},"位":{"docs":{},"属":{"docs":{},"性":{"docs":{},"就":{"docs":{},"算":{"docs":{},"在":{"docs":{},"该":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"v":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},"值":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"会":{"docs":{},"保":{"docs":{},"持":{"docs":{},"连":{"docs":{},"接":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"阈":{"docs":{},"值":{"docs":{},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},"多":{"docs":{},"个":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"创":{"docs":{},"建":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"它":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"链":{"docs":{},"接":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"而":{"docs":{},"并":{"docs":{},"非":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"时":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"链":{"docs":{},"接":{"docs":{},"会":{"docs":{},"保":{"docs":{},"持":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"但":{"docs":{},"最":{"docs":{},"终":{"docs":{},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"断":{"docs":{},"开":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"被":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"许":{"docs":{},"多":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"违":{"docs":{},"反":{"docs":{},"一":{"docs":{},"些":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.04433497536945813}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012605042016806723}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"声":{"docs":{},"明":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"背":{"docs":{},"景":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"l":{"docs":{},"f":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"a":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"l":{"docs":{},"f":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0163265306122449}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"指":{"docs":{},"定":{"docs":{},"应":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"(":{"docs":{},"有":{"docs":{},"时":{"docs":{},"称":{"docs":{},"为":{"docs":{},"资":{"docs":{},"源":{"docs":{},")":{"docs":{},"。":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"是":{"docs":{},"会":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"程":{"docs":{},"序":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{},"常":{"docs":{},"见":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"包":{"docs":{},"括":{"docs":{},"静":{"docs":{},"态":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},")":{"docs":{},"、":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"图":{"docs":{},"标":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"j":{"docs":{},"p":{"docs":{},"e":{"docs":{},"g":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.024489795918367346},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"和":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"关":{"docs":{},"键":{"docs":{},"词":{"docs":{},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{},"异":{"docs":{},"步":{"docs":{},"编":{"docs":{},"程":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"您":{"docs":{},"写":{"docs":{},"出":{"docs":{},"和":{"docs":{},"同":{"docs":{},"步":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"像":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"/":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}},"!":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"滑":{"docs":{},"到":{"docs":{},"了":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"l":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},";":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"=":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.013824884792626729},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.02112676056338028},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.0625},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"s":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},";":{"docs":{},"当":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"内":{"docs":{},"容":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},",":{"docs":{},"并":{"docs":{},"直":{"docs":{},"接":{"docs":{},"显":{"docs":{},"示":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"手":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"”":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"r":{"docs":{},"i":{"docs":{},"l":{"docs":{},"f":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}},":":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},":":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},",":{"docs":{},"圆":{"docs":{},"形":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"b":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"大":{"docs":{},"图":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"=":{"1":{"7":{"2":{"8":{"0":{"0":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},")":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},")":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},".":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},".":{"0":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},"docs":{}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}}},"a":{"docs":{},"k":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253}}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}},",":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014742014742014743},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.011482254697286013},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.011142061281337047},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"读":{"docs":{},"者":{"docs":{},"现":{"docs":{},"在":{"docs":{},"应":{"docs":{},"该":{"docs":{},"已":{"docs":{},"经":{"docs":{},"相":{"docs":{},"当":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"了":{"docs":{},",":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"如":{"docs":{},"下":{"docs":{},"场":{"docs":{},"景":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"(":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"同":{"docs":{},"步":{"docs":{},"读":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}},"e":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"前":{"docs":{},"者":{"docs":{},"被":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"或":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},")":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"使":{"docs":{},"父":{"docs":{},"级":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"动":{"docs":{},"态":{"docs":{},"替":{"docs":{},"换":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"于":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"或":{"docs":{},"测":{"docs":{},"试":{"docs":{},"场":{"docs":{},"景":{"docs":{},"很":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"和":{"docs":{},"用":{"docs":{},"户":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"有":{"docs":{},"一":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{},"通":{"docs":{},"知":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"可":{"docs":{},"以":{"docs":{},"中":{"docs":{},"止":{"docs":{},",":{"docs":{},"但":{"docs":{},"用":{"docs":{},"户":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"不":{"docs":{},"行":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"、":{"docs":{},"m":{"docs":{},"k":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"、":{"docs":{},"r":{"docs":{},"m":{"docs":{},"、":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"、":{"docs":{},"u":{"docs":{},"n":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{},"、":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"d":{"docs":{},"认":{"docs":{},"证":{"docs":{},"等":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"两":{"docs":{},"种":{"docs":{},"认":{"docs":{},"证":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"认":{"docs":{},"证":{"docs":{},"方":{"docs":{},"式":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"前":{"docs":{},"者":{"docs":{},"只":{"docs":{},"是":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"编":{"docs":{},"码":{"docs":{},"(":{"docs":{},"可":{"docs":{},"逆":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"运":{"docs":{},"算":{"docs":{},",":{"docs":{},"相":{"docs":{},"对":{"docs":{},"来":{"docs":{},"说":{"docs":{},"安":{"docs":{},"全":{"docs":{},"一":{"docs":{},"点":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"安":{"docs":{},"全":{"docs":{},"起":{"docs":{},"见":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"还":{"docs":{},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},",":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"协":{"docs":{},"议":{"docs":{},"下":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"防":{"docs":{},"止":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"和":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}}}},"、":{"docs":{},"一":{"docs":{},"个":{"docs":{},"边":{"docs":{},"框":{"docs":{},"、":{"docs":{},"或":{"docs":{},"者":{"docs":{},"一":{"docs":{},"个":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}},":":{"docs":{},"在":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"后":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"即":{"docs":{},"背":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"g":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.021929824561403508},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.017543859649122806},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.025157232704402517},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"(":{"docs":{},"位":{"docs":{},")":{"docs":{},",":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"深":{"docs":{},"度":{"docs":{},"越":{"docs":{},"深":{"docs":{},",":{"docs":{},"所":{"docs":{},"能":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"色":{"docs":{},"彩":{"docs":{},"更":{"docs":{},"加":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"靓":{"docs":{},"丽":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"些":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"中":{"docs":{},"基":{"docs":{},"本":{"docs":{},"都":{"docs":{},"是":{"docs":{},"监":{"docs":{},"听":{"docs":{},"并":{"docs":{},"处":{"docs":{},"理":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"按":{"docs":{},"照":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"包":{"docs":{},"装":{"docs":{},"、":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"然":{"docs":{},"后":{"docs":{},"分":{"docs":{},"发":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"正":{"docs":{},"是":{"docs":{},"粘":{"docs":{},"连":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.007306889352818371},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.013927576601671309},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.02040816326530612},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.02631578947368421},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.011152416356877323}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"k":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}},"{":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},"/":{"docs":{},"/":{"docs":{},"背":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},"s":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"8":{"8":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"这":{"docs":{},"是":{"docs":{},"根":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"w":{"docs":{},"=":{"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006804925469863901}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.03508771929824561}}}}}}}}}}},"{":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"可":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{},"的":{"docs":{},"用":{"docs":{},"以":{"docs":{},"填":{"docs":{},"充":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{},"除":{"docs":{},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"2":{"0":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"docs":{}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}},"还":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"快":{"docs":{},"速":{"docs":{},"生":{"docs":{},"成":{"docs":{},"特":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},"规":{"docs":{},"则":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{},"如":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}},"p":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"docs":{}}},"docs":{}},"3":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}},"docs":{}}},"docs":{}}}}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{},"离":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"左":{"docs":{},"、":{"docs":{},"上":{"docs":{},"、":{"docs":{},"右":{"docs":{},"、":{"docs":{},"底":{"docs":{},"四":{"docs":{},"边":{"docs":{},"的":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"定":{"docs":{},"位":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"定":{"docs":{},"位":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"时":{"docs":{},",":{"docs":{},"你":{"docs":{},"只":{"docs":{},"能":{"docs":{},"指":{"docs":{},"定":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"、":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"、":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"三":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},",":{"docs":{},"如":{"docs":{},"指":{"docs":{},"定":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"后":{"docs":{},",":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"算":{"docs":{},"出":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"+":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"三":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"则":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"同":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},":":{"docs":{},"分":{"docs":{},"别":{"docs":{},"指":{"docs":{},"定":{"docs":{},"四":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"的":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"决":{"docs":{},"定":{"docs":{},"洞":{"docs":{},"的":{"docs":{},"外":{"docs":{},"形":{"docs":{},",":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"的":{"docs":{},"外":{"docs":{},"形":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"外":{"docs":{},"形":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"字":{"docs":{},"段":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}},":":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"原":{"docs":{},"图":{"docs":{},",":{"docs":{},"矩":{"docs":{},"形":{"docs":{},";":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"[":{"docs":{},"]":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},")":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0171990171990172},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.015657620041753653},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.011428571428571429},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.029940119760479042},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.019538188277087035},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.019417475728155338},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.030864197530864196},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},")":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"在":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"3":{"docs":{},")":{"docs":{},",":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"+":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"下":{"docs":{},"微":{"docs":{},"光":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"p":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"图":{"docs":{},"形":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"2":{"0":{"0":{"8":{"docs":{},"年":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"科":{"docs":{},"技":{"docs":{},"被":{"docs":{},"诺":{"docs":{},"基":{"docs":{},"亚":{"docs":{},"公":{"docs":{},"司":{"docs":{},"收":{"docs":{},"购":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{},"也":{"docs":{},"因":{"docs":{},"此":{"docs":{},"成":{"docs":{},"为":{"docs":{},"诺":{"docs":{},"基":{"docs":{},"亚":{"docs":{},"旗":{"docs":{},"下":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"2":{"0":{"1":{"2":{"docs":{},"年":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{},"被":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"a":{"docs":{},"收":{"docs":{},"购":{"docs":{},"。":{"2":{"0":{"1":{"4":{"docs":{},"年":{"4":{"docs":{},"月":{"docs":{},",":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"集":{"docs":{},"成":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"{":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"n":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0326530612244898},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.016260162601626018},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.03296703296703297},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.014767932489451477},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.019498607242339833},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.008174386920980926},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.027586206896551724},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.04678362573099415},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"来":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"。":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"只":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"一":{"docs":{},"个":{"docs":{},"定":{"docs":{},"制":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"把":{"docs":{},"他":{"docs":{},"们":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"想":{"docs":{},"让":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"最":{"docs":{},"小":{"docs":{},"高":{"docs":{},"度":{"docs":{},"是":{"8":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007777057679844459},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.04678362573099415},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.011482254697286013},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.011142061281337047},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.017964071856287425},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},",":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"设":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"简":{"docs":{},"化":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.017937219730941704},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.019498607242339833},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024539877300613498},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"构":{"docs":{},"建":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"树":{"docs":{},"中":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"句":{"docs":{},"柄":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"查":{"docs":{},"找":{"docs":{},"、":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002916396629941672},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.020134228187919462},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.030456852791878174}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872}}}}}}}},"{":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"在":{"docs":{},"三":{"docs":{},"维":{"docs":{},"空":{"docs":{},"间":{"docs":{},"中":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"变":{"docs":{},"换":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"容":{"docs":{},"器":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/container.html":{"ref":"chapter5/container.html","tf":10}}}},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"对":{"docs":{},"应":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"等":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"合":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"同":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"、":{"docs":{},"变":{"docs":{},"换":{"docs":{},"、":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},":":{"docs":{},"这":{"docs":{},"是":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"适":{"docs":{},"应":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"会":{"docs":{},"在":{"docs":{},"保":{"docs":{},"证":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"长":{"docs":{},"宽":{"docs":{},"比":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"以":{"docs":{},"适":{"docs":{},"应":{"docs":{},"当":{"docs":{},"前":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"不":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},":":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"/":{"docs":{},"获":{"docs":{},"取":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"、":{"docs":{},"选":{"docs":{},"择":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"内":{"docs":{},"容":{"docs":{},"、":{"docs":{},"监":{"docs":{},"听":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"文":{"docs":{},"本":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"式":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"与":{"docs":{},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{},"交":{"docs":{},"互":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"则":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"控":{"docs":{},"制":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"没":{"docs":{},"有":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"并":{"docs":{},"且":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"就":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"\"":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"控":{"docs":{},"制":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"1":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.013192612137203167}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"s":{"docs":{},"面":{"docs":{},"板":{"docs":{},"中":{"docs":{},"的":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"s":{"docs":{},"目":{"docs":{},"前":{"docs":{},"不":{"docs":{},"提":{"docs":{},"供":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"之":{"docs":{},"一":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"款":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},"可":{"docs":{},"获":{"docs":{},"得":{"docs":{},"代":{"docs":{},"码":{"docs":{},"补":{"docs":{},"全":{"docs":{},"、":{"docs":{},"语":{"docs":{},"法":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"、":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"、":{"docs":{},"运":{"docs":{},"行":{"docs":{},"和":{"docs":{},"调":{"docs":{},"试":{"docs":{},"支":{"docs":{},"持":{"docs":{},"等":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"运":{"docs":{},"行":{"docs":{},"和":{"docs":{},"调":{"docs":{},"试":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"及":{"docs":{},"使":{"docs":{},"用":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"官":{"docs":{},"网":{"docs":{},"获":{"docs":{},"得":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"安":{"docs":{},"装":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"模":{"docs":{},"板":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"先":{"docs":{},"仔":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"结":{"docs":{},"构":{"docs":{},"有":{"docs":{},"个":{"docs":{},"基":{"docs":{},"本":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"在":{"docs":{},"随":{"docs":{},"后":{"docs":{},"小":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"基":{"docs":{},"于":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"一":{"docs":{},"步":{"docs":{},"一":{"docs":{},"步":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"些":{"docs":{},"新":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"概":{"docs":{},"念":{"docs":{},"与":{"docs":{},"技":{"docs":{},"术":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跟":{"docs":{},"着":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"实":{"docs":{},"际":{"docs":{},"动":{"docs":{},"手":{"docs":{},"来":{"docs":{},"写":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"加":{"docs":{},"深":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"会":{"docs":{},"对":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"与":{"docs":{},"技":{"docs":{},"术":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"真":{"docs":{},"切":{"docs":{},"的":{"docs":{},"体":{"docs":{},"会":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"还":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"或":{"docs":{},"者":{"docs":{},"没":{"docs":{},"有":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"你":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"和":{"docs":{},"基":{"docs":{},"本":{"docs":{},"编":{"docs":{},"程":{"docs":{},"概":{"docs":{},"念":{"docs":{},"(":{"docs":{},"如":{"docs":{},"变":{"docs":{},"量":{"docs":{},"、":{"docs":{},"循":{"docs":{},"环":{"docs":{},"和":{"docs":{},"条":{"docs":{},"件":{"docs":{},"控":{"docs":{},"制":{"docs":{},")":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"成":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"前":{"docs":{},"面":{"docs":{},"“":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"程":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"\"":{"docs":{},"。":{"docs":{},"创":{"docs":{},"建":{"docs":{},"好":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.03553299492385787},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"e":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"docs":{}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"5":{"4":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}},"docs":{}},"8":{"7":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"docs":{}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"0":{"docs":{},".":{"1":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"5":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}},"docs":{}},"docs":{}},"6":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},")":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"定":{"docs":{},"义":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"字":{"docs":{},"体":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01680672268907563},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"docs":{}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"[":{"1":{"0":{"0":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"docs":{}},"docs":{}},"docs":{}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"p":{"docs":{},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03424657534246575}}}},"[":{"5":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"docs":{}},"docs":{}},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}},"y":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308}}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},"]":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"c":{"docs":{},"y":{"docs":{},"a":{"docs":{},"n":{"docs":{},"[":{"1":{"0":{"0":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"docs":{}},"docs":{}},"5":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.017711171662125342}}},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"(":{"0":{"docs":{},"x":{"7":{"7":{"docs":{},"c":{"docs":{},"d":{"docs":{},"b":{"1":{"7":{"5":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{},"d":{"0":{"docs":{},"f":{"docs":{},"f":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{},"d":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"f":{"docs":{},"f":{"2":{"1":{"9":{"6":{"docs":{},"f":{"3":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"f":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"f":{"0":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}}}}},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}}}}},"docs":{}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.009394572025052192},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.030456852791878174},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.020134228187919462},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"5":{"4":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},":":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"像":{"docs":{},"素":{"docs":{},"进":{"docs":{},"行":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"混":{"docs":{},"合":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"指":{"docs":{},"定":{"docs":{},"混":{"docs":{},"合":{"docs":{},"色":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"指":{"docs":{},"定":{"docs":{},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"的":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"当":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},"]":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0213903743315508},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"排":{"docs":{},"列":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"布":{"docs":{},"局":{"docs":{},"方":{"docs":{},"向":{"docs":{},"为":{"docs":{},"垂":{"docs":{},"直":{"docs":{},",":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"类":{"docs":{},"比":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"来":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"整":{"docs":{},"形":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"表":{"docs":{},"示":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"会":{"docs":{},"按":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"长":{"docs":{},"宽":{"docs":{},"比":{"docs":{},"放":{"docs":{},"大":{"docs":{},"后":{"docs":{},"居":{"docs":{},"中":{"docs":{},"填":{"docs":{},"满":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"不":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},",":{"docs":{},"超":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"被":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"o":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007453013609850939}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"正":{"docs":{},"如":{"docs":{},"前":{"docs":{},"文":{"docs":{},"所":{"docs":{},"述":{"docs":{},"“":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"”":{"docs":{},";":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"职":{"docs":{},"责":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"它":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"该":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"用":{"docs":{},"于":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"在":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"中":{"docs":{},"最":{"docs":{},"高":{"docs":{},"的":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"取":{"docs":{},"值":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"一":{"docs":{},"样":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"、":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"、":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},":":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"。":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"确":{"docs":{},"定":{"docs":{},"后":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"即":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}},"或":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"+":{"docs":{},"+":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"均":{"docs":{},"采":{"docs":{},"用":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"绘":{"docs":{},"图":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"已":{"docs":{},"经":{"docs":{},"内":{"docs":{},"置":{"docs":{},"了":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"打":{"docs":{},"包":{"docs":{},"a":{"docs":{},"p":{"docs":{},"k":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"应":{"docs":{},"用":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"将":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"打":{"docs":{},"入":{"docs":{},"a":{"docs":{},"p":{"docs":{},"k":{"docs":{},"中":{"docs":{},",":{"docs":{},"但":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"并":{"docs":{},"未":{"docs":{},"内":{"docs":{},"置":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"构":{"docs":{},"建":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"一":{"docs":{},"起":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"s":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"查":{"docs":{},"看":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"如":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"本":{"docs":{},"地":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},")":{"docs":{},"将":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"其":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"或":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"应":{"docs":{},"用":{"docs":{},"(":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"原":{"docs":{},"生":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018789144050104383},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.032520325203252036},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.026737967914438502},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.050359712230215826},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.03968253968253968},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.04395604395604396},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.06432748538011696},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023809523809523808},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.08904109589041095},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.04697986577181208},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.0189873417721519},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.046875},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.014285714285714285},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.023952095808383235},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.0650887573964497},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.03019538188277087},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.03164556962025317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023746701846965697},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.06363636363636363},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.06395348837209303},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.02912621359223301},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.021798365122615803},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.009216589861751152},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.01818181818181818},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.013157894736842105},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0427807486631016},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02158273381294964},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.015228426395939087},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"[":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"包":{"docs":{},"括":{"docs":{},"其":{"docs":{},"他":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"。":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"该":{"docs":{},"文":{"docs":{},"本":{"docs":{},"片":{"docs":{},"段":{"docs":{},"上":{"docs":{},"用":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"进":{"docs":{},"行":{"docs":{},"识":{"docs":{},"别":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"实":{"docs":{},"现":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"a":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.02040816326530612},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},":":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"和":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"的":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"定":{"docs":{},"后":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"值":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}}}},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"p":{"docs":{},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"x":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}},":":{"docs":{},"\\":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"{":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"\\":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\\":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"3":{"2":{"docs":{},"\\":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"\\":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"将":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},";":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"才":{"docs":{},"能":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"它":{"docs":{},"来":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"具":{"docs":{},"体":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"去":{"docs":{},"更":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"上":{"docs":{},"所":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},";":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"源":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"与":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"用":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"去":{"docs":{},"更":{"docs":{},"新":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"布":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"各":{"docs":{},"种":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"出":{"docs":{},"一":{"docs":{},"下":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253}}}},"c":{"docs":{},"h":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"r":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"b":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"和":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"中":{"docs":{},"早":{"docs":{},"就":{"docs":{},"很":{"docs":{},"普":{"docs":{},"遍":{"docs":{},",":{"docs":{},"而":{"docs":{},"?":{"docs":{},"?":{"docs":{},"操":{"docs":{},"作":{"docs":{},"符":{"docs":{},"在":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219}}}}}}}}},"三":{"docs":{},"个":{"docs":{},"值":{"docs":{},")":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"是":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"即":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"时":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"指":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"p":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"指":{"docs":{},"底":{"docs":{},"部":{"docs":{},"对":{"docs":{},"齐":{"docs":{},";":{"docs":{},"而":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"和":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},";":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"平":{"docs":{},"台":{"docs":{},"它":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"与":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":10.004524886877828}}}}}}}},"(":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"{":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"提":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"虚":{"docs":{},"函":{"docs":{},"数":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":10.006711409395972}},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"模":{"docs":{},"型":{"docs":{},"(":{"docs":{},"效":{"docs":{},"果":{"docs":{},")":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"种":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"底":{"docs":{},"部":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"而":{"docs":{},"要":{"docs":{},"求":{"docs":{},"整":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},"是":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},"它":{"docs":{},"们":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"整":{"docs":{},"体":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"+":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},"是":{"docs":{},"分":{"docs":{},"离":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"\"":{"docs":{},"胶":{"docs":{},"水":{"docs":{},"\"":{"docs":{},",":{"docs":{},"把":{"docs":{},"这":{"docs":{},"些":{"docs":{},"彼":{"docs":{},"此":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"\"":{"docs":{},"粘":{"docs":{},"\"":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"就":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"“":{"docs":{},"胶":{"docs":{},"水":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"光":{"docs":{},"标":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"、":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"和":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.02702702702702703}},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.025423728813559324},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662}}},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}}}}}}}}}},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"下":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},")":{"docs":{},"都":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"包":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"值":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"超":{"docs":{},"出":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"曲":{"docs":{},"线":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"可":{"docs":{},"以":{"docs":{},"具":{"docs":{},"有":{"docs":{},"比":{"docs":{},"输":{"docs":{},"入":{"docs":{},"更":{"docs":{},"大":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"等":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"大":{"docs":{},"于":{"docs":{},"或":{"docs":{},"小":{"docs":{},"于":{"docs":{},"默":{"docs":{},"认":{"docs":{},"范":{"docs":{},"围":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"和":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"各":{"docs":{},"有":{"docs":{},"偏":{"docs":{},"重":{"docs":{},"的":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"基":{"docs":{},"本":{"docs":{},"数":{"docs":{},"学":{"docs":{},"和":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"而":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"主":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"和":{"docs":{},"图":{"docs":{},"形":{"docs":{},"处":{"docs":{},"理":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"数":{"docs":{},"学":{"docs":{},",":{"docs":{},"如":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"化":{"docs":{},"和":{"docs":{},"几":{"docs":{},"何":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"确":{"docs":{},"定":{"docs":{},"最":{"docs":{},"终":{"docs":{},"输":{"docs":{},"送":{"docs":{},"给":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"各":{"docs":{},"个":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"的":{"docs":{},"色":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"写":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"或":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"打":{"docs":{},"开":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"更":{"docs":{},"喜":{"docs":{},"欢":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"后":{"docs":{},"面":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}},"\"":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"。":{"docs":{},"更":{"docs":{},"多":{"docs":{},"关":{"docs":{},"于":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"”":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}},"]":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"2":{"0":{"docs":{},")":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"d":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"监":{"docs":{},"听":{"docs":{},"所":{"docs":{},"有":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"添":{"docs":{},"加":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"(":{"docs":{},"深":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"边":{"docs":{},"框":{"docs":{},")":{"docs":{},";":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"移":{"docs":{},"除":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"识":{"docs":{},"别":{"docs":{},"各":{"docs":{},"种":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"将":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"语":{"docs":{},"义":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"直":{"docs":{},"接":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"演":{"docs":{},"示":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"性":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"来":{"docs":{},"识":{"docs":{},"别":{"docs":{},"各":{"docs":{},"种":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"各":{"docs":{},"种":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"上":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"答":{"docs":{},"案":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"下":{"docs":{},"去":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},",":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"1":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},",":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"b":{"docs":{},"m":{"docs":{},"p":{"docs":{},"和":{"docs":{},"w":{"docs":{},"b":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"e":{"docs":{},"推":{"docs":{},"出":{"docs":{},"并":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"主":{"docs":{},"打":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"、":{"docs":{},"高":{"docs":{},"保":{"docs":{},"真":{"docs":{},"、":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}},"d":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{},"g":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"示":{"docs":{},"例":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"有":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"网":{"docs":{},"上":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"g":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"源":{"docs":{},"码":{"docs":{},"“":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"强":{"docs":{},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"用":{"docs":{},"户":{"docs":{},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"就":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"”":{"docs":{},"钻":{"docs":{},"石":{"docs":{},"“":{"docs":{},"形":{"docs":{},"状":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跑":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"全":{"docs":{},"面":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"从":{"docs":{},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},"或":{"docs":{},"从":{"docs":{},"右":{"docs":{},"到":{"docs":{},"左":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"有":{"docs":{},"些":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"习":{"docs":{},"惯":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"从":{"docs":{},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"如":{"docs":{},"阿":{"docs":{},"拉":{"docs":{},"伯":{"docs":{},"语":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"向":{"docs":{},"左":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"e":{"docs":{},"/":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"(":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628}},"{":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.014986376021798364}},"{":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":10.004081632653062}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"固":{"docs":{},"定":{"docs":{},"数":{"docs":{},"量":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"为":{"docs":{},"固":{"docs":{},"定":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},"的":{"docs":{},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"二":{"docs":{},"维":{"docs":{},"网":{"docs":{},"格":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"其":{"docs":{},"默":{"docs":{},"认":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"p":{"docs":{},"u":{"docs":{},",":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"后":{"docs":{},"放":{"docs":{},"入":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"视":{"docs":{},"频":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"按":{"docs":{},"照":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},"从":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"取":{"docs":{},"帧":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"5":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"、":{"docs":{},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"e":{"docs":{},"r":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}}}},"l":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0213903743315508},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}},")":{"docs":{},"。":{"docs":{},"回":{"docs":{},"调":{"docs":{},"地":{"docs":{},"狱":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"之":{"docs":{},"前":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"非":{"docs":{},"常":{"docs":{},"突":{"docs":{},"出":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"被":{"docs":{},"吐":{"docs":{},"槽":{"docs":{},"最":{"docs":{},"多":{"docs":{},"的":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"随":{"docs":{},"着":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"6":{"docs":{},"和":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"7":{"docs":{},"标":{"docs":{},"准":{"docs":{},"发":{"docs":{},"布":{"docs":{},"后":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"得":{"docs":{},"到":{"docs":{},"了":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},",":{"docs":{},"而":{"docs":{},"解":{"docs":{},"决":{"docs":{},"回":{"docs":{},"调":{"docs":{},"地":{"docs":{},"狱":{"docs":{},"的":{"docs":{},"两":{"docs":{},"大":{"docs":{},"神":{"docs":{},"器":{"docs":{},"正":{"docs":{},"是":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"6":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"7":{"docs":{},"中":{"docs":{},"引":{"docs":{},"入":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},":":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.030456852791878174}}}},"docs":{}}},"docs":{}},"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.04316546762589928},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"行":{"docs":{},"高":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"值":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"因":{"docs":{},"子":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"行":{"docs":{},"高":{"docs":{},"等":{"docs":{},"于":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"*":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"r":{"docs":{},"o":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":10.00909090909091}},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}},"e":{"docs":{},"b":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"(":{"docs":{},"页":{"docs":{},"面":{"docs":{},")":{"docs":{},"之":{"docs":{},"间":{"docs":{},"“":{"docs":{},"飞":{"docs":{},"行":{"docs":{},"”":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"简":{"docs":{},"单":{"docs":{},"来":{"docs":{},"说":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"路":{"docs":{},"由":{"docs":{},"间":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"、":{"docs":{},"外":{"docs":{},"观":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"过":{"docs":{},"渡":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"/":{"docs":{},"#":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"g":{"docs":{},"l":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"q":{"docs":{},"g":{"docs":{},"h":{"docs":{},"q":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"中":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"通":{"docs":{},"过":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"证":{"docs":{},"书":{"docs":{},"而":{"docs":{},"发":{"docs":{},"起":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"应":{"docs":{},"该":{"docs":{},"对":{"docs":{},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"或":{"docs":{},"非":{"docs":{},"c":{"docs":{},"a":{"docs":{},"颁":{"docs":{},"发":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/http.html":{"ref":"chapter10/http.html","tf":5.013824884792626}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"(":{"docs":{},"x":{"5":{"0":{"9":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}},"关":{"docs":{},"于":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"列":{"docs":{},"表":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"请":{"docs":{},"求":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.18181818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":5},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":3.333333333333333}},"认":{"docs":{},"证":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"库":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"认":{"docs":{},"证":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"机":{"docs":{},"制":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"护":{"docs":{},"非":{"docs":{},"公":{"docs":{},"开":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"认":{"docs":{},"证":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"携":{"docs":{},"带":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"启":{"docs":{},"用":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"就":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"登":{"docs":{},"录":{"docs":{},"框":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"主":{"docs":{},"动":{"docs":{},"发":{"docs":{},"起":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"再":{"docs":{},"被":{"docs":{},"动":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"无":{"docs":{},"法":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"主":{"docs":{},"动":{"docs":{},"推":{"docs":{},"送":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"响":{"docs":{},"应":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"就":{"docs":{},"会":{"docs":{},"断":{"docs":{},"开":{"docs":{},"(":{"docs":{},"见":{"docs":{},"注":{"docs":{},"解":{"docs":{},"部":{"docs":{},"分":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"无":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"实":{"docs":{},"时":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},"正":{"docs":{},"是":{"docs":{},"为":{"docs":{},"解":{"docs":{},"决":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"实":{"docs":{},"时":{"docs":{},"通":{"docs":{},"信":{"docs":{},"而":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"主":{"docs":{},"流":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"应":{"docs":{},"该":{"docs":{},"比":{"docs":{},"较":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"了":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"包":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}},"/":{"1":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}},"docs":{}}},"docs":{}},"网":{"docs":{},"络":{"docs":{},"库":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"}":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.009562841530054645}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"u":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"信":{"docs":{},"息":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"结":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"则":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"或":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},"已":{"docs":{},"包":{"docs":{},"含":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{},"图":{"docs":{},"像":{"docs":{},"”":{"docs":{},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"”":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"6":{"8":{"3":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0064808813998703824}},"。":{"docs":{},"从":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"转":{"docs":{},"储":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"是":{"docs":{},"由":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{},"/":{"docs":{},"o":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.10920285158781594},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.009394572025052192},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.02304147465437788}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.022727272727272728},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.014925373134328358},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.013157894736842105},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.07232704402515723},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"'":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}},")":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01680672268907563}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"或":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01680672268907563}},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"快":{"docs":{},"捷":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"用":{"docs":{},"于":{"docs":{},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"、":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"用":{"docs":{},"于":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"、":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"外":{"docs":{},"观":{"docs":{},"、":{"docs":{},"大":{"docs":{},"小":{"docs":{},"、":{"docs":{},"混":{"docs":{},"合":{"docs":{},"效":{"docs":{},"果":{"docs":{},"等":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}},"_":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"答":{"docs":{},"案":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"应":{"docs":{},"用":{"docs":{},"一":{"docs":{},"些":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"来":{"docs":{},"减":{"docs":{},"少":{"docs":{},"重":{"docs":{},"复":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"]":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"h":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806}}}},"!":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"o":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"访":{"docs":{},"问":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"等":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"库":{"docs":{},"操":{"docs":{},"作":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"非":{"docs":{},"常":{"docs":{},"丰":{"docs":{},"富":{"docs":{},",":{"docs":{},"但":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"是":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"详":{"docs":{},"细":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"话":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"学":{"docs":{},"习":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"操":{"docs":{},"作":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"类":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"来":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},"分":{"docs":{},"为":{"docs":{},"五":{"docs":{},"步":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"w":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"简":{"docs":{},"单":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"以":{"docs":{},"请":{"docs":{},"求":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"为":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},"a":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"读":{"docs":{},"者":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"中":{"docs":{},"的":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"该":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"语":{"docs":{},"句":{"docs":{},"插":{"docs":{},"入":{"docs":{},"编":{"docs":{},"程":{"docs":{},"式":{"docs":{},"断":{"docs":{},"点":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},",":{"docs":{},"你":{"docs":{},"必":{"docs":{},"须":{"docs":{},"添":{"docs":{},"加":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"都":{"docs":{},"支":{"docs":{},"持":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"但":{"docs":{},"若":{"docs":{},"想":{"docs":{},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748}},"l":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"…":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"t":{"3":{"2":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"docs":{}},"6":{"4":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"docs":{}},"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.022284122562674095},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.015723270440251572},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},".":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.009433962264150943}},"!":{"docs":{},"!":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}}},"[":{"docs":{},"]":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"l":{"docs":{},"包":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"些":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":5.0119760479041915}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"功":{"docs":{},"能":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"和":{"docs":{},"逐":{"docs":{},"级":{"docs":{},"传":{"docs":{},"递":{"docs":{},"数":{"docs":{},"据":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"能":{"docs":{},"实":{"docs":{},"现":{"docs":{},"组":{"docs":{},"件":{"docs":{},"跨":{"docs":{},"级":{"docs":{},"传":{"docs":{},"递":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"向":{"docs":{},"是":{"docs":{},"从":{"docs":{},"上":{"docs":{},"到":{"docs":{},"下":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"向":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"向":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},"、":{"docs":{},"共":{"docs":{},"享":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"共":{"docs":{},"享":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},"非":{"docs":{},"常":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"如":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"共":{"docs":{},"享":{"docs":{},"应":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},")":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}},":":{"docs":{},"当":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"时":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"b":{"docs":{},")":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01366120218579235}},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"如":{"docs":{},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{},"、":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"边":{"docs":{},"框":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"格":{"docs":{},"式":{"docs":{},";":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},"来":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.022284122562674095},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"%":{"2":{"docs":{},"=":{"docs":{},"=":{"0":{"docs":{},"?":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"1":{"docs":{},":":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}},"docs":{}},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454}},"(":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"文":{"docs":{},"字":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"没":{"docs":{},"有":{"docs":{},"背":{"docs":{},"景":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"背":{"docs":{},"景":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}}}}},"s":{"docs":{},"类":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002916396629941672}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"m":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"f":{"docs":{},"(":{"docs":{},"(":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"!":{"docs":{},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"_":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"e":{"docs":{},"m":{"docs":{},"=":{"docs":{},"=":{"docs":{},"p":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"!":{"docs":{},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"_":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"!":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"|":{"docs":{},"|":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"_":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"s":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"=":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},":":{"docs":{},"它":{"docs":{},"是":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"器":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"当":{"docs":{},"列":{"docs":{},"表":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"到":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"位":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"构":{"docs":{},"建":{"docs":{},"器":{"docs":{},"构":{"docs":{},"建":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},":":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"为":{"docs":{},"无":{"docs":{},"限":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}}},":":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"强":{"docs":{},"制":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"长":{"docs":{},"度":{"docs":{},"\"":{"docs":{},"为":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},";":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"长":{"docs":{},"度":{"docs":{},"\"":{"docs":{},"是":{"docs":{},"指":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"即":{"docs":{},"如":{"docs":{},"果":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"是":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"则":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"为":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"则":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{},"在":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"比":{"docs":{},"让":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"自":{"docs":{},"己":{"docs":{},"决":{"docs":{},"定":{"docs":{},"自":{"docs":{},"身":{"docs":{},"长":{"docs":{},"度":{"docs":{},"会":{"docs":{},"更":{"docs":{},"高":{"docs":{},"效":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"指":{"docs":{},"定":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"系":{"docs":{},"统":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"前":{"docs":{},"知":{"docs":{},"道":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"总":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"去":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"(":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"系":{"docs":{},"统":{"docs":{},"需":{"docs":{},"要":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"去":{"docs":{},"计":{"docs":{},"算":{"docs":{},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"和":{"docs":{},"/":{"docs":{},"或":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.011538461538461539}}}}},"为":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"仍":{"docs":{},"有":{"docs":{},"差":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"主":{"docs":{},"要":{"docs":{},"优":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"两":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"持":{"docs":{},"平":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}},"的":{"docs":{},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"一":{"docs":{},"直":{"docs":{},"被":{"docs":{},"抓":{"docs":{},"短":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"算":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"超":{"docs":{},"集":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"通":{"docs":{},"过":{"docs":{},"标":{"docs":{},"注":{"docs":{},"和":{"docs":{},"打":{"docs":{},"包":{"docs":{},"工":{"docs":{},"具":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"查":{"docs":{},")":{"docs":{},"才":{"docs":{},"有":{"docs":{},"市":{"docs":{},"场":{"docs":{},"。":{"docs":{},"就":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},"中":{"docs":{},"(":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"曾":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"支":{"docs":{},"持":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"任":{"docs":{},"何":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"候":{"docs":{},"动":{"docs":{},"态":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"精":{"docs":{},"通":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"高":{"docs":{},"手":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"这":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"是":{"docs":{},"一":{"docs":{},"把":{"docs":{},"利":{"docs":{},"剑":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"事":{"docs":{},"物":{"docs":{},"都":{"docs":{},"有":{"docs":{},"两":{"docs":{},"面":{"docs":{},"性":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"特":{"docs":{},"性":{"docs":{},"也":{"docs":{},"是":{"docs":{},"把":{"docs":{},"双":{"docs":{},"刃":{"docs":{},"剑":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"经":{"docs":{},"常":{"docs":{},"听":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"声":{"docs":{},"音":{"docs":{},",":{"docs":{},"认":{"docs":{},"为":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"这":{"docs":{},"种":{"docs":{},"动":{"docs":{},"态":{"docs":{},"性":{"docs":{},"糟":{"docs":{},"糕":{"docs":{},"透":{"docs":{},"了":{"docs":{},",":{"docs":{},"太":{"docs":{},"过":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"反":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"难":{"docs":{},"预":{"docs":{},"期":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"限":{"docs":{},"制":{"docs":{},"不":{"docs":{},"被":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"有":{"docs":{},"些":{"docs":{},"人":{"docs":{},"总":{"docs":{},"是":{"docs":{},"对":{"docs":{},"自":{"docs":{},"己":{"docs":{},"或":{"docs":{},"别":{"docs":{},"人":{"docs":{},"写":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"放":{"docs":{},"心":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"代":{"docs":{},"码":{"docs":{},"变":{"docs":{},"得":{"docs":{},"可":{"docs":{},"控":{"docs":{},",":{"docs":{},"并":{"docs":{},"期":{"docs":{},"望":{"docs":{},"有":{"docs":{},"一":{"docs":{},"套":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"查":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"自":{"docs":{},"己":{"docs":{},"减":{"docs":{},"少":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"正":{"docs":{},"因":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"放":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"反":{"docs":{},"射":{"docs":{},"、":{"docs":{},"也":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"创":{"docs":{},"建":{"docs":{},"函":{"docs":{},"数":{"docs":{},"等":{"docs":{},"。":{"docs":{},"并":{"docs":{},"且":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"2":{"docs":{},".":{"0":{"docs":{},"强":{"docs":{},"制":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"查":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.03208556149732621}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},"只":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"属":{"docs":{},"于":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"即":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"它":{"docs":{},"在":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"则":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"即":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},".":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"{":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.011538461538461539}}},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}},"转":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":10}}}}}}}},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"创":{"docs":{},"建":{"docs":{},"类":{"docs":{},"时":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"与":{"docs":{},"下":{"docs":{},"图":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"=":{"docs":{},"'":{"docs":{},"[":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"]":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"类":{"docs":{},",":{"docs":{},"或":{"docs":{},"创":{"docs":{},"建":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"即":{"docs":{},"时":{"docs":{},"编":{"docs":{},"译":{"docs":{},")":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},",":{"docs":{},"速":{"docs":{},"度":{"docs":{},"与":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"所":{"docs":{},"有":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"当":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}},",":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"所":{"docs":{},"有":{"docs":{},"和":{"docs":{},"该":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},"都":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"比":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"后":{"docs":{},"尘":{"docs":{},",":{"docs":{},"成":{"docs":{},"为":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"烈":{"docs":{},"士":{"docs":{},"?":{"docs":{},"要":{"docs":{},"回":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"诞":{"docs":{},"生":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"对":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"否":{"docs":{},"也":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"不":{"docs":{},"会":{"docs":{},"步":{"docs":{},"入":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"1":{"4":{"docs":{},"e":{"3":{"0":{"4":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"与":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"=":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"简":{"docs":{},"称":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{},",":{"docs":{},"是":{"docs":{},"w":{"3":{"docs":{},"c":{"docs":{},"组":{"docs":{},"织":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"标":{"docs":{},"志":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"编":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{},"平":{"docs":{},"台":{"docs":{},"和":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"访":{"docs":{},"问":{"docs":{},"和":{"docs":{},"修":{"docs":{},"改":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"和":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{},"换":{"docs":{},"句":{"docs":{},"话":{"docs":{},"说":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"表":{"docs":{},"示":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"或":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"就":{"docs":{},"是":{"docs":{},"文":{"docs":{},"档":{"docs":{},"树":{"docs":{},",":{"docs":{},"与":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"在":{"docs":{},"前":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"指":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},",":{"docs":{},"但":{"docs":{},"广":{"docs":{},"义":{"docs":{},"的":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"布":{"docs":{},"局":{"docs":{},"文":{"docs":{},"件":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},",":{"docs":{},"而":{"docs":{},"术":{"docs":{},"语":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"操":{"docs":{},"作":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"直":{"docs":{},"接":{"docs":{},"来":{"docs":{},"操":{"docs":{},"作":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"(":{"docs":{},"或":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"化":{"docs":{},"”":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"做":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"预":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"些":{"docs":{},"与":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"结":{"docs":{},"构":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"再":{"docs":{},"动":{"docs":{},"态":{"docs":{},"根":{"docs":{},"据":{"docs":{},"数":{"docs":{},"据":{"docs":{},"创":{"docs":{},"建":{"docs":{},"出":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"访":{"docs":{},"问":{"docs":{},"内":{"docs":{},"部":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"拼":{"docs":{},"写":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"引":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"会":{"docs":{},"被":{"docs":{},"定":{"docs":{},"义":{"docs":{},"两":{"docs":{},"次":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"重":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"和":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}},",":{"docs":{},"原":{"docs":{},"先":{"docs":{},"的":{"docs":{},"检":{"docs":{},"查":{"docs":{},"模":{"docs":{},"式":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},",":{"docs":{},"故":{"docs":{},"意":{"docs":{},"牺":{"docs":{},"牲":{"docs":{},"性":{"docs":{},"能":{"docs":{},"来":{"docs":{},"换":{"docs":{},"取":{"docs":{},"有":{"docs":{},"助":{"docs":{},"于":{"docs":{},"开":{"docs":{},"发":{"docs":{},"调":{"docs":{},"试":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"结":{"docs":{},"果":{"docs":{},"将":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"误":{"docs":{},"导":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},",":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"和":{"docs":{},"f":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"四":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"朋":{"docs":{},"友":{"docs":{},"是":{"docs":{},"多":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"数":{"docs":{},"组":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"是":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}}},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"和":{"docs":{},"平":{"docs":{},"台":{"docs":{},"风":{"docs":{},"格":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"如":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"会":{"docs":{},"左":{"docs":{},"右":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"会":{"docs":{},"上":{"docs":{},"下":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"也":{"docs":{},"想":{"docs":{},"使":{"docs":{},"用":{"docs":{},"左":{"docs":{},"右":{"docs":{},"切":{"docs":{},"换":{"docs":{},"风":{"docs":{},"格":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"其":{"docs":{},"余":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"文":{"docs":{},"档":{"docs":{},"或":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"e":{"docs":{},"(":{"5":{"6":{"0":{"1":{"5":{"6":{"4":{"3":{"0":{"docs":{},")":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"7":{"5":{"5":{"2":{"0":{"2":{"1":{"9":{"docs":{},")":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852}}}}}}}}}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}},"/":{"docs":{},")":{"docs":{},")":{"docs":{},"➩":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"➩":{"docs":{},"c":{"docs":{},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"0":{"docs":{},".":{"4":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"占":{"docs":{},"有":{"docs":{},"整":{"docs":{},"个":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"态":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"路":{"docs":{},"由":{"docs":{},"构":{"docs":{},"建":{"docs":{},"及":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{},"及":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"生":{"docs":{},"成":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"上":{"docs":{},"图":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"在":{"docs":{},"对":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"进":{"docs":{},"行":{"docs":{},"位":{"docs":{},"置":{"docs":{},"调":{"docs":{},"整":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},":":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"定":{"docs":{},"位":{"docs":{},"过":{"docs":{},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"或":{"docs":{},"者":{"docs":{},"位":{"docs":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"际":{"docs":{},"调":{"docs":{},"整":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}},"x":{"4":{"docs":{},".":{"docs":{},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"y":{"docs":{},"(":{"0":{"docs":{},".":{"3":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}}},"docs":{}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"z":{"docs":{},"(":{"docs":{},".":{"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}},"h":{"docs":{},";":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}},"c":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}},"e":{"docs":{},"r":{"docs":{},"”":{"docs":{},"中":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"建":{"docs":{},"议":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"但":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"样":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"要":{"docs":{},"低":{"docs":{},"的":{"docs":{},"多":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.03225806451612903}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"的":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0213903743315508},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"在":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},"内":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"值":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"则":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"无":{"docs":{},"意":{"docs":{},"义":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"才":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"表":{"docs":{},"示":{"docs":{},"沿":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"方":{"docs":{},"向":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"取":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"表":{"docs":{},"示":{"docs":{},"左":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"取":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"时":{"docs":{},"表":{"docs":{},"示":{"docs":{},"从":{"docs":{},"右":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{},"而":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},";":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"表":{"docs":{},"示":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"么":{"docs":{},"理":{"docs":{},"解":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"/":{"docs":{},"/":{"docs":{},"无":{"docs":{},"效":{"docs":{},",":{"docs":{},"内":{"docs":{},"层":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"高":{"docs":{},"度":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"在":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"多":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"无":{"docs":{},"论":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"实":{"docs":{},"际":{"docs":{},"占":{"docs":{},"用":{"docs":{},"多":{"docs":{},"少":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"始":{"docs":{},"终":{"docs":{},"等":{"docs":{},"于":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"度":{"docs":{},";":{"docs":{},"而":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"表":{"docs":{},"示":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"少":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"当":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"没":{"docs":{},"有":{"docs":{},"占":{"docs":{},"满":{"docs":{},"水":{"docs":{},"平":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"则":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"的":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},";":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"(":{"docs":{},"=":{"docs":{},">":{"docs":{},")":{"docs":{},"符":{"docs":{},"号":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"单":{"docs":{},"行":{"docs":{},"函":{"docs":{},"数":{"docs":{},"或":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"简":{"docs":{},"写":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"当":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"时":{"docs":{},",":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"会":{"docs":{},"被":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"没":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"释":{"docs":{},"放":{"docs":{},"其":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.016791044776119403},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},">":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"x":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"、":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"行":{"docs":{},"数":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"是":{"docs":{},"自":{"docs":{},"动":{"docs":{},"折":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"定":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"文":{"docs":{},"本":{"docs":{},"最":{"docs":{},"多":{"docs":{},"不":{"docs":{},"会":{"docs":{},"超":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"行":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"多":{"docs":{},"余":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"截":{"docs":{},"断":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"截":{"docs":{},"断":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"截":{"docs":{},"断":{"docs":{},"方":{"docs":{},"式":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"将":{"docs":{},"多":{"docs":{},"余":{"docs":{},"文":{"docs":{},"本":{"docs":{},"截":{"docs":{},"断":{"docs":{},"后":{"docs":{},"以":{"docs":{},"省":{"docs":{},"略":{"docs":{},"符":{"docs":{},"“":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"”":{"docs":{},"表":{"docs":{},"示":{"docs":{},";":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"截":{"docs":{},"断":{"docs":{},"方":{"docs":{},"式":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"行":{"docs":{},"数":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"1":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"无":{"docs":{},"行":{"docs":{},"数":{"docs":{},"限":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}}},"为":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"是":{"docs":{},"“":{"docs":{},"最":{"docs":{},"大":{"docs":{},"”":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"等":{"docs":{},"分":{"docs":{},"的":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"是":{"4":{"5":{"0":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"在":{"docs":{},"区":{"docs":{},"间":{"docs":{},"(":{"4":{"5":{"0":{"docs":{},"/":{"4":{"docs":{},",":{"4":{"5":{"0":{"docs":{},"/":{"3":{"docs":{},"]":{"docs":{},"内":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"最":{"docs":{},"终":{"docs":{},"实":{"docs":{},"际":{"docs":{},"长":{"docs":{},"度":{"docs":{},"都":{"docs":{},"为":{"1":{"5":{"0":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"和":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"比":{"docs":{},"为":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"比":{"docs":{},"。":{"docs":{},"其":{"docs":{},"它":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308}}}}}},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.04093567251461988}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}},"类":{"docs":{},"代":{"docs":{},"表":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"了":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371}},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}}},"类":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"取":{"docs":{},"而":{"docs":{},"代":{"docs":{},"之":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"被":{"docs":{},"挪":{"docs":{},"到":{"docs":{},"了":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"至":{"docs":{},"于":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"这":{"docs":{},"么":{"docs":{},"做":{"docs":{},",":{"docs":{},"先":{"docs":{},"留":{"docs":{},"个":{"docs":{},"疑":{"docs":{},"问":{"docs":{},",":{"docs":{},"在":{"docs":{},"分":{"docs":{},"析":{"docs":{},"完":{"docs":{},"完":{"docs":{},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},"后":{"docs":{},"再":{"docs":{},"来":{"docs":{},"解":{"docs":{},"答":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},"s":{"docs":{},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},",":{"docs":{},"如":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"、":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"等":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"包":{"docs":{},"含":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"'":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"y":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"@":{"docs":{},"\"":{"docs":{},"电":{"docs":{},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}},"n":{"docs":{},"u":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.015384615384615385},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"e":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"、":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"作":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"j":{"docs":{},"s":{"docs":{},"x":{"docs":{},"语":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"/":{"docs":{},"排":{"docs":{},"版":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"是":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"打":{"docs":{},"包":{"docs":{},"一":{"docs":{},"份":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"体":{"docs":{},"积":{"docs":{},"较":{"docs":{},"大":{"docs":{},";":{"docs":{},"而":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"/":{"docs":{},"排":{"docs":{},"版":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"是":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"无":{"docs":{},"需":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"体":{"docs":{},"积":{"docs":{},"小":{"docs":{},",":{"docs":{},"正":{"docs":{},"因":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{},"才":{"docs":{},"能":{"docs":{},"在":{"docs":{},"保":{"docs":{},"证":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"做":{"docs":{},"到":{"docs":{},"快":{"docs":{},"速":{"docs":{},"分":{"docs":{},"发":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"是":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{},",":{"docs":{},"也":{"docs":{},"只":{"docs":{},"需":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"份":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"是":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"性":{"docs":{},"能":{"docs":{},"会":{"docs":{},"比":{"docs":{},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"h":{"5":{"docs":{},"好":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"是":{"docs":{},"语":{"docs":{},"法":{"docs":{},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"支":{"docs":{},"持":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"语":{"docs":{},"法":{"docs":{},"和":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"擎":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"能":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"提":{"docs":{},"供":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"集":{"docs":{},"合":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"就":{"docs":{},"是":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"路":{"docs":{},"由":{"docs":{},"栈":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"最":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"导":{"docs":{},"航":{"docs":{},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"打":{"docs":{},"开":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"拖":{"docs":{},"入":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"2":{"4":{"0":{"3":{"2":{"7":{"6":{"1":{"8":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}},":":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"包":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}},"=":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.029850746268656716},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.06388206388206388},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.04932735426008968},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.029556650246305417},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.031315240083507306},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012295081967213115},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.09137055837563451},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.02054794520547945},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.06040268456375839},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.029850746268656716},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.05405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.04221635883905013},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.05113636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.013824884792626729},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.04929577464788732},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.08636363636363636},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.011194029850746268},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.02631578947368421},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0189873417721519}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"模":{"docs":{},"板":{"docs":{},"参":{"docs":{},"数":{"docs":{},"t":{"docs":{},"是":{"docs":{},"想":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"省":{"docs":{},"略":{"docs":{},",":{"docs":{},"则":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"通":{"docs":{},"知":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"定":{"docs":{},"特":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"则":{"docs":{},"只":{"docs":{},"有":{"docs":{},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"会":{"docs":{},"被":{"docs":{},"监":{"docs":{},"听":{"docs":{},"。":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"现":{"docs":{},"监":{"docs":{},"听":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"可":{"docs":{},"以":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"布":{"docs":{},"尔":{"docs":{},"值":{"docs":{},",":{"docs":{},"代":{"docs":{},"表":{"docs":{},"是":{"docs":{},"否":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"终":{"docs":{},"止":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"停":{"docs":{},"止":{"docs":{},"向":{"docs":{},"上":{"docs":{},"传":{"docs":{},"播":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"返":{"docs":{},"回":{"docs":{},"或":{"docs":{},"者":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"当":{"docs":{},"前":{"docs":{},"节":{"docs":{},"点":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"向":{"docs":{},"上":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"称":{"docs":{},"这":{"docs":{},"种":{"docs":{},"通":{"docs":{},"知":{"docs":{},"由":{"docs":{},"子":{"docs":{},"向":{"docs":{},"父":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"为":{"docs":{},"“":{"docs":{},"通":{"docs":{},"知":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"”":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"分":{"docs":{},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"它":{"docs":{},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"上":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"会":{"docs":{},"从":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"图":{"docs":{},"片":{"docs":{},"没":{"docs":{},"有":{"docs":{},"适":{"docs":{},"应":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"内":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"图":{"docs":{},"片":{"docs":{},"比":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},",":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"只":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"中":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.017543859649122806}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"(":{"docs":{},"n":{"docs":{},">":{"1":{"docs":{},")":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"docs":{}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"y":{"docs":{},"(":{"docs":{},"或":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"正":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"如":{"docs":{},"用":{"docs":{},"于":{"docs":{},"输":{"docs":{},"入":{"docs":{},"密":{"docs":{},"码":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"等":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"会":{"docs":{},"用":{"docs":{},"“":{"docs":{},"•":{"docs":{},"”":{"docs":{},"替":{"docs":{},"换":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"…":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"\"":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}},":":{"docs":{},"在":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"当":{"docs":{},"成":{"docs":{},"不":{"docs":{},"透":{"docs":{},"明":{"docs":{},"处":{"docs":{},"理":{"docs":{},"(":{"docs":{},"即":{"docs":{},"使":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},")":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"区":{"docs":{},"域":{"docs":{},"都":{"docs":{},"是":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682}}},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"中":{"docs":{},"未":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{},"或":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"个":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"将":{"docs":{},"会":{"docs":{},"变":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"和":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"输":{"docs":{},"入":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"按":{"docs":{},"了":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"的":{"docs":{},"完":{"docs":{},"成":{"docs":{},"键":{"docs":{},"(":{"docs":{},"对":{"docs":{},"号":{"docs":{},"图":{"docs":{},"标":{"docs":{},")":{"docs":{},"或":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"键":{"docs":{},"(":{"docs":{},"&":{"docs":{},"#":{"docs":{},"x":{"1":{"docs":{},"f":{"5":{"0":{"docs":{},"d":{"docs":{},";":{"docs":{},"图":{"docs":{},"标":{"docs":{},")":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"签":{"docs":{},"名":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"回":{"docs":{},"调":{"docs":{},"是":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"收":{"docs":{},"当":{"docs":{},"前":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"做":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"而":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"不":{"docs":{},"接":{"docs":{},"收":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04065040650406504},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"(":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03550295857988166},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"!":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776}}}}}}}}}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},":":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"内":{"docs":{},"容":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"内":{"docs":{},"容":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},";":{"docs":{},"注":{"docs":{},":":{"docs":{},"内":{"docs":{},"容":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"在":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"胜":{"docs":{},"出":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628}}},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}},":":{"docs":{},"决":{"docs":{},"定":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"(":{"docs":{},"如":{"docs":{},"点":{"docs":{},"击":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},",":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"不":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"导":{"docs":{},"航":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"及":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"物":{"docs":{},"理":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},",":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"需":{"docs":{},"要":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"最":{"docs":{},"终":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"不":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"不":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},")":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"退":{"docs":{},"出":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"退":{"docs":{},"出":{"docs":{},"。":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"{":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.01858736059479554}},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},",":{"2":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}},"docs":{}}},"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"docs":{}}},"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777}},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"=":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}},"docs":{}}},"1":{"5":{"6":{"docs":{},".":{"7":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},",":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},":":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"在":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"时":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"而":{"docs":{},"前":{"docs":{},"者":{"docs":{},"不":{"docs":{},"会":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"表":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"中":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0038885288399222295}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"@":{"8":{"3":{"7":{"3":{"3":{"6":{"1":{"5":{"6":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"6":{"1":{"9":{"3":{"6":{"7":{"3":{"1":{"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}},":":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"决":{"docs":{},"定":{"docs":{},"如":{"docs":{},"何":{"docs":{},"显":{"docs":{},"示":{"docs":{},"超":{"docs":{},"出":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"值":{"docs":{},"为":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"时":{"docs":{},",":{"docs":{},"超":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"被":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"(":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},")":{"docs":{},",":{"docs":{},"值":{"docs":{},"为":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}},")":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"不":{"docs":{},"带":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"且":{"docs":{},"背":{"docs":{},"景":{"docs":{},"透":{"docs":{},"明":{"docs":{},"。":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},",":{"docs":{},"边":{"docs":{},"框":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"会":{"docs":{},"变":{"docs":{},"亮":{"docs":{},"、":{"docs":{},"同":{"docs":{},"时":{"docs":{},"出":{"docs":{},"现":{"docs":{},"背":{"docs":{},"景":{"docs":{},"和":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"(":{"docs":{},"较":{"docs":{},"弱":{"docs":{},")":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087}}}}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"指":{"docs":{},"针":{"docs":{},"移":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"角":{"docs":{},"度":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},".":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"k":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.022408963585434174}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259}}},"s":{"docs":{},"h":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"中":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"项":{"docs":{},"都":{"docs":{},"应":{"docs":{},"与":{"docs":{},"实":{"docs":{},"际":{"docs":{},"文":{"docs":{},"件":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"但":{"docs":{},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},"项":{"docs":{},"除":{"docs":{},"外":{"docs":{},"。":{"docs":{},"当":{"docs":{},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},"缺":{"docs":{},"少":{"docs":{},"某":{"docs":{},"个":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"按":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"从":{"docs":{},"低":{"docs":{},"到":{"docs":{},"高":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"去":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"”":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371}},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.027777777777777776},"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":3.333333333333333},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.015957446808510637}},"e":{"1":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}},"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"1":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}}}}}}},"f":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"1":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"仓":{"docs":{},"库":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"j":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"查":{"docs":{},"找":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"包":{"docs":{},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"向":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"发":{"docs":{},"布":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"包":{"docs":{},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"向":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"发":{"docs":{},"布":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"包":{"docs":{},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"包":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"含":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"也":{"docs":{},"导":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"你":{"docs":{},"库":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"…":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"=":{"docs":{},"[":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"`":{"docs":{},"p":{"docs":{},"w":{"docs":{},"d":{"docs":{},"`":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}},"~":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"s":{"docs":{},"=":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"2":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"docs":{},"s":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.016728624535315983}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006804925469863901}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405}},"c":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"值":{"docs":{},"用":{"docs":{},"于":{"docs":{},"确":{"docs":{},"定":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"如":{"docs":{},"此":{"docs":{},"便":{"docs":{},"可":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}},"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}},"docs":{}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"页":{"docs":{},"面":{"docs":{},"(":{"docs":{},"路":{"docs":{},"由":{"docs":{},")":{"docs":{},"相":{"docs":{},"关":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"存":{"docs":{},"储":{"docs":{},"桶":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"各":{"docs":{},"自":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"或":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}},"b":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":10.010989010989011},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.04395604395604396},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}},"{":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.04395604395604396},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.020134228187919462},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"添":{"docs":{},"加":{"docs":{},"补":{"docs":{},"白":{"docs":{},"(":{"docs":{},"填":{"docs":{},"充":{"docs":{},")":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"很":{"docs":{},"多":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"它":{"docs":{},"了":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"它":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}},".":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}},"(":{"docs":{},")":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},".":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"y":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"库":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"处":{"docs":{},"理":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"”":{"docs":{},"下":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"上":{"docs":{},"来":{"docs":{},"获":{"docs":{},"得":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"/":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"定":{"docs":{},"制":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"s":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"放":{"docs":{},"一":{"docs":{},"些":{"docs":{},"持":{"docs":{},"久":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"在":{"docs":{},"此":{"docs":{},"类":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"再":{"docs":{},"请":{"docs":{},"求":{"docs":{},"新":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"帧":{"docs":{},",":{"docs":{},"持":{"docs":{},"久":{"docs":{},"回":{"docs":{},"调":{"docs":{},"一":{"docs":{},"经":{"docs":{},"注":{"docs":{},"册":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"移":{"docs":{},"除":{"docs":{},"。":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},"了":{"docs":{},"布":{"docs":{},"局":{"docs":{},"与":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"@":{"3":{"6":{"7":{"1":{"0":{"6":{"5":{"0":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},":":{"docs":{},":":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"p":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.031746031746031744},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"{":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}},":":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"决":{"docs":{},"定":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"收":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"该":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"两":{"docs":{},"个":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"是":{"docs":{},"鼠":{"docs":{},"标":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"当":{"docs":{},"对":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"s":{"docs":{},":":{"docs":{},"在":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"只":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"后":{"docs":{},"会":{"docs":{},"被":{"docs":{},"系":{"docs":{},"统":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"可":{"docs":{},"由":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"替":{"docs":{},"代":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"性":{"docs":{},"能":{"docs":{},"特":{"docs":{},"征":{"docs":{},"与":{"docs":{},"您":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"产":{"docs":{},"品":{"docs":{},"差":{"docs":{},"异":{"docs":{},"最":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"项":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},":":{"docs":{},"$":{"docs":{},"{":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"停":{"docs":{},"止":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}},"到":{"docs":{},"边":{"docs":{},"界":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"$":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}},"c":{"docs":{},"b":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633}}}}}}}},"e":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.012658227848101266}}}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},"[":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},")":{"docs":{},"功":{"docs":{},"能":{"docs":{},"将":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}},"w":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"docs":{}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{},"指":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{},"当":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"为":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},",":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},")":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}},"=":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"按":{"docs":{},"压":{"docs":{},"力":{"docs":{},"度":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"手":{"docs":{},"机":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"支":{"docs":{},"持":{"docs":{},"压":{"docs":{},"力":{"docs":{},"传":{"docs":{},"感":{"docs":{},"器":{"docs":{},"(":{"docs":{},"如":{"docs":{},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"3":{"docs":{},"d":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"k":{"docs":{},"g":{"1":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}}},"docs":{}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"s":{"docs":{},":":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"决":{"docs":{},"定":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"完":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},"后":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},";":{"docs":{},"或":{"docs":{},"者":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"边":{"docs":{},"界":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"具":{"docs":{},"体":{"docs":{},"平":{"docs":{},"台":{"docs":{},"分":{"docs":{},"别":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"如":{"docs":{},"当":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"边":{"docs":{},"界":{"docs":{},"时":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"微":{"docs":{},"光":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"想":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"平":{"docs":{},"台":{"docs":{},"下":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"种":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"i":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"s":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},":":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439}}},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"低":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"是":{"docs":{},"一":{"docs":{},"个":{"1":{"9":{"9":{"1":{"docs":{},"年":{"docs":{},"由":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{},"从":{"docs":{},"图":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"高":{"docs":{},"于":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"“":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"”":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"插":{"docs":{},"件":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"a":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"1":{"7":{"5":{"3":{"7":{"0":{"9":{"8":{"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"3":{"9":{"0":{"6":{"8":{"5":{"0":{"8":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245}}}}}}},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.016260162601626018}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"{":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.01634877384196185}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.026923076923076925}},"中":{"docs":{},"提":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"思":{"docs":{},"想":{"docs":{},":":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"则":{"docs":{},"u":{"docs":{},"i":{"docs":{},"随":{"docs":{},"之":{"docs":{},"自":{"docs":{},"动":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"框":{"docs":{},"架":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"是":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"而":{"docs":{},"执":{"docs":{},"行":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"范":{"docs":{},"式":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"在":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"通":{"docs":{},"知":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},",":{"docs":{},"结":{"docs":{},"合":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"树":{"docs":{},"中":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"只":{"docs":{},"更":{"docs":{},"新":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"操":{"docs":{},"作":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"避":{"docs":{},"免":{"docs":{},"整":{"docs":{},"棵":{"docs":{},"树":{"docs":{},"重":{"docs":{},"构":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},":":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"是":{"docs":{},"专":{"docs":{},"门":{"docs":{},"为":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"调":{"docs":{},"试":{"docs":{},"而":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"m":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}},"=":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.02109704641350211},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.02242152466367713},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.013569937369519834},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.03064066852367688},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.014285714285714285},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.04938271604938271},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.023952095808383235},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.021108179419525065},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.03680981595092025},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.02727272727272727},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.022727272727272728},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.013824884792626729},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.02112676056338028},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.013636363636363636},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.020522388059701493},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.016597510373443983},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.03508771929824561},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.022388059701492536},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"层":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"层":{"docs":{},",":{"docs":{},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.01858736059479554},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004536616979909268}}},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"与":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":10}}}}}}}}}}}},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"将":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"将":{"docs":{},"其":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"具":{"docs":{},"体":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"流":{"docs":{},"程":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"签":{"docs":{},"名":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"基":{"docs":{},"础":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"义":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"模":{"docs":{},"型":{"docs":{},"(":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"?":{"docs":{},"一":{"docs":{},"个":{"docs":{},"?":{"docs":{},"两":{"docs":{},"个":{"docs":{},"?":{"docs":{},"或":{"docs":{},"者":{"docs":{},"更":{"docs":{},"多":{"docs":{},"?":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"到":{"docs":{},"更":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"关":{"docs":{},"联":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"只":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"了":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"y":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"(":{"docs":{},"{":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"(":{"4":{"9":{"7":{"0":{"3":{"9":{"2":{"7":{"3":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777}},"子":{"docs":{},"类":{"docs":{},"要":{"docs":{},"定":{"docs":{},"制":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"重":{"docs":{},"写":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"对":{"docs":{},"于":{"docs":{},"任":{"docs":{},"何":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"流":{"docs":{},"程":{"docs":{},"基":{"docs":{},"本":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"只":{"docs":{},"在":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"而":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},"子":{"docs":{},"类":{"docs":{},"应":{"docs":{},"该":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"测":{"docs":{},"量":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"是":{"docs":{},"在":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"t":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},")":{"docs":{},"时":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"永":{"docs":{},"远":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"u":{"docs":{},"p":{"1":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"2":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"3":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"5":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"6":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"不":{"docs":{},"是":{"docs":{},"就":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"就":{"docs":{},"表":{"docs":{},"示":{"docs":{},"它":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"变":{"docs":{},"化":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"影":{"docs":{},"响":{"docs":{},"到":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"表":{"docs":{},"示":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"布":{"docs":{},"局":{"docs":{},"变":{"docs":{},"化":{"docs":{},"是":{"docs":{},"否":{"docs":{},"影":{"docs":{},"响":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"当":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"会":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"后":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"讲":{"docs":{},"过":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.011152416356877323}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"运":{"docs":{},"行":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.043010752688172046}},"e":{"docs":{},"s":{"docs":{},"…":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"y":{"docs":{},"(":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},":":{"docs":{},"当":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"小":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"时":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"重":{"docs":{},"复":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"@":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.02112676056338028},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"(":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}},"=":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.028169014084507043}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"b":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}}}},"docs":{}}},"docs":{}}}}}}}}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.023391812865497075}}},"=":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"e":{"docs":{},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"解":{"docs":{},"释":{"docs":{},"是":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"按":{"docs":{},"照":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"方":{"docs":{},"向":{"docs":{},"相":{"docs":{},"反":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"滑":{"docs":{},"动":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"方":{"docs":{},"向":{"docs":{},"是":{"docs":{},"从":{"docs":{},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},"(":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"阿":{"docs":{},"拉":{"docs":{},"伯":{"docs":{},"语":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"到":{"docs":{},"左":{"docs":{},")":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"决":{"docs":{},"定":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"在":{"docs":{},"“":{"docs":{},"头":{"docs":{},"”":{"docs":{},"还":{"docs":{},"是":{"docs":{},"“":{"docs":{},"尾":{"docs":{},"”":{"docs":{},",":{"docs":{},"取":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"在":{"docs":{},"“":{"docs":{},"头":{"docs":{},"”":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"在":{"docs":{},"“":{"docs":{},"尾":{"docs":{},"”":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"试":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},"等":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},"内":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"生":{"docs":{},"成":{"docs":{},"从":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"区":{"docs":{},"间":{"docs":{},")":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"n":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"u":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"所":{"docs":{},"选":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"版":{"docs":{},"本":{"docs":{},"或":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"画":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"它":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"打":{"docs":{},"开":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"带":{"docs":{},"有":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"运":{"docs":{},"行":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"(":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682}}}},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.016597510373443983}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.017937219730941704}}}},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}},"s":{"docs":{},":":{"docs":{},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}},")":{"docs":{},"即":{"docs":{},"给":{"docs":{},"路":{"docs":{},"由":{"docs":{},"起":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"字":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"这":{"docs":{},"为":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"带":{"docs":{},"来":{"docs":{},"了":{"docs":{},"一":{"docs":{},"种":{"docs":{},"直":{"docs":{},"观":{"docs":{},"、":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"w":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}},"、":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0213903743315508},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}},"{":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"排":{"docs":{},"列":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"和":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"功":{"docs":{},"能":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},"是":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"在":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"时":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"d":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.009569377990430622},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"主":{"docs":{},"要":{"docs":{},"优":{"docs":{},"势":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},";":{"docs":{},"而":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"是":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"注":{"docs":{},"释":{"docs":{},"非":{"docs":{},"常":{"docs":{},"详":{"docs":{},"细":{"docs":{},",":{"docs":{},"也":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"注":{"docs":{},"释":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"结":{"docs":{},"合":{"docs":{},"注":{"docs":{},"释":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"你":{"docs":{},"解":{"docs":{},"决":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"配":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"和":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"”":{"docs":{},",":{"docs":{},"您":{"docs":{},"将":{"docs":{},"在":{"docs":{},"步":{"docs":{},"骤":{"3":{"docs":{},"中":{"docs":{},"用":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{},"(":{"docs":{},"如":{"docs":{},":":{"docs":{},"c":{"docs":{},":":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"\\":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"安":{"docs":{},"装":{"docs":{},"到":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"高":{"docs":{},"权":{"docs":{},"限":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"如":{"docs":{},"c":{"docs":{},":":{"docs":{},"\\":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}},"它":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"基":{"docs":{},"础":{"docs":{},"库":{"docs":{},",":{"docs":{},"自":{"docs":{},"底":{"docs":{},"向":{"docs":{},"上":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"简":{"docs":{},"单":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"该":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"只":{"docs":{},"需":{"docs":{},"一":{"docs":{},"句":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"相":{"docs":{},"应":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"分":{"docs":{},"支":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"你":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"只":{"docs":{},"想":{"docs":{},"更":{"docs":{},"新":{"docs":{},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"(":{"docs":{},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"打":{"docs":{},"包":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"如":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"分":{"docs":{},"支":{"docs":{},"为":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"分":{"docs":{},"支":{"docs":{},"(":{"docs":{},"日":{"docs":{},"后":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"版":{"docs":{},"本":{"docs":{},"发":{"docs":{},"布":{"docs":{},"后":{"docs":{},"可":{"docs":{},"能":{"docs":{},"也":{"docs":{},"会":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"如":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"开":{"docs":{},"发":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"后":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"进":{"docs":{},"行":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"开":{"docs":{},"发":{"docs":{},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"你":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"里":{"docs":{},"了":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"单":{"docs":{},"独":{"docs":{},"安":{"docs":{},"装":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.020833333333333332},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"是":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"u":{"docs":{},"i":{"docs":{},"描":{"docs":{},"述":{"docs":{},"文":{"docs":{},"件":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"+":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"操":{"docs":{},"作":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"”":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"。":{"docs":{},"而":{"docs":{},"今":{"docs":{},"天":{"docs":{},"(":{"2":{"0":{"1":{"8":{"docs":{},"年":{"8":{"docs":{},"月":{"1":{"6":{"docs":{},"日":{"docs":{},")":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"3":{"5":{"docs":{},"k":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"。":{"docs":{},"经":{"docs":{},"历":{"docs":{},"了":{"docs":{},"短":{"docs":{},"短":{"docs":{},"一":{"docs":{},"年":{"docs":{},"多":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"和":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0038885288399222295},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"还":{"docs":{},"没":{"docs":{},"听":{"docs":{},"过":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"目":{"docs":{},"前":{"docs":{},"全":{"docs":{},"球":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"问":{"docs":{},"答":{"docs":{},"社":{"docs":{},"区":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"也":{"docs":{},"是":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"度":{"docs":{},"最":{"docs":{},"高":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"问":{"docs":{},"答":{"docs":{},"社":{"docs":{},"区":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"上":{"docs":{},"面":{"docs":{},"除":{"docs":{},"了":{"docs":{},"世":{"docs":{},"界":{"docs":{},"各":{"docs":{},"地":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"会":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"交":{"docs":{},"流":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"也":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"回":{"docs":{},"答":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512}},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"{":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014742014742014743},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},")":{"docs":{},"{":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}},"(":{"docs":{},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"类":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"应":{"docs":{},"用":{"docs":{},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"维":{"docs":{},"护":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"它":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"会":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"其":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"中":{"docs":{},"持":{"docs":{},"有":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004536616979909268}}},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"中":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"常":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"i":{"docs":{},"c":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"{":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"三":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"对":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"属":{"docs":{},"性":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"来":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"指":{"docs":{},"定":{"docs":{},"在":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"起":{"docs":{},"始":{"docs":{},"点":{"docs":{},"和":{"docs":{},"终":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"注":{"docs":{},"册":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"计":{"docs":{},"划":{"docs":{},",":{"docs":{},"有":{"docs":{},"关":{"docs":{},"详":{"docs":{},"情":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.01634877384196185}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}}}}}},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.03225806451612903},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},">":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},">":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},">":{"docs":{},"a":{"docs":{},"v":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"管":{"docs":{},"理":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"运":{"docs":{},"行":{"docs":{},"它":{"docs":{},",":{"docs":{},"并":{"docs":{},"体":{"docs":{},"验":{"docs":{},"“":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"插":{"docs":{},"件":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"和":{"docs":{},"v":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},"安":{"docs":{},"装":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"向":{"docs":{},"导":{"docs":{},"”":{"docs":{},"。":{"docs":{},"这":{"docs":{},"将":{"docs":{},"安":{"docs":{},"装":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"的":{"docs":{},"全":{"docs":{},"量":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"视":{"docs":{},"图":{"docs":{},"中":{"docs":{},"查":{"docs":{},"看":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"时":{"docs":{},",":{"docs":{},"单":{"docs":{},"击":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"的":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"下":{"docs":{},"载":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"“":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"自":{"docs":{},"行":{"docs":{},"下":{"docs":{},"载":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"提":{"docs":{},"供":{"docs":{},"有":{"docs":{},"关":{"docs":{},"库":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{},"导":{"docs":{},"入":{"docs":{},"后":{"docs":{},"该":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"将":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"为":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"库":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"或":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{},")":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"将":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"转":{"docs":{},"为":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"该":{"docs":{},"插":{"docs":{},"件":{"docs":{},"会":{"docs":{},"对":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"也":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"特":{"docs":{},"性":{"docs":{},"在":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"重":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"如":{"docs":{},"两":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"都":{"docs":{},"内":{"docs":{},"嵌":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}},"中":{"docs":{},"打":{"docs":{},"开":{"docs":{},"您":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"1":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"[":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"s":{"docs":{},"”":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{},"’":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"’":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},",":{"docs":{},"并":{"docs":{},"执":{"docs":{},"行":{"docs":{},"你":{"docs":{},"想":{"docs":{},"测":{"docs":{},"量":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"类":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"给":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"同":{"docs":{},"步":{"docs":{},"或":{"docs":{},"异":{"docs":{},"步":{"docs":{},"添":{"docs":{},"加":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"一":{"docs":{},"般":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.014767932489451477},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0189873417721519},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.03225806451612903},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.029850746268656716},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.013157894736842105},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.010899182561307902}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}}}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02040816326530612},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"正":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"、":{"docs":{},"文":{"docs":{},"字":{"docs":{},"排":{"docs":{},"版":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"等":{"docs":{},"。":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}}},")":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"`":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},")":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"'":{"docs":{},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"/":{"6":{"0":{"2":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},"、":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":10.00210970464135}}}}}}}}}}}}}},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"别":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"左":{"docs":{},"、":{"docs":{},"右":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"手":{"docs":{},"指":{"docs":{},"重":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"左":{"docs":{},"/":{"docs":{},"右":{"docs":{},"向":{"docs":{},"里":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"便":{"docs":{},"可":{"docs":{},"打":{"docs":{},"开":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"。":{"docs":{},"本":{"docs":{},"节":{"docs":{},"开":{"docs":{},"始":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"左":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"m":{"docs":{},"y":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"请":{"docs":{},"导":{"docs":{},"航":{"docs":{},"至":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"在":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},"{":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"原":{"docs":{},"理":{"docs":{},"部":{"docs":{},"分":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}},"(":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}}},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"专":{"docs":{},"门":{"docs":{},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"(":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"给":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"将":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"常":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645}}}}},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"监":{"docs":{},"听":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"调":{"docs":{},"度":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"f":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}},"t":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},"u":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.015985790408525755},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"=":{"docs":{},">":{"docs":{},"_":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"=":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083}}}}}}}}}}}}}}}},"{":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}}},"=":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"^":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"*":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006156837329876863},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"层":{"docs":{},"与":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{},"指":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"数":{"docs":{},"。":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"越":{"docs":{},"高":{"docs":{},"则":{"docs":{},"动":{"docs":{},"画":{"docs":{},"就":{"docs":{},"会":{"docs":{},"越":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"人":{"docs":{},"眼":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"超":{"docs":{},"过":{"1":{"6":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{},"就":{"docs":{},"比":{"docs":{},"较":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"了":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"3":{"2":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"就":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"的":{"docs":{},"细":{"docs":{},"腻":{"docs":{},"平":{"docs":{},"滑":{"docs":{},",":{"docs":{},"而":{"docs":{},"超":{"docs":{},"过":{"3":{"2":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"基":{"docs":{},"本":{"docs":{},"就":{"docs":{},"感":{"docs":{},"受":{"docs":{},"不":{"docs":{},"到":{"docs":{},"差":{"docs":{},"别":{"docs":{},"了":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"是":{"docs":{},"要":{"docs":{},"改":{"docs":{},"变":{"docs":{},"u":{"docs":{},"i":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},"内":{"docs":{},"连":{"docs":{},"续":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"u":{"docs":{},"i":{"docs":{},"输":{"docs":{},"出":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"耗":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},",":{"docs":{},"对":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"软":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"要":{"docs":{},"求":{"docs":{},"都":{"docs":{},"较":{"docs":{},"高":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"平":{"docs":{},"均":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"是":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"指":{"docs":{},"标":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"理":{"docs":{},"想":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"6":{"0":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"动":{"docs":{},"画":{"docs":{},"基":{"docs":{},"本":{"docs":{},"是":{"docs":{},"持":{"docs":{},"平":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"一":{"docs":{},"秒":{"docs":{},"钟":{"docs":{},"可":{"docs":{},"以":{"docs":{},"触":{"docs":{},"发":{"6":{"0":{"docs":{},"次":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"值":{"docs":{},"越":{"docs":{},"大":{"docs":{},",":{"docs":{},"界":{"docs":{},"面":{"docs":{},"就":{"docs":{},"越":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"t":{"docs":{},"e":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}},"z":{"docs":{},"e":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"(":{"1":{"0":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"docs":{}},"docs":{}},"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007128969539857421}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007777057679844459},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"用":{"docs":{},"于":{"docs":{},"给":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"指":{"docs":{},"定":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"就":{"docs":{},"应":{"docs":{},"该":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"其":{"docs":{},"大":{"docs":{},"小":{"docs":{},"在":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"给":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},";":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"当":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"时":{"docs":{},",":{"docs":{},"代":{"docs":{},"表":{"docs":{},"默":{"docs":{},"认":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"画":{"docs":{},"布":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"则":{"docs":{},"为":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"但":{"docs":{},"是":{"docs":{},"想":{"docs":{},"指":{"docs":{},"定":{"docs":{},"画":{"docs":{},"布":{"docs":{},"为":{"docs":{},"特":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"和":{"docs":{},"高":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"树":{"docs":{},"中":{"docs":{},"从":{"docs":{},"上":{"docs":{},"往":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"限":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"和":{"docs":{},"最":{"docs":{},"小":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"必":{"docs":{},"须":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":10.015625}},"(":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"{":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"能":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},"{":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"m":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"(":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}},"=":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}}},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"(":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"属":{"docs":{},"性":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"激":{"docs":{},"活":{"docs":{},"态":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{},"至":{"docs":{},"于":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"到":{"docs":{},"目":{"docs":{},"前":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"只":{"docs":{},"能":{"docs":{},"定":{"docs":{},"义":{"docs":{},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"高":{"docs":{},"度":{"docs":{},"也":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"'":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"b":{"docs":{},"t":{"docs":{},"n":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"决":{"docs":{},"定":{"docs":{},"当":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617}},"(":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"{":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"会":{"docs":{},"很":{"docs":{},"难":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"启":{"docs":{},"用":{"docs":{},"反":{"docs":{},"射":{"docs":{},"时":{"docs":{},"很":{"docs":{},"难":{"docs":{},"知":{"docs":{},"道":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"未":{"docs":{},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"冗":{"docs":{},"余":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"难":{"docs":{},"剥":{"docs":{},"离":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"了":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"反":{"docs":{},"射":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"正":{"docs":{},"因":{"docs":{},"如":{"docs":{},"此":{"docs":{},"也":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"动":{"docs":{},"态":{"docs":{},"转":{"docs":{},"化":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"版":{"docs":{},"中":{"docs":{},"“":{"docs":{},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"著":{"docs":{},"优":{"docs":{},"化":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"反":{"docs":{},"射":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"应":{"docs":{},"用":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"根":{"docs":{},"据":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"总":{"docs":{},"长":{"docs":{},"度":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"处":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"有":{"docs":{},"细":{"docs":{},"片":{"docs":{},"、":{"docs":{},"小":{"docs":{},"片":{"docs":{},"之":{"docs":{},"意":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"常":{"docs":{},"指":{"docs":{},"具":{"docs":{},"有":{"docs":{},"特":{"docs":{},"定":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"块":{"docs":{},"。":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"等":{"docs":{},"都":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"、":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"等":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"和":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"最":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"列":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"会":{"docs":{},"一":{"docs":{},"一":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"只":{"docs":{},"需":{"docs":{},"记":{"docs":{},"住":{"docs":{},"它":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"再":{"docs":{},"去":{"docs":{},"查":{"docs":{},"看":{"docs":{},"文":{"docs":{},"档":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"说":{"docs":{},"“":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"“":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"和":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"如":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"等":{"docs":{},"是":{"docs":{},"和":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"无":{"docs":{},"关":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"结":{"docs":{},"合":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"一":{"docs":{},"起":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"必":{"docs":{},"须":{"docs":{},"都":{"docs":{},"是":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"层":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"层":{"docs":{},"会":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},",":{"docs":{},"当":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"有":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"有":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"将":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"层":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},"包":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"u":{"docs":{},"i":{"docs":{},"库":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"动":{"docs":{},"画":{"docs":{},"、":{"docs":{},"手":{"docs":{},"势":{"docs":{},"及":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"最":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"它":{"docs":{},"除":{"docs":{},"了":{"docs":{},"确":{"docs":{},"定":{"docs":{},"每":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"、":{"docs":{},"大":{"docs":{},"小":{"docs":{},"之":{"docs":{},"外":{"docs":{},"还":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"变":{"docs":{},"换":{"docs":{},"、":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"调":{"docs":{},"用":{"docs":{},"底":{"docs":{},"层":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"连":{"docs":{},"接":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"纽":{"docs":{},"带":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"时":{"docs":{},"候":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"层":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"层":{"docs":{},"有":{"docs":{},"时":{"docs":{},"候":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"完":{"docs":{},"全":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"将":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"也":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"便":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"现":{"docs":{},"在":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"提":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"请":{"docs":{},"读":{"docs":{},"者":{"docs":{},"先":{"docs":{},"自":{"docs":{},"己":{"docs":{},"思":{"docs":{},"考":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"至":{"docs":{},"关":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"这":{"docs":{},"个":{"docs":{},"纽":{"docs":{},"带":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"关":{"docs":{},"联":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"了":{"docs":{},"解":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"层":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"会":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"个":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"会":{"docs":{},"提":{"docs":{},"高":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"能":{"docs":{},"力":{"docs":{},"和":{"docs":{},"设":{"docs":{},"计":{"docs":{},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"在":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"获":{"docs":{},"取":{"docs":{},"主":{"docs":{},"题":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"细":{"docs":{},"节":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"文":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"不":{"docs":{},"做":{"docs":{},"成":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"端":{"docs":{},"的":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"设":{"docs":{},"计":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"8":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"docs":{}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"*":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":5.055555555555555}},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"底":{"docs":{},"层":{"docs":{},"u":{"docs":{},"i":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"一":{"docs":{},"些":{"docs":{},"它":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"对":{"docs":{},"这":{"docs":{},"个":{"docs":{},"标":{"docs":{},"准":{"docs":{},"非":{"docs":{},"常":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"了":{"docs":{},",":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"根":{"docs":{},"据":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"来":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}},"的":{"docs":{},"基":{"docs":{},"石":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"分":{"docs":{},"析":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"整":{"docs":{},"体":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"和":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"从":{"docs":{},"头":{"docs":{},"到":{"docs":{},"尾":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"、":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"和":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"值":{"docs":{},"得":{"docs":{},"庆":{"docs":{},"幸":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"层":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"或":{"docs":{},"者":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"只":{"docs":{},"能":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"时":{"docs":{},"(":{"docs":{},"如":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"算":{"docs":{},"法":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"容":{"docs":{},"器":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"减":{"docs":{},"少":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"n":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"产":{"docs":{},"生":{"docs":{},"任":{"docs":{},"何":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"它":{"docs":{},"允":{"docs":{},"许":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"按":{"docs":{},"照":{"docs":{},"其":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"很":{"docs":{},"少":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"去":{"docs":{},"除":{"docs":{},"\"":{"docs":{},"多":{"docs":{},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"也":{"docs":{},"许":{"docs":{},"会":{"docs":{},"有":{"docs":{},"帮":{"docs":{},"助":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"z":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.028169014084507043}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"b":{"docs":{},"调":{"docs":{},"试":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"e":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"a":{"docs":{},"g":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"实":{"docs":{},"例":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"r":{"docs":{},"l":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"页":{"docs":{},"面":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"监":{"docs":{},"听":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"1":{"0":{"0":{"docs":{},"/":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645}}},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.015957446808510637}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},"v":{"8":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"上":{"docs":{},"也":{"docs":{},"已":{"docs":{},"经":{"docs":{},"做":{"docs":{},"的":{"docs":{},"很":{"docs":{},"好":{"docs":{},",":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"成":{"docs":{},"员":{"docs":{},"都":{"docs":{},"是":{"docs":{},"来":{"docs":{},"自":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"上":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"作":{"docs":{},"为":{"docs":{},"超":{"docs":{},"越":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},",":{"docs":{},"而":{"docs":{},"对":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"也":{"docs":{},"正":{"docs":{},"好":{"docs":{},"满":{"docs":{},"足":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"a":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.016722408026755852},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.029850746268656716},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.020522388059701493},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"功":{"docs":{},"能":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"时":{"docs":{},"自":{"docs":{},"动":{"docs":{},"进":{"docs":{},"行":{"docs":{},"类":{"docs":{},"型":{"docs":{},"推":{"docs":{},"断":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"改":{"docs":{},"变":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.015723270440251572}},"u":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.01634877384196185}}},")":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}}}}}},"m":{"docs":{},"之":{"docs":{},"前":{"docs":{},"已":{"docs":{},"经":{"docs":{},"针":{"docs":{},"对":{"docs":{},"吞":{"docs":{},"吐":{"docs":{},"量":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"团":{"docs":{},"队":{"docs":{},"现":{"docs":{},"在":{"docs":{},"正":{"docs":{},"在":{"docs":{},"优":{"docs":{},"化":{"docs":{},"v":{"docs":{},"m":{"docs":{},"的":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"负":{"docs":{},"载":{"docs":{},"更":{"docs":{},"为":{"docs":{},"重":{"docs":{},"要":{"docs":{},"。":{"docs":{},"”":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"回":{"docs":{},"收":{"docs":{},"和":{"docs":{},"吞":{"docs":{},"吐":{"docs":{},"量":{"docs":{},"都":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"反":{"docs":{},"复":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"相":{"docs":{},"关":{"docs":{},"测":{"docs":{},"试":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"看":{"docs":{},"来":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"能":{"docs":{},"流":{"docs":{},"行":{"docs":{},",":{"docs":{},"v":{"docs":{},"m":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"就":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"在":{"docs":{},"g":{"docs":{},"o":{"docs":{},"(":{"docs":{},"没":{"docs":{},"用":{"docs":{},"v":{"docs":{},"m":{"docs":{},"但":{"docs":{},"有":{"docs":{},"g":{"docs":{},"c":{"docs":{},")":{"docs":{},"、":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"(":{"docs":{},"v":{"8":{"docs":{},")":{"docs":{},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"k":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"上":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"技":{"docs":{},"术":{"docs":{},"积":{"docs":{},"淀":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"g":{"docs":{},"c":{"docs":{},"做":{"docs":{},"到":{"1":{"0":{"docs":{},"m":{"docs":{},"s":{"docs":{},"以":{"docs":{},"内":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"决":{"docs":{},"胜":{"docs":{},"因":{"docs":{},"素":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"是":{"docs":{},"在":{"docs":{},"性":{"docs":{},"能":{"docs":{},"方":{"docs":{},"面":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"语":{"docs":{},"法":{"docs":{},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"要":{"docs":{},"比":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"更":{"docs":{},"有":{"docs":{},"表":{"docs":{},"现":{"docs":{},"力":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"对":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"支":{"docs":{},"持":{"docs":{},"要":{"docs":{},"远":{"docs":{},"强":{"docs":{},"于":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"(":{"docs":{},"目":{"docs":{},"前":{"docs":{},"只":{"docs":{},"停":{"docs":{},"留":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"目":{"docs":{},"前":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"不":{"docs":{},"足":{"docs":{},"是":{"docs":{},"生":{"docs":{},"态":{"docs":{},",":{"docs":{},"但":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"相":{"docs":{},"信":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"火":{"docs":{},"热":{"docs":{},",":{"docs":{},"会":{"docs":{},"回":{"docs":{},"过":{"docs":{},"头":{"docs":{},"来":{"docs":{},"反":{"docs":{},"推":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"生":{"docs":{},"态":{"docs":{},"加":{"docs":{},"速":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"还":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"p":{"docs":{},"c":{"docs":{},"或":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"下":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"差":{"docs":{},"异":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"差":{"docs":{},"异":{"docs":{},"是":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"路":{"docs":{},"径":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"不":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"这":{"docs":{},"些":{"docs":{},"存":{"docs":{},"在":{"docs":{},"差":{"docs":{},"异":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"包":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},">":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"视":{"docs":{},"口":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.007974481658692184},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.020066889632107024},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.015657620041753653},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.011428571428571429},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.029850746268656716},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.013636363636363636},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.009433962264150943},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.016728624535315983},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.02722323049001815}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.007259528130671506}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},":":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"包":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}},"/":{"1":{"0":{"docs":{},".":{"0":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}}},"docs":{}},"docs":{}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"(":{"docs":{},"垂":{"docs":{},"直":{"docs":{},")":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"从":{"docs":{},"上":{"docs":{},"到":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}},"i":{"docs":{},"f":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"2":{"3":{"5":{"docs":{},".":{"5":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":10}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}},"协":{"docs":{},"议":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"发":{"docs":{},"起":{"docs":{},"一":{"docs":{},"条":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"进":{"docs":{},"行":{"docs":{},"握":{"docs":{},"手":{"docs":{},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"支":{"docs":{},"持":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"协":{"docs":{},"议":{"docs":{},"升":{"docs":{},"级":{"docs":{},"。":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"握":{"docs":{},"手":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"链":{"docs":{},"接":{"docs":{},"是":{"docs":{},"个":{"docs":{},"长":{"docs":{},"链":{"docs":{},"接":{"docs":{},"(":{"docs":{},"不":{"docs":{},"会":{"docs":{},"断":{"docs":{},"开":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"与":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"实":{"docs":{},"时":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"有":{"docs":{},"关":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"r":{"docs":{},"f":{"docs":{},"c":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"如":{"docs":{},"何":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"是":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"巴":{"docs":{},"巴":{"docs":{},"于":{"2":{"0":{"1":{"6":{"docs":{},"年":{"docs":{},"发":{"docs":{},"布":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"思":{"docs":{},"想":{"docs":{},"及":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.019656019656019656},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.020876826722338204},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.08695652173913043},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016713091922005572},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.017964071856287425},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023746701846965697},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.03067484662576687},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024691358024691357},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"s":{"docs":{},"层":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"的":{"docs":{},"一":{"docs":{},"套":{"docs":{},"基":{"docs":{},"础":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},",":{"docs":{},"在":{"docs":{},"基":{"docs":{},"础":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"还":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"也":{"docs":{},"有":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"将":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"包":{"docs":{},"装":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"负":{"docs":{},"责":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"单":{"docs":{},"例":{"docs":{},",":{"docs":{},"紧":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"负":{"docs":{},"责":{"docs":{},"将":{"docs":{},"根":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"上":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"单":{"docs":{},"选":{"docs":{},"开":{"docs":{},"关":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"们":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"会":{"docs":{},"保":{"docs":{},"存":{"docs":{},"当":{"docs":{},"前":{"docs":{},"选":{"docs":{},"择":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"或":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"都":{"docs":{},"带":{"docs":{},"有":{"docs":{},"在":{"docs":{},"其":{"docs":{},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"动":{"docs":{},"画":{"docs":{},"效":{"docs":{},"果":{"docs":{},"(":{"docs":{},"但":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"这":{"docs":{},"些":{"docs":{},"效":{"docs":{},"果":{"docs":{},")":{"docs":{},"。":{"docs":{},"本":{"docs":{},"章":{"docs":{},"将":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"并":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"几":{"docs":{},"个":{"docs":{},"小":{"docs":{},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},",":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"迅":{"docs":{},"速":{"docs":{},"理":{"docs":{},"解":{"docs":{},"并":{"docs":{},"掌":{"docs":{},"握":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},"与":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},":":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"、":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"状":{"docs":{},"态":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}},"显":{"docs":{},"示":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"数":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}},"一":{"docs":{},"个":{"docs":{},"必":{"docs":{},"选":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"如":{"docs":{},"何":{"docs":{},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"个":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"字":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"少":{"docs":{},"由":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"组":{"docs":{},"成":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}},")":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"简":{"docs":{},"单":{"docs":{},"认":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"列":{"docs":{},"表":{"docs":{},"和":{"docs":{},"长":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"如":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"等":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"与":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"将":{"docs":{},"其":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"沿":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"依":{"docs":{},"次":{"docs":{},"排":{"docs":{},"列":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"您":{"docs":{},"构":{"docs":{},"建":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"以":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"配":{"docs":{},"合":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"\"":{"docs":{},"打":{"docs":{},"洞":{"docs":{},"\"":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"表":{"docs":{},"示":{"docs":{},"与":{"docs":{},"该":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"由":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"组":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"统":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"校":{"docs":{},"验":{"docs":{},"、":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"重":{"docs":{},"置":{"docs":{},"以":{"docs":{},"及":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"保":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"合":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"形":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"类":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},"类":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"除":{"docs":{},"了":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"包":{"docs":{},"括":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"换":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"除":{"docs":{},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"也":{"docs":{},"大":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"功":{"docs":{},"能":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"的":{"docs":{},"骨":{"docs":{},"架":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"的":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"引":{"docs":{},"入":{"docs":{},"它":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"因":{"docs":{},"此":{"docs":{},"它":{"docs":{},"们":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"些":{"docs":{},"共":{"docs":{},"同":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"重":{"docs":{},"复":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"此":{"docs":{},"统":{"docs":{},"一":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"交":{"docs":{},"互":{"docs":{},"模":{"docs":{},"型":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"读":{"docs":{},"取":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"法":{"docs":{},"读":{"docs":{},"取":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"同":{"docs":{},"时":{"docs":{},"被":{"docs":{},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"将":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"设":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}},"上":{"docs":{},"指":{"docs":{},"定":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"占":{"docs":{},"用":{"docs":{},"与":{"docs":{},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}},"要":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"包":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"(":{"docs":{},"如":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"字":{"docs":{},"段":{"docs":{},"所":{"docs":{},"描":{"docs":{},"述":{"docs":{},"的":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"保":{"docs":{},"存":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"的":{"docs":{},"层":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"。":{"docs":{},"这":{"docs":{},"用":{"docs":{},"于":{"docs":{},"减":{"docs":{},"少":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"到":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"处":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"时":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"中":{"docs":{},"就":{"docs":{},"会":{"docs":{},"存":{"docs":{},"储":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"细":{"docs":{},"节":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"状":{"docs":{},"态":{"docs":{},"应":{"docs":{},"该":{"docs":{},"被":{"docs":{},"谁":{"docs":{},"管":{"docs":{},"理":{"docs":{},"?":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"?":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{},"都":{"docs":{},"会":{"docs":{},"?":{"docs":{},"还":{"docs":{},"是":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},"!":{"docs":{},"以":{"docs":{},"下":{"docs":{},"是":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"被":{"docs":{},"多":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"页":{"docs":{},"面":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"原":{"docs":{},"理":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"与":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"”":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"销":{"docs":{},"毁":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"销":{"docs":{},"毁":{"docs":{},"或":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"时":{"docs":{},",":{"docs":{},"在":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"发":{"docs":{},"生":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}},"边":{"docs":{},"界":{"docs":{},"(":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"列":{"docs":{},"表":{"docs":{},"顶":{"docs":{},"或":{"docs":{},"底":{"docs":{},"部":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"设":{"docs":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"更":{"docs":{},"改":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"重":{"docs":{},"建":{"docs":{},"其":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":10.001043841336116}}}},"(":{"docs":{},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"!":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{},"?":{"2":{"0":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}},"、":{"docs":{},"用":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{},"而":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"通":{"docs":{},"常":{"docs":{},"只":{"docs":{},"是":{"docs":{},"指":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"描":{"docs":{},"述":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{},"“":{"docs":{},"控":{"docs":{},"件":{"docs":{},"”":{"docs":{},"、":{"docs":{},"“":{"docs":{},"组":{"docs":{},"件":{"docs":{},"”":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"心":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"他":{"docs":{},"们":{"docs":{},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"表":{"docs":{},"述":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"主":{"docs":{},"要":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"在":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"必":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"于":{"docs":{},"概":{"docs":{},"念":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"中":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"也":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"具":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"(":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"经":{"docs":{},"常":{"docs":{},"看":{"docs":{},"到":{"docs":{},"“":{"docs":{},"从":{"docs":{},"树":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"”":{"docs":{},"或":{"docs":{},"“":{"docs":{},"插":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},"”":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"其":{"docs":{},"意":{"docs":{},"思":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"描":{"docs":{},"述":{"docs":{},"“":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"构":{"docs":{},"成":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"树":{"docs":{},"”":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"不":{"docs":{},"必":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"那":{"docs":{},"句":{"docs":{},"话":{"docs":{},"“":{"docs":{},"得":{"docs":{},"其":{"docs":{},"神":{"docs":{},",":{"docs":{},"忘":{"docs":{},"其":{"docs":{},"形":{"docs":{},"”":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"“":{"docs":{},"树":{"docs":{},"”":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"特":{"docs":{},"别":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"都":{"docs":{},"可":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{},"认":{"docs":{},"为":{"docs":{},"它":{"docs":{},"是":{"docs":{},"“":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"构":{"docs":{},"成":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"树":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"层":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"将":{"docs":{},"在":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"而":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"将":{"docs":{},"在":{"docs":{},"原":{"docs":{},"来":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"典":{"docs":{},"型":{"docs":{},"地":{"docs":{},",":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"在":{"docs":{},"该":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"滑":{"docs":{},"出":{"docs":{},"视":{"docs":{},"口":{"docs":{},"时":{"docs":{},"该":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"g":{"docs":{},"c":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"其":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"自":{"docs":{},"己":{"docs":{},"维":{"docs":{},"护":{"docs":{},"其":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"必":{"docs":{},"须":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"分":{"docs":{},"发":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"监":{"docs":{},"听":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"。":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"还":{"docs":{},"有":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"并":{"docs":{},"不":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},"。":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"器":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"种":{"docs":{},"“":{"docs":{},"相":{"docs":{},"距":{"docs":{},"较":{"docs":{},"远":{"docs":{},"”":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"目":{"docs":{},"前":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"办":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"树":{"docs":{},",":{"docs":{},"而":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"是":{"docs":{},"由":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"构":{"docs":{},"成":{"docs":{},";":{"docs":{},"不":{"docs":{},"过":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"宽":{"docs":{},"泛":{"docs":{},"地":{"docs":{},"认":{"docs":{},"为":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"u":{"docs":{},"i":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"或":{"docs":{},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"运":{"docs":{},"行":{"docs":{},"平":{"docs":{},"台":{"docs":{},"来":{"docs":{},"切":{"docs":{},"换":{"docs":{},"表":{"docs":{},"现":{"docs":{},"风":{"docs":{},"格":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"从":{"docs":{},"底":{"docs":{},"向":{"docs":{},"上":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"从":{"docs":{},"右":{"docs":{},"向":{"docs":{},"左":{"docs":{},")":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"见":{"docs":{},"到":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"设":{"docs":{},"计":{"docs":{},"风":{"docs":{},"格":{"docs":{},"中":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"很":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"形":{"docs":{},"式":{"docs":{},",":{"docs":{},"以":{"docs":{},"后":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"便":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"对":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"包":{"docs":{},"装":{"docs":{},"定":{"docs":{},"制":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"他":{"docs":{},"们":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"和":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"各":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"默":{"docs":{},"认":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"而":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},"大":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"统":{"docs":{},"一":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"这":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"及":{"docs":{},"表":{"docs":{},"单":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"背":{"docs":{},"景":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"背":{"docs":{},"景":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"库":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"些":{"docs":{},"规":{"docs":{},"范":{"docs":{},"可":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"部":{"docs":{},"分":{"docs":{},"都":{"docs":{},"定":{"docs":{},"义":{"docs":{},"在":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"应":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"身":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"类":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"即":{"docs":{},"“":{"docs":{},"诊":{"docs":{},"断":{"docs":{},"树":{"docs":{},"”":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"调":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"够":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"丰":{"docs":{},"富":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"在":{"docs":{},"不":{"docs":{},"断":{"docs":{},"的":{"docs":{},"完":{"docs":{},"善":{"docs":{},"中":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"边":{"docs":{},"就":{"docs":{},"会":{"docs":{},"收":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"一":{"docs":{},"下":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"。":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"是":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"但":{"docs":{},"因":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"不":{"docs":{},"足":{"docs":{},"一":{"docs":{},"行":{"docs":{},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"长":{"docs":{},"度":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"大":{"docs":{},"于":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"长":{"docs":{},"度":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"才":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"长":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"从":{"docs":{},"树":{"docs":{},"上":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"掉":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"其":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"发":{"docs":{},"生":{"docs":{},"结":{"docs":{},"构":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"这":{"docs":{},"一":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"、":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"发":{"docs":{},"送":{"docs":{},"通":{"docs":{},"知":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"与":{"docs":{},"父":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"祖":{"docs":{},"先":{"docs":{},")":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"自":{"docs":{},"己":{"docs":{},"关":{"docs":{},"注":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"通":{"docs":{},"信":{"docs":{},"方":{"docs":{},"式":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"沿":{"docs":{},"用":{"docs":{},"“":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"”":{"docs":{},"这":{"docs":{},"个":{"docs":{},"术":{"docs":{},"语":{"docs":{},"。":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"始":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"性":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}},"显":{"docs":{},"示":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"指":{"docs":{},"定":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"注":{"docs":{},"册":{"docs":{},"位":{"docs":{},"置":{"docs":{},"”":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},"后":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"加":{"docs":{},"载":{"docs":{},"新":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"`":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"为":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"分":{"docs":{},"别":{"docs":{},"读":{"docs":{},"取":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},"后":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"根":{"docs":{},"之":{"docs":{},"间":{"docs":{},"任":{"docs":{},"意":{"docs":{},"位":{"docs":{},"置":{"docs":{},"都":{"docs":{},"能":{"docs":{},"监":{"docs":{},"听":{"docs":{},"。":{"docs":{},"而":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"只":{"docs":{},"能":{"docs":{},"和":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"或":{"docs":{},"切":{"docs":{},"换":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"docs":{},",":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"正":{"docs":{},"确":{"docs":{},"恢":{"docs":{},"复":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"分":{"docs":{},"别":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"不":{"docs":{},"同":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"分":{"docs":{},"别":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"一":{"docs":{},"定":{"docs":{},"就":{"docs":{},"得":{"docs":{},"给":{"docs":{},"他":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"提":{"docs":{},"供":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"中":{"docs":{},"也":{"docs":{},"会":{"docs":{},"保":{"docs":{},"存":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"将":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"重":{"docs":{},"新":{"docs":{},"加":{"docs":{},"载":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"只":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"每":{"docs":{},"次":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"加":{"docs":{},"载":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},".":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"销":{"docs":{},"毁":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"其":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"从":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"注":{"docs":{},"销":{"docs":{},"位":{"docs":{},"置":{"docs":{},"”":{"docs":{},",":{"docs":{},"注":{"docs":{},"销":{"docs":{},"后":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"实":{"docs":{},"现":{"docs":{},"文":{"docs":{},"本":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"位":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"其":{"docs":{},"它":{"docs":{},"业":{"docs":{},"务":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"顶":{"docs":{},"部":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"定":{"docs":{},"义":{"docs":{},"区":{"docs":{},"域":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"以":{"docs":{},"及":{"docs":{},"设":{"docs":{},"置":{"docs":{},"子":{"docs":{},"树":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"重":{"docs":{},"建":{"docs":{},"它":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}},"用":{"docs":{},"于":{"docs":{},"加":{"docs":{},"载":{"docs":{},"和":{"docs":{},"查":{"docs":{},"找":{"docs":{},"包":{"docs":{},"含":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"如":{"docs":{},"何":{"docs":{},"设":{"docs":{},"置":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"层":{"docs":{},"与":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.025210084033613446},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"高":{"docs":{},",":{"docs":{},"当":{"docs":{},"不":{"docs":{},"指":{"docs":{},"定":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"时":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"其":{"docs":{},"原":{"docs":{},"始":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"设":{"docs":{},"置":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"默":{"docs":{},"认":{"docs":{},"会":{"docs":{},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"缩":{"docs":{},"放":{"docs":{},",":{"docs":{},"但":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"适":{"docs":{},"应":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},">":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"s":{"docs":{},",":{"docs":{},"请":{"docs":{},"确":{"docs":{},"保":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"命":{"docs":{},"令":{"docs":{},"提":{"docs":{},"示":{"docs":{},"符":{"docs":{},"或":{"docs":{},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},">":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},">":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"为":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"构":{"docs":{},"建":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"连":{"docs":{},"接":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":5}},"e":{"docs":{},"(":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},"{":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"和":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"配":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"当":{"docs":{},"启":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"代":{"docs":{},"表":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"中":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"否":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"l":{"docs":{},"d":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.03208556149732621}},"!":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"中":{"docs":{},"接":{"docs":{},"收":{"docs":{},"异":{"docs":{},"步":{"docs":{},"结":{"docs":{},"果":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026845637583892617}}}}}},"\"":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.02054794520547945}}},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"值":{"docs":{},"为":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"居":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.014767932489451477}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872}}}}}}}}}},"”":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}},".":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"{":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"只":{"docs":{},"需":{"docs":{},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"次":{"docs":{},"观":{"docs":{},"察":{"docs":{},"器":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"它":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.03225806451612903},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.02109704641350211},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.036855036855036855},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.026905829596412557},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.04013377926421405},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.04488517745302714},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.05555555555555555},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.017759562841530054},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.02109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.03125},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.027855153203342618},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.037142857142857144},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.06172839506172839},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.059880239520958084},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.02030456852791878},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.037300177619893425},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05223880597014925},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.05063291139240506},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.016216216216216217},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.052770448548812667},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.03067484662576687},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.03636363636363636},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.046610169491525424},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.029069767441860465},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.04854368932038835},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.02861035422343324},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.05113636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.020737327188940093},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.04090909090909091},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.033582089552238806},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.026595744680851064},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.021929824561403508},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.06918238993710692},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.06224066390041494},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.043859649122807015},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.04481792717086835},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.043209876543209874},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.055762081784386616},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0544464609800363}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023809523809523808},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.011142061281337047},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633}}}}}}}},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0189873417721519},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.016722408026755852},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.015985790408525755},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.009074410163339383}}},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"具":{"docs":{},"体":{"docs":{},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"多":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"对":{"docs":{},"称":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},",":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"指":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"和":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"指":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"和":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.016722408026755852},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.02664298401420959},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0189873417721519},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.02112676056338028},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223}},"e":{"docs":{},"{":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"]":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}},"“":{"docs":{},"千":{"docs":{},"呼":{"docs":{},"万":{"docs":{},"唤":{"docs":{},"始":{"docs":{},"出":{"docs":{},"来":{"docs":{},"”":{"docs":{},",":{"docs":{},"铺":{"docs":{},"垫":{"docs":{},"这":{"docs":{},"么":{"docs":{},"久":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"终":{"docs":{},"于":{"docs":{},"等":{"docs":{},"到":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"docs":{},"主":{"docs":{},"角":{"docs":{},"出":{"docs":{},"场":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"前":{"docs":{},"编":{"docs":{},"译":{"docs":{},"”":{"docs":{},";":{"docs":{},"而":{"docs":{},"解":{"docs":{},"释":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"则":{"docs":{},"是":{"docs":{},"一":{"docs":{},"句":{"docs":{},"一":{"docs":{},"句":{"docs":{},"边":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"边":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"称":{"docs":{},"为":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"控":{"docs":{},"制":{"docs":{},"面":{"docs":{},"板":{"docs":{},">":{"docs":{},"用":{"docs":{},"户":{"docs":{},"帐":{"docs":{},"户":{"docs":{},">":{"docs":{},"用":{"docs":{},"户":{"docs":{},"帐":{"docs":{},"户":{"docs":{},">":{"docs":{},"更":{"docs":{},"改":{"docs":{},"我":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"”":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"了":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"则":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"即":{"9":{"0":{"docs":{},"×":{"2":{"0":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"”":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"中":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"和":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"是":{"docs":{},"强":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轮":{"docs":{},"播":{"docs":{},"图":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"轮":{"docs":{},"播":{"docs":{},",":{"docs":{},"而":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"轮":{"docs":{},"播":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"轮":{"docs":{},"播":{"docs":{},"图":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},"本":{"docs":{},"身":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"处":{"docs":{},"理":{"docs":{},"了":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"(":{"docs":{},"支":{"docs":{},"持":{"docs":{},"手":{"docs":{},"动":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"可":{"docs":{},"能":{"docs":{},"也":{"docs":{},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"外":{"docs":{},"部":{"docs":{},"再":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"、":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"话":{"docs":{},"是":{"docs":{},"不":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"态":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"一":{"docs":{},"次":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"反":{"docs":{},"复":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"移":{"docs":{},"除":{"docs":{},"某":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"“":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"态":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"动":{"docs":{},"画":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"结":{"docs":{},"束":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"保":{"docs":{},"留":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"它":{"docs":{},"还":{"docs":{},"未":{"docs":{},"能":{"docs":{},"重":{"docs":{},"新":{"docs":{},"变":{"docs":{},"成":{"docs":{},"”":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"“":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"u":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"其":{"docs":{},"彻":{"docs":{},"底":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"为":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"永":{"docs":{},"远":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"被":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"✔":{"docs":{},"️":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}}},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"详":{"docs":{},"细":{"docs":{},"说":{"docs":{},"明":{"docs":{},"可":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"文":{"docs":{},"档":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"主":{"docs":{},"要":{"docs":{},"方":{"docs":{},"法":{"docs":{},"允":{"docs":{},"许":{"docs":{},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"在":{"docs":{},"其":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"分":{"docs":{},"别":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"状":{"docs":{},"态":{"docs":{},"都":{"docs":{},"为":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"状":{"docs":{},"态":{"docs":{},"置":{"docs":{},"反":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"回":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"更":{"docs":{},"新":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"必":{"docs":{},"须":{"docs":{},"实":{"docs":{},"现":{"docs":{},"他":{"docs":{},"们":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"我":{"docs":{},"们":{"docs":{},"现":{"docs":{},"在":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"它":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"其":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"读":{"docs":{},"者":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"原":{"docs":{},"理":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"中":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"有":{"docs":{},"个":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"会":{"docs":{},"深":{"docs":{},"入":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"中":{"docs":{},"区":{"docs":{},"。":{"docs":{},"在":{"docs":{},"学":{"docs":{},"习":{"docs":{},"本":{"docs":{},"章":{"docs":{},"时":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"的":{"docs":{},"重":{"docs":{},"点":{"docs":{},"是":{"docs":{},"掌":{"docs":{},"握":{"docs":{},"不":{"docs":{},"同":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"细":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"会":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"多":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"当":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"边":{"docs":{},"界":{"docs":{},"(":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},")":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},"中":{"docs":{},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"必":{"docs":{},"须":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"测":{"docs":{},"试":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"很":{"docs":{},"少":{"docs":{},"会":{"docs":{},"重":{"docs":{},"写":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"改":{"docs":{},"变":{"docs":{},"后":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"也":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"改":{"docs":{},"变":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"每":{"docs":{},"次":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"些":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"与":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"要":{"docs":{},"维":{"docs":{},"护":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"以":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"被":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"往":{"docs":{},"往":{"docs":{},"会":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"很":{"docs":{},"多":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"包":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"或":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"管":{"docs":{},"理":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"如":{"docs":{},"何":{"docs":{},"使":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"(":{"docs":{},"位":{"docs":{},"于":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},")":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"这":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"同":{"docs":{},"一":{"docs":{},"份":{"docs":{},"配":{"docs":{},"置":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"多":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"提":{"docs":{},"供":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"控":{"docs":{},"制":{"docs":{},"所":{"docs":{},"有":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"认":{"docs":{},"证":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"就":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"全":{"docs":{},"局":{"docs":{},"凭":{"docs":{},"证":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"去":{"docs":{},"动":{"docs":{},"态":{"docs":{},"添":{"docs":{},"加":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"、":{"docs":{},"版":{"docs":{},"本":{"docs":{},"、":{"docs":{},"作":{"docs":{},"者":{"docs":{},"等":{"docs":{},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"能":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"总":{"docs":{},"数":{"docs":{},"是":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"指":{"docs":{},"标":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"所":{"docs":{},"说":{"docs":{},"的":{"1":{"6":{"0":{"0":{"docs":{},"万":{"docs":{},"色":{"docs":{},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"一":{"docs":{},"个":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"1":{"6":{"0":{"0":{"docs":{},"万":{"docs":{},"种":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"而":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"有":{"docs":{},"r":{"docs":{},"g":{"docs":{},"b":{"docs":{},"三":{"docs":{},"基":{"docs":{},"色":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"1":{"6":{"0":{"0":{"docs":{},"万":{"docs":{},"即":{"2":{"docs":{},"的":{"2":{"4":{"docs":{},"次":{"docs":{},"方":{"docs":{},",":{"docs":{},"即":{"docs":{},"每":{"docs":{},"个":{"docs":{},"基":{"docs":{},"本":{"docs":{},"色":{"docs":{},"(":{"docs":{},"r":{"docs":{},"、":{"docs":{},"g":{"docs":{},"、":{"docs":{},"b":{"docs":{},")":{"docs":{},"深":{"docs":{},"度":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"至":{"8":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"其":{"docs":{},"对":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"当":{"docs":{},"发":{"docs":{},"生":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},"开":{"docs":{},"始":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"胜":{"docs":{},"万":{"docs":{},"言":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"章":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"!":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"指":{"docs":{},"用":{"docs":{},"户":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"到":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"后":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"移":{"docs":{},"动":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"会":{"docs":{},"移":{"docs":{},"动":{"docs":{},"。":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"对":{"docs":{},"于":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"和":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"区":{"docs":{},"分":{"docs":{},"的":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"会":{"docs":{},"将":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},"(":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"本":{"docs":{},"次":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"上":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"就":{"docs":{},"会":{"docs":{},"开":{"docs":{},"始":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"字":{"docs":{},"母":{"docs":{},"a":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"其":{"docs":{},"为":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"旦":{"docs":{},"你":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"读":{"docs":{},"/":{"docs":{},"写":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"有":{"docs":{},"关":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"处":{"docs":{},"理":{"docs":{},"文":{"docs":{},"件":{"docs":{},"和":{"docs":{},"目":{"docs":{},"录":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"内":{"docs":{},"容":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"发":{"docs":{},"布":{"docs":{},"它":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"文":{"docs":{},"已":{"docs":{},"经":{"docs":{},"提":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"所":{"docs":{},"述":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{},"和":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"中":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},"主":{"docs":{},"要":{"docs":{},"指":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"主":{"docs":{},"要":{"docs":{},"指":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"下":{"docs":{},"发":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"热":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"包":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"演":{"docs":{},"示":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},"优":{"docs":{},"秀":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"也":{"docs":{},"支":{"docs":{},"持":{"docs":{},"原":{"docs":{},"生":{"docs":{},"调":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"也":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"依":{"docs":{},"次":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},",":{"docs":{},"前":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"有":{"docs":{},"此":{"docs":{},"差":{"docs":{},"异":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"强":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"变":{"docs":{},"量":{"docs":{},"都":{"docs":{},"是":{"docs":{},"有":{"docs":{},"确":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"声":{"docs":{},"明":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"后":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"来":{"docs":{},"推":{"docs":{},"断":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"而":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"是":{"docs":{},"纯":{"docs":{},"粹":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"只":{"docs":{},"是":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},"方":{"docs":{},"式":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"显":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"的":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"惑":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"像":{"docs":{},"被":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"两":{"docs":{},"次":{"docs":{},"。":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"是":{"docs":{},":":{"docs":{},"将":{"docs":{},"外":{"docs":{},"部":{"docs":{},"引":{"docs":{},"用":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"后":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"再":{"docs":{},"将":{"docs":{},"其":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"匿":{"docs":{},"名":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"都":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"资":{"docs":{},"源":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"设":{"docs":{},"置":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"图":{"docs":{},"标":{"docs":{},"或":{"docs":{},"者":{"docs":{},"添":{"docs":{},"加":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"那":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"放":{"docs":{},"大":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"(":{"docs":{},"匀":{"docs":{},"速":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"弹":{"docs":{},"簧":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"改":{"docs":{},"为":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"应":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"后":{"docs":{},"即":{"docs":{},"使":{"docs":{},"设":{"docs":{},"备":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"是":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"也":{"docs":{},"依":{"docs":{},"然":{"docs":{},"是":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"现":{"docs":{},"在":{"docs":{},"思":{"docs":{},"考":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"传":{"docs":{},"输":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"数":{"docs":{},"据":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"要":{"docs":{},"从":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"片":{"docs":{},")":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"接":{"docs":{},"收":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"链":{"docs":{},"接":{"docs":{},"时":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"貌":{"docs":{},"似":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"办":{"docs":{},"法":{"docs":{},"…":{"docs":{},"…":{"docs":{},"其":{"docs":{},"实":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"要":{"docs":{},"接":{"docs":{},"收":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"数":{"docs":{},"据":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"使":{"docs":{},"用":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"而":{"docs":{},"帧":{"docs":{},"是":{"docs":{},"有":{"docs":{},"固":{"docs":{},"定":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"当":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"是":{"docs":{},"文":{"docs":{},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},"还":{"docs":{},"是":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"还":{"docs":{},"有":{"docs":{},"其":{"docs":{},"它":{"docs":{},"类":{"docs":{},"型":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"时":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"其":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"解":{"docs":{},"析":{"docs":{},"出":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"无":{"docs":{},"需":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"去":{"docs":{},"关":{"docs":{},"心":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"指":{"docs":{},"定":{"docs":{},"为":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"就":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"是":{"docs":{},"文":{"docs":{},"本":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"就":{"docs":{},"是":{"docs":{},"要":{"docs":{},"为":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"写":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"枯":{"docs":{},"燥":{"docs":{},"的":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"根":{"docs":{},"据":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"本":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"那":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"能":{"docs":{},"彻":{"docs":{},"底":{"docs":{},"解":{"docs":{},"放":{"docs":{},"双":{"docs":{},"手":{"docs":{},"了":{"docs":{},"。":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"自":{"docs":{},"己":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"并":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"转":{"docs":{},"为":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"假":{"docs":{},"定":{"docs":{},"包":{"docs":{},"位":{"docs":{},"于":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"存":{"docs":{},"储":{"docs":{},"库":{"docs":{},"的":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"参":{"docs":{},"数":{"docs":{},"指":{"docs":{},"定":{"docs":{},"相":{"docs":{},"对":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"小":{"docs":{},"例":{"docs":{},"子":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"础":{"docs":{},"文":{"docs":{},"本":{"docs":{},"片":{"docs":{},"段":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"链":{"docs":{},"接":{"docs":{},"片":{"docs":{},"段":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"即":{"docs":{},"字":{"docs":{},"体":{"docs":{},"为":{"2":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"(":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},")":{"docs":{},"、":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"点":{"docs":{},"一":{"docs":{},"次":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"就":{"docs":{},"会":{"docs":{},"分":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"y":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"根":{"docs":{},"上":{"docs":{},"监":{"docs":{},"听":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"收":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"通":{"docs":{},"知":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"要":{"docs":{},"维":{"docs":{},"护":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"根":{"docs":{},"据":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"述":{"docs":{},"的":{"docs":{},"多":{"docs":{},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"最":{"docs":{},"终":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"9":{"0":{"docs":{},"×":{"1":{"0":{"0":{"docs":{},"的":{"docs":{},"红":{"docs":{},"色":{"docs":{},"框":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"另":{"docs":{},"外":{"docs":{},"几":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"每":{"docs":{},"次":{"docs":{},"动":{"docs":{},"画":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"脏":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"再":{"docs":{},"次":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},",":{"docs":{},"改":{"docs":{},"变":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"和":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"现":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"是":{"docs":{},"以":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"像":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"一":{"docs":{},"样":{"docs":{},"以":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"形":{"docs":{},"式":{"docs":{},"提":{"docs":{},"供":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"纯":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"了":{"docs":{},",":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"演":{"docs":{},"示":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"写":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"些":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"插":{"docs":{},"件":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"父":{"docs":{},"子":{"docs":{},"两":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"组":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"会":{"docs":{},"提":{"docs":{},"前":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"构":{"docs":{},"建":{"docs":{},"好":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"只":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"量":{"docs":{},"比":{"docs":{},"较":{"docs":{},"少":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"创":{"docs":{},"建":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"组":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"组":{"docs":{},"是":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"前":{"docs":{},"面":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},";":{"docs":{},"第":{"docs":{},"二":{"docs":{},"组":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"各":{"docs":{},"个":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},")":{"docs":{},"的":{"docs":{},"共":{"docs":{},"同":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"是":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"一":{"docs":{},"小":{"docs":{},"部":{"docs":{},"分":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"完":{"docs":{},"整":{"docs":{},"列":{"docs":{},"表":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"主":{"docs":{},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"\"":{"docs":{},"样":{"docs":{},"本":{"docs":{},"\"":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"样":{"docs":{},"本":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"条":{"docs":{},"件":{"docs":{},"下":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"当":{"docs":{},"前":{"docs":{},"主":{"docs":{},"题":{"docs":{},"不":{"docs":{},"是":{"docs":{},"深":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"就":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"如":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"它":{"docs":{},"还":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"过":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"四":{"docs":{},"种":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"接":{"docs":{},"收":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"和":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"代":{"docs":{},"替":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},"代":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"1":{"docs":{},"处":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},"参":{"docs":{},"数":{"docs":{},"直":{"docs":{},"接":{"docs":{},"传":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"述":{"docs":{},"命":{"docs":{},"令":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"为":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"只":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"让":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{},"即":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"最":{"docs":{},"常":{"docs":{},"遇":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"点":{"docs":{},"击":{"docs":{},"超":{"docs":{},"链":{"docs":{},"接":{"docs":{},"即":{"docs":{},"可":{"docs":{},"自":{"docs":{},"动":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"安":{"docs":{},"装":{"docs":{},"页":{"docs":{},"面":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"点":{"docs":{},"击":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"区":{"docs":{},"域":{"docs":{},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"让":{"docs":{},"整":{"docs":{},"个":{"3":{"0":{"0":{"docs":{},"×":{"1":{"5":{"0":{"docs":{},"的":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},"都":{"docs":{},"能":{"docs":{},"点":{"docs":{},"击":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"设":{"docs":{},"为":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"(":{"docs":{},"忽":{"docs":{},"略":{"docs":{},")":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"是":{"docs":{},"决":{"docs":{},"定":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"时":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"注":{"docs":{},"释":{"docs":{},"掉":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"2":{"0":{"0":{"docs":{},"*":{"1":{"0":{"0":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"非":{"docs":{},"文":{"docs":{},"本":{"docs":{},"区":{"docs":{},"域":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"(":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"透":{"docs":{},"明":{"docs":{},"区":{"docs":{},"域":{"docs":{},")":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"只":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},"“":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"0":{"docs":{},"”":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"没":{"docs":{},"有":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"有":{"docs":{},"底":{"docs":{},"部":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{},"当":{"docs":{},"放":{"docs":{},"开":{"docs":{},"注":{"docs":{},"释":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"和":{"docs":{},"底":{"docs":{},"部":{"docs":{},"都":{"docs":{},"会":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"如":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},"都":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"子":{"docs":{},"类":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{},"移":{"docs":{},"动":{"docs":{},"的":{"docs":{},"位":{"docs":{},"移":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"通":{"docs":{},"知":{"docs":{},"属":{"docs":{},"性":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"查":{"docs":{},"看":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"获":{"docs":{},"取":{"docs":{},"手":{"docs":{},"机":{"docs":{},"型":{"docs":{},"号":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"供":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"将":{"docs":{},"展":{"docs":{},"示":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"感":{"docs":{},"受":{"docs":{},"一":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"选":{"docs":{},"用":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"在":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"支":{"docs":{},"持":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"只":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"各":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"多":{"docs":{},"的":{"docs":{},"展":{"docs":{},"示":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"外":{"docs":{},"观":{"docs":{},"和":{"docs":{},"用":{"docs":{},"途":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"长":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"读":{"docs":{},"者":{"docs":{},"将":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"起":{"docs":{},"来":{"docs":{},"观":{"docs":{},"看":{"docs":{},"实":{"docs":{},"际":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"截":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"“":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"”":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"底":{"docs":{},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{},",":{"docs":{},"将":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"五":{"docs":{},"子":{"docs":{},"棋":{"docs":{},"游":{"docs":{},"戏":{"docs":{},"中":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"和":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"的":{"docs":{},"插":{"docs":{},"件":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{},"该":{"docs":{},"插":{"docs":{},"件":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"柱":{"docs":{},"状":{"docs":{},"图":{"docs":{},"增":{"docs":{},"长":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"决":{"docs":{},"定":{"docs":{},"这":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"时":{"docs":{},"是":{"docs":{},"否":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{},"其":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"”":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"变":{"docs":{},"量":{"docs":{},"t":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"带":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},"将":{"docs":{},"大":{"docs":{},"写":{"docs":{},"字":{"docs":{},"母":{"docs":{},"a":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}},"用":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"上":{"docs":{},"页":{"docs":{},"面":{"docs":{},"效":{"docs":{},"果":{"docs":{},"截":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"逐":{"docs":{},"一":{"docs":{},"解":{"docs":{},"释":{"docs":{},"一":{"docs":{},"下":{"docs":{},"各":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"显":{"docs":{},"示":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"来":{"docs":{},"识":{"docs":{},"别":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"该":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"使":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"包":{"docs":{},"中":{"docs":{},"是":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}},"调":{"docs":{},"整":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"docs":{},"的":{"docs":{},"计":{"docs":{},"算":{"docs":{},"公":{"docs":{},"式":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"数":{"docs":{},"学":{"docs":{},"几":{"docs":{},"何":{"docs":{},"知":{"docs":{},"识":{"docs":{},"得":{"docs":{},"出":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"研":{"docs":{},"究":{"docs":{},"一":{"docs":{},"下":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"载":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"包":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"你":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},"。":{"docs":{},"当":{"docs":{},"你":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"团":{"docs":{},"队":{"docs":{},"时":{"docs":{},",":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"并":{"docs":{},"下":{"docs":{},"载":{"docs":{},"开":{"docs":{},"发":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"向":{"docs":{},"你":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"注":{"docs":{},"册":{"docs":{},"你":{"docs":{},"的":{"docs":{},"帐":{"docs":{},"户":{"docs":{},",":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"下":{"docs":{},"载":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"如":{"docs":{},"何":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"、":{"docs":{},"下":{"docs":{},"载":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"docs":{},"线":{"docs":{},"浅":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"宽":{"docs":{},"度":{"1":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"读":{"docs":{},"者":{"docs":{},"加":{"docs":{},"深":{"docs":{},"印":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"在":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"多":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"(":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"边":{"docs":{},"界":{"docs":{},"需":{"docs":{},"要":{"docs":{},"由":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"区":{"docs":{},"分":{"docs":{},"为":{"docs":{},"不":{"docs":{},"同":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"足":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}}},"要":{"docs":{},"按":{"docs":{},"“":{"docs":{},"停":{"docs":{},"止":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}},"过":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"大":{"docs":{},"小":{"docs":{},"或":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"固":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"去":{"docs":{},"添":{"docs":{},"加":{"docs":{},"帧":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"很":{"docs":{},"好":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"版":{"docs":{},"本":{"docs":{},".":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"变":{"docs":{},"化":{"docs":{},"快":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"变":{"docs":{},"大":{"docs":{},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"要":{"docs":{},"维":{"docs":{},"护":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"两":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"版":{"docs":{},"本":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"时":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"人":{"docs":{},"力":{"docs":{},"成":{"docs":{},"本":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"测":{"docs":{},"试":{"docs":{},"成":{"docs":{},"本":{"docs":{},"都":{"docs":{},"会":{"docs":{},"变":{"docs":{},"大":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},",":{"docs":{},"勾":{"docs":{},"选":{"docs":{},"上":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}},"有":{"docs":{},"个":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"它":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"后":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"等":{"docs":{},"待":{"docs":{},"\"":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"\"":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"时":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"回":{"docs":{},"调":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"当":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"或":{"docs":{},"应":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"的":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"它":{"docs":{},"用":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"以":{"docs":{},"给":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"添":{"docs":{},"加":{"docs":{},"补":{"docs":{},"白":{"docs":{},"。":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"两":{"docs":{},"列":{"docs":{},",":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"比":{"docs":{},"为":{"4":{"docs":{},"的":{"docs":{},"网":{"docs":{},"格":{"docs":{},",":{"docs":{},"它":{"docs":{},"有":{"2":{"0":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"源":{"docs":{},"发":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"在":{"docs":{},"其":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"接":{"docs":{},"口":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"资":{"docs":{},"源":{"docs":{},"默":{"docs":{},"认":{"docs":{},"对":{"docs":{},"应":{"docs":{},"于":{"1":{"docs":{},".":{"0":{"docs":{},"倍":{"docs":{},"的":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}},"轴":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}},"题":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":5.00507614213198}}}},"也":{"docs":{},"许":{"docs":{},"你":{"docs":{},"已":{"docs":{},"经":{"docs":{},"猜":{"docs":{},"到":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"属":{"docs":{},"于":{"docs":{},"这":{"docs":{},"一":{"docs":{},"类":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"没":{"docs":{},"错":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"套":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"并":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"套":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"布":{"docs":{},"局":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},",":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"的":{"docs":{},"思":{"docs":{},"路":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"新":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"这":{"docs":{},"么":{"docs":{},"做":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"它":{"docs":{},"之":{"docs":{},"前":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"代":{"docs":{},"表":{"docs":{},",":{"docs":{},"即":{"docs":{},"大":{"docs":{},"名":{"docs":{},"鼎":{"docs":{},"鼎":{"docs":{},"的":{"docs":{},"q":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"说":{"docs":{},"这":{"docs":{},"和":{"docs":{},"我":{"docs":{},"们":{"docs":{},"刚":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"差":{"docs":{},"不":{"docs":{},"了":{"docs":{},"多":{"docs":{},"少":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"它":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"三":{"docs":{},"个":{"docs":{},"好":{"docs":{},"处":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"docs":{},"次":{"docs":{},"触":{"docs":{},"发":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"传":{"docs":{},"递":{"docs":{},"结":{"docs":{},"果":{"docs":{},"数":{"docs":{},"据":{"docs":{},"或":{"docs":{},"错":{"docs":{},"误":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"是":{"7":{"2":{"docs":{},"p":{"docs":{},"x":{"docs":{},"乘":{"7":{"2":{"docs":{},"p":{"docs":{},"x":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"3":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"2":{"1":{"6":{"docs":{},"p":{"docs":{},"x":{"docs":{},"乘":{"2":{"1":{"6":{"docs":{},"p":{"docs":{},"x":{"docs":{},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"用":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"接":{"docs":{},"收":{"docs":{},"异":{"docs":{},"步":{"docs":{},"事":{"docs":{},"件":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"和":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"具":{"docs":{},"有":{"docs":{},"边":{"docs":{},"距":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},"、":{"docs":{},"填":{"docs":{},"充":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"和":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"其":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"到":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"个":{"docs":{},"头":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"就":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"近":{"docs":{},"几":{"docs":{},"年":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"物":{"docs":{},"联":{"docs":{},"网":{"docs":{},"时":{"docs":{},"代":{"docs":{},"到":{"docs":{},"来":{"docs":{},"、":{"docs":{},"移":{"docs":{},"动":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"高":{"docs":{},"歌":{"docs":{},"猛":{"docs":{},"进":{"docs":{},",":{"docs":{},"日":{"docs":{},"新":{"docs":{},"月":{"docs":{},"异":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"已":{"docs":{},"经":{"docs":{},"不":{"docs":{},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},"日":{"docs":{},"益":{"docs":{},"增":{"docs":{},"长":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"表":{"docs":{},"现":{"docs":{},"在":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"未":{"docs":{},"指":{"docs":{},"定":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"将":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"为":{"7":{"2":{"docs":{},"像":{"docs":{},"素":{"docs":{},"×":{"7":{"2":{"docs":{},"像":{"docs":{},"素":{"docs":{},"(":{"docs":{},"以":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"是":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"对":{"docs":{},"父":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"“":{"docs":{},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"并":{"docs":{},"非":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"去":{"docs":{},"除":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"红":{"docs":{},"色":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"9":{"0":{"docs":{},"×":{"2":{"0":{"docs":{},",":{"docs":{},"但":{"docs":{},"上":{"docs":{},"方":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"8":{"0":{"docs":{},"的":{"docs":{},"空":{"docs":{},"白":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"父":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"1":{"0":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"它":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"最":{"docs":{},"终":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"还":{"docs":{},"是":{"docs":{},"占":{"docs":{},"有":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"是":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"上":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"只":{"docs":{},"受":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"请":{"docs":{},"读":{"docs":{},"者":{"docs":{},"务":{"docs":{},"必":{"docs":{},"注":{"docs":{},"意":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"具":{"docs":{},"有":{"docs":{},"控":{"docs":{},"制":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"数":{"docs":{},"字":{"docs":{},"的":{"docs":{},"产":{"docs":{},"生":{"docs":{},"与":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"有":{"docs":{},"关":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"钟":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"6":{"0":{"docs":{},"个":{"docs":{},"数":{"docs":{},"字":{"docs":{},"(":{"docs":{},"即":{"6":{"0":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"等":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"(":{"docs":{},"如":{"docs":{},"动":{"docs":{},"画":{"docs":{},"结":{"docs":{},"束":{"docs":{},")":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"碰":{"docs":{},"巧":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"插":{"docs":{},"件":{"docs":{},"包":{"docs":{},",":{"docs":{},"其":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"需":{"docs":{},"要":{"docs":{},"访":{"docs":{},"问":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"于":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"为":{"docs":{},"特":{"docs":{},"定":{"docs":{},"于":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"文":{"docs":{},"件":{"docs":{},"添":{"docs":{},"加":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"机":{"docs":{},"制":{"docs":{},"取":{"docs":{},"消":{"docs":{},"或":{"docs":{},"停":{"docs":{},"止":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"而":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"停":{"docs":{},"止":{"docs":{},"的":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"通":{"docs":{},"过":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"才":{"docs":{},"能":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"在":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"中":{"docs":{},",":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},"后":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"框":{"docs":{},"架":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"去":{"docs":{},"计":{"docs":{},"算":{"docs":{},"并":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"会":{"docs":{},"在":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},"建":{"docs":{},"立":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"层":{"docs":{},",":{"docs":{},"即":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},",":{"docs":{},"对":{"docs":{},"数":{"docs":{},"据":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"docs":{},"所":{"docs":{},"做":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"改":{"docs":{},"动":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"自":{"docs":{},"动":{"docs":{},"且":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"到":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"再":{"docs":{},"批":{"docs":{},"量":{"docs":{},"同":{"docs":{},"步":{"docs":{},"到":{"docs":{},"真":{"docs":{},"实":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"每":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"都":{"docs":{},"去":{"docs":{},"操":{"docs":{},"作":{"docs":{},"一":{"docs":{},"下":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"。":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"不":{"docs":{},"能":{"docs":{},"每":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"都":{"docs":{},"直":{"docs":{},"接":{"docs":{},"去":{"docs":{},"操":{"docs":{},"作":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"?":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"引":{"docs":{},"起":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"或":{"docs":{},"回":{"docs":{},"流":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"这":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"作":{"docs":{},"用":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"里":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"设":{"docs":{},"置":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"提":{"docs":{},"供":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"、":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"多":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"非":{"docs":{},"常":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"内":{"docs":{},"部":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"代":{"docs":{},"理":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"认":{"docs":{},"证":{"docs":{},"、":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"等":{"docs":{},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"唯":{"docs":{},"一":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"内":{"docs":{},"容":{"docs":{},"固":{"docs":{},"定":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"弱":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"有":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"只":{"docs":{},"能":{"docs":{},"发":{"docs":{},"版":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"内":{"docs":{},"容":{"docs":{},"需":{"docs":{},"求":{"docs":{},"增":{"docs":{},"大":{"docs":{},";":{"docs":{},"当":{"docs":{},"需":{"docs":{},"求":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"版":{"docs":{},"本":{"docs":{},"升":{"docs":{},"级":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"但":{"docs":{},"应":{"docs":{},"用":{"docs":{},"上":{"docs":{},"架":{"docs":{},"、":{"docs":{},"审":{"docs":{},"核":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"周":{"docs":{},"期":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"高":{"docs":{},"速":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"时":{"docs":{},"代":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"很":{"docs":{},"难":{"docs":{},"接":{"docs":{},"受":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"(":{"docs":{},"不":{"docs":{},"发":{"docs":{},"版":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"新":{"docs":{},"应":{"docs":{},"用":{"docs":{},"内":{"docs":{},"容":{"docs":{},")":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"就":{"docs":{},"变":{"docs":{},"的":{"docs":{},"迫":{"docs":{},"在":{"docs":{},"眉":{"docs":{},"睫":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"较":{"docs":{},"好":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"热":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}},"性":{"docs":{},"不":{"docs":{},"足":{"docs":{},";":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"u":{"docs":{},"i":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"会":{"docs":{},"采":{"docs":{},"用":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"模":{"docs":{},"式":{"docs":{},"编":{"docs":{},"译":{"docs":{},"其":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"应":{"docs":{},"用":{"docs":{},"发":{"docs":{},"布":{"docs":{},"后":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"像":{"docs":{},"h":{"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"r":{"docs":{},"n":{"docs":{},"那":{"docs":{},"些":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"(":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"框":{"docs":{},"架":{"docs":{},"那":{"docs":{},"样":{"docs":{},"动":{"docs":{},"态":{"docs":{},"下":{"docs":{},"发":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":10},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}},"结":{"docs":{},"构":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":10}}}},"过":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"匀":{"docs":{},"速":{"docs":{},"的":{"docs":{},"、":{"docs":{},"加":{"docs":{},"速":{"docs":{},"的":{"docs":{},"或":{"docs":{},"者":{"docs":{},"先":{"docs":{},"加":{"docs":{},"速":{"docs":{},"后":{"docs":{},"减":{"docs":{},"速":{"docs":{},"等":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"曲":{"docs":{},"线":{"docs":{},")":{"docs":{},"来":{"docs":{},"描":{"docs":{},"述":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"非":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}},"在":{"docs":{},"终":{"docs":{},"点":{"docs":{},"停":{"docs":{},"止":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"起":{"docs":{},"始":{"docs":{},"点":{"docs":{},"停":{"docs":{},"止":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}},"基":{"docs":{},"本":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"将":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"有":{"docs":{},"了":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"只":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"布":{"docs":{},"局":{"docs":{},"下":{"docs":{},"性":{"docs":{},"能":{"docs":{},"会":{"docs":{},"提":{"docs":{},"高":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}},"状":{"docs":{},"态":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"待":{"docs":{},"售":{"docs":{},"商":{"docs":{},"品":{"docs":{},"的":{"docs":{},"缩":{"docs":{},"略":{"docs":{},"图":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"条":{"docs":{},"目":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"该":{"docs":{},"商":{"docs":{},"品":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"和":{"docs":{},"“":{"docs":{},"购":{"docs":{},"买":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"是":{"docs":{},"指":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"移":{"docs":{},"动":{"docs":{},"平":{"docs":{},"台":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"或":{"docs":{},"安":{"docs":{},"卓":{"docs":{},")":{"docs":{},"所":{"docs":{},"特":{"docs":{},"有":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"应":{"docs":{},"平":{"docs":{},"台":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"并":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"与":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"根":{"docs":{},"据":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"相":{"docs":{},"比":{"docs":{},"h":{"5":{"docs":{},"提":{"docs":{},"高":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"docs":{}}}}}}}}}},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":10}}}}}}}}}},"可":{"docs":{},"访":{"docs":{},"问":{"docs":{},"平":{"docs":{},"台":{"docs":{},"全":{"docs":{},"部":{"docs":{},"功":{"docs":{},"能":{"docs":{},"(":{"docs":{},"g":{"docs":{},"p":{"docs":{},"s":{"docs":{},"、":{"docs":{},"摄":{"docs":{},"像":{"docs":{},"头":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"和":{"docs":{},"文":{"docs":{},"本":{"docs":{},"混":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"局":{"docs":{},"部":{"docs":{},"主":{"docs":{},"题":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"全":{"docs":{},"局":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"为":{"docs":{},"第":{"docs":{},"二":{"docs":{},"行":{"docs":{},"图":{"docs":{},"标":{"docs":{},"指":{"docs":{},"定":{"docs":{},"固":{"docs":{},"定":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"(":{"docs":{},"黑":{"docs":{},"色":{"docs":{},")":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"技":{"docs":{},"巧":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"会":{"docs":{},"经":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"子":{"docs":{},"树":{"docs":{},"主":{"docs":{},"题":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"局":{"docs":{},"部":{"docs":{},"主":{"docs":{},"题":{"docs":{},"可":{"docs":{},"以":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"全":{"docs":{},"局":{"docs":{},"主":{"docs":{},"题":{"docs":{},"?":{"docs":{},"这":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"样":{"docs":{},"式":{"docs":{},"时":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"代":{"docs":{},"理":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"(":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"docs":{},".":{"2":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},")":{"docs":{},"发":{"docs":{},"送":{"docs":{},"出":{"docs":{},"去":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"感":{"docs":{},"受":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"种":{"docs":{},"在":{"docs":{},"回":{"docs":{},"调":{"docs":{},"里":{"docs":{},"面":{"docs":{},"套":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"读":{"docs":{},"性":{"docs":{},"下":{"docs":{},"降":{"docs":{},"以":{"docs":{},"及":{"docs":{},"出":{"docs":{},"错":{"docs":{},"率":{"docs":{},"提":{"docs":{},"高":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"非":{"docs":{},"常":{"docs":{},"难":{"docs":{},"维":{"docs":{},"护":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"被":{"docs":{},"形":{"docs":{},"象":{"docs":{},"的":{"docs":{},"称":{"docs":{},"为":{"docs":{},"回":{"docs":{},"调":{"docs":{},"地":{"docs":{},"狱":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"将":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"流":{"docs":{},"用":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"表":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"将":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"5":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"却":{"docs":{},"是":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"这":{"docs":{},"正":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"最":{"docs":{},"小":{"docs":{},"高":{"docs":{},"度":{"docs":{},"限":{"docs":{},"制":{"docs":{},"生":{"docs":{},"效":{"docs":{},"了":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"8":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"最":{"docs":{},"终":{"docs":{},"红":{"docs":{},"色":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"也":{"docs":{},"会":{"docs":{},"是":{"8":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"只":{"docs":{},"限":{"docs":{},"制":{"docs":{},"了":{"docs":{},"最":{"docs":{},"小":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"并":{"docs":{},"未":{"docs":{},"限":{"docs":{},"制":{"docs":{},"最":{"docs":{},"大":{"docs":{},"高":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"不":{"docs":{},"优":{"docs":{},"雅":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"页":{"docs":{},"面":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"如":{"docs":{},"表":{"docs":{},"头":{"docs":{},"布":{"docs":{},"局":{"docs":{},"调":{"docs":{},"整":{"docs":{},"导":{"docs":{},"致":{"docs":{},"表":{"docs":{},"头":{"docs":{},"高":{"docs":{},"度":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"就":{"docs":{},"得":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"拉":{"docs":{},"升":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"以":{"docs":{},"填":{"docs":{},"充":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"当":{"docs":{},"然":{"docs":{},"有":{"docs":{},"!":{"docs":{},"答":{"docs":{},"案":{"docs":{},"就":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"。":{"docs":{},"前":{"docs":{},"面":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"自":{"docs":{},"动":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"组":{"docs":{},"件":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"说":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"+":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"弹":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"自":{"docs":{},"己":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"上":{"docs":{},"报":{"docs":{},"到":{"docs":{},"报":{"docs":{},"警":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"话":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"进":{"docs":{},"入":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"看":{"docs":{},"看":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"时":{"docs":{},"首":{"docs":{},"先":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"右":{"docs":{},"边":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"默":{"docs":{},"认":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"行":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"超":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"不":{"docs":{},"会":{"docs":{},"折":{"docs":{},"行":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"超":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"范":{"docs":{},"围":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"折":{"docs":{},"行":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"称":{"docs":{},"为":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"将":{"docs":{},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"换":{"docs":{},"成":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"后":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"则":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"折":{"docs":{},"行":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"会":{"docs":{},"对":{"docs":{},"它":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"占":{"docs":{},"满":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{},"有":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"是":{"docs":{},"堆":{"docs":{},"叠":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"遮":{"docs":{},"住":{"docs":{},"了":{"docs":{},",":{"docs":{},"而":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"在":{"docs":{},"最":{"docs":{},"上":{"docs":{},"层":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"正":{"docs":{},"常":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"控":{"docs":{},"制":{"docs":{},"打":{"docs":{},"洞":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"打":{"docs":{},"洞":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"触":{"docs":{},"发":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"且":{"docs":{},"列":{"docs":{},"表":{"docs":{},"已":{"docs":{},"经":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"手":{"docs":{},"机":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"高":{"docs":{},"度":{"docs":{},"要":{"docs":{},"大":{"docs":{},"于":{"4":{"0":{"0":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"底":{"docs":{},"部":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"空":{"docs":{},"白":{"docs":{},",":{"docs":{},"那":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"列":{"docs":{},"表":{"docs":{},"铺":{"docs":{},"满":{"docs":{},"除":{"docs":{},"过":{"docs":{},"表":{"docs":{},"头":{"docs":{},"以":{"docs":{},"外":{"docs":{},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"空":{"docs":{},"间":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"动":{"docs":{},"态":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"用":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"高":{"docs":{},"度":{"docs":{},"减":{"docs":{},"去":{"docs":{},"状":{"docs":{},"态":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"表":{"docs":{},"头":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"即":{"docs":{},"为":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"前":{"docs":{},"景":{"docs":{},"或":{"docs":{},"背":{"docs":{},"景":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"提":{"docs":{},"供":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"需":{"docs":{},"要":{"docs":{},"继":{"docs":{},"承":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"类":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"等":{"docs":{},"。":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"完":{"docs":{},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},"参":{"docs":{},"考":{"docs":{},"示":{"docs":{},"例":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"字":{"docs":{},"段":{"docs":{},"已":{"docs":{},"自":{"docs":{},"动":{"docs":{},"添":{"docs":{},"加":{"docs":{},",":{"docs":{},"并":{"docs":{},"自":{"docs":{},"动":{"docs":{},"导":{"docs":{},"入":{"docs":{},"了":{"docs":{},"“":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"就":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"确":{"docs":{},"定":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"不":{"docs":{},"能":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"固":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"多":{"docs":{},"种":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"正":{"docs":{},"是":{"docs":{},"组":{"docs":{},"合":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"左":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"已":{"docs":{},"经":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"由":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"等":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"它":{"docs":{},"还":{"docs":{},"并":{"docs":{},"不":{"docs":{},"完":{"docs":{},"整":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"没":{"docs":{},"有":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"不":{"docs":{},"能":{"docs":{},"定":{"docs":{},"义":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"等":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"需":{"docs":{},"要":{"docs":{},"来":{"docs":{},"完":{"docs":{},"善":{"docs":{},"。":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"分":{"docs":{},"两":{"docs":{},"个":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"是":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"部":{"docs":{},"分":{"docs":{},"是":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},"动":{"docs":{},"态":{"docs":{},"来":{"docs":{},"输":{"docs":{},"出":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},"和":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"会":{"docs":{},"有":{"docs":{},"差":{"docs":{},"别":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"补":{"docs":{},"充":{"docs":{},"一":{"docs":{},"些":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"(":{"docs":{},"如":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"值":{"docs":{},"不":{"docs":{},"同":{"docs":{},"时":{"docs":{},"输":{"docs":{},"出":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"提":{"docs":{},"示":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"传":{"docs":{},"入":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{},"即":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"类":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},"以":{"docs":{},"及":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"只":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"都":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"最":{"docs":{},"接":{"docs":{},"近":{"docs":{},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"例":{"docs":{},"(":{"docs":{},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},")":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"使":{"docs":{},"这":{"docs":{},"种":{"docs":{},"映":{"docs":{},"射":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"根":{"docs":{},"据":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"docs":{},"饰":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"设":{"docs":{},"计":{"docs":{},"人":{"docs":{},"员":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"其":{"docs":{},"它":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"如":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"文":{"docs":{},"本":{"docs":{},"一":{"docs":{},"样":{"docs":{},"改":{"docs":{},"变":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"大":{"docs":{},"小":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"“":{"docs":{},"扩":{"docs":{},"伸":{"docs":{},"”":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"就":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"是":{"docs":{},"在":{"docs":{},"容":{"docs":{},"器":{"docs":{},"外":{"docs":{},"部":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"是":{"docs":{},"在":{"docs":{},"容":{"docs":{},"器":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"记":{"docs":{},"住":{"docs":{},"这":{"docs":{},"个":{"docs":{},"差":{"docs":{},"异":{"docs":{},"。":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"和":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"共":{"docs":{},"同":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},"确":{"docs":{},"保":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"大":{"docs":{},"小":{"docs":{},"不":{"docs":{},"要":{"docs":{},"超":{"docs":{},"出":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"最":{"docs":{},"终":{"docs":{},"也":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"和":{"docs":{},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"区":{"docs":{},"别":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"答":{"docs":{},"案":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"和":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},")":{"docs":{},"连":{"docs":{},"接":{"docs":{},"起":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"更":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"你":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"直":{"docs":{},"接":{"docs":{},"设":{"docs":{},"置":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"对":{"docs":{},"整":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"而":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"只":{"docs":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{},"请":{"docs":{},"求":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"现":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"方":{"docs":{},"式":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"送":{"docs":{},"与":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"、":{"docs":{},"两":{"docs":{},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"等":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"储":{"docs":{},"只":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"可":{"docs":{},"以":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"被":{"docs":{},"卸":{"docs":{},"载":{"docs":{},"时":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"才":{"docs":{},"会":{"docs":{},"清":{"docs":{},"除":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"应":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"。":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}},"选":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"视":{"docs":{},"化":{"docs":{},"调":{"docs":{},"试":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"让":{"docs":{},"您":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"带":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"矩":{"docs":{},"形":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/":{"ref":"chapter6/","tf":10}},"s":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":10}}}}},"简":{"docs":{},"介":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}},"见":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"读":{"docs":{},"者":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"它":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},",":{"docs":{},"已":{"docs":{},"有":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"称":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"和":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.014285714285714285},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},"目":{"docs":{},"前":{"docs":{},"是":{"docs":{},"在":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"但":{"docs":{},"将":{"docs":{},"来":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"采":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"两":{"docs":{},"种":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"。":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"和":{"docs":{},"这":{"docs":{},"两":{"docs":{},"层":{"docs":{},"打":{"docs":{},"交":{"docs":{},"道":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"要":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"构":{"docs":{},"建":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"程":{"docs":{},"序":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"功":{"docs":{},"能":{"docs":{},"和":{"docs":{},"用":{"docs":{},"法":{"docs":{},"是":{"docs":{},"一":{"docs":{},"模":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"已":{"docs":{},"经":{"docs":{},"了":{"docs":{},"解":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"本":{"docs":{},"节":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"并":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"管":{"docs":{},"理":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"举":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"它":{"docs":{},"地":{"docs":{},"方":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"稍":{"docs":{},"微":{"docs":{},"有":{"docs":{},"点":{"docs":{},"区":{"docs":{},"别":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"合":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"、":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"值":{"docs":{},"则":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"现":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"注":{"docs":{},"册":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"文":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"时":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"有":{"docs":{},"些":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"永":{"docs":{},"恒":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"—":{"docs":{},"—":{"docs":{},"“":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"”":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"两":{"docs":{},"者":{"docs":{},"都":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},")":{"docs":{},"还":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"和":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"对":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"有":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"本":{"docs":{},"节":{"docs":{},"。":{"docs":{},"言":{"docs":{},"归":{"docs":{},"正":{"docs":{},"传":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"其":{"docs":{},"实":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"和":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"是":{"docs":{},"等":{"docs":{},"价":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"前":{"docs":{},"者":{"docs":{},"常":{"docs":{},"用":{"docs":{},"语":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"=":{"docs":{},"u":{"docs":{},"p":{"8":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"当":{"docs":{},"它":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"被":{"docs":{},"标":{"docs":{},"及":{"docs":{},"为":{"docs":{},"”":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"八":{"docs":{},"个":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"”":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"受":{"docs":{},"到":{"docs":{},"新":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"以":{"docs":{},"上":{"docs":{},"三":{"docs":{},"点":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"读":{"docs":{},"者":{"docs":{},"和":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"未":{"docs":{},"来":{"docs":{},"如":{"docs":{},"何":{"docs":{},",":{"docs":{},"心":{"docs":{},"中":{"docs":{},"自":{"docs":{},"有":{"docs":{},"定":{"docs":{},"论":{"docs":{},"。":{"docs":{},"到":{"docs":{},"现":{"docs":{},"在":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"对":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"有":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"面":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"便":{"docs":{},"要":{"docs":{},"进":{"docs":{},"入":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"你":{"docs":{},"准":{"docs":{},"备":{"docs":{},"好":{"docs":{},"了":{"docs":{},"吗":{"docs":{},"!":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"四":{"docs":{},"点":{"docs":{},",":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"q":{"docs":{},"t":{"docs":{},"是":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"的":{"docs":{},"先":{"docs":{},"驱":{"docs":{},",":{"docs":{},"但":{"docs":{},"却":{"docs":{},"成":{"docs":{},"为":{"docs":{},"了":{"docs":{},"烈":{"docs":{},"士":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"的":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"发":{"docs":{},"周":{"docs":{},"期":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"采":{"docs":{},"用":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"每":{"docs":{},"次":{"docs":{},"改":{"docs":{},"动":{"docs":{},"都":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"节":{"docs":{},"省":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},";":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/":{"ref":"chapter3/","tf":10.1},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"大":{"docs":{},"会":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"它":{"docs":{},"容":{"docs":{},"器":{"docs":{},"时":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"了":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"但":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"都":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"有":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"(":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"以":{"docs":{},"及":{"docs":{},"底":{"docs":{},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"导":{"docs":{},"航":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"等":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"自":{"docs":{},"己":{"docs":{},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"非":{"docs":{},"常":{"docs":{},"无":{"docs":{},"聊":{"docs":{},"的":{"docs":{},"事":{"docs":{},"。":{"docs":{},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"过":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"为":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"但":{"docs":{},"根":{"docs":{},"据":{"docs":{},"低":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"为":{"docs":{},"入":{"docs":{},"口":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"类":{"docs":{},"和":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"进":{"docs":{},"行":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"也":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}},"将":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"原":{"docs":{},"生":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"终":{"docs":{},"端":{"docs":{},"会":{"docs":{},"话":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"解":{"docs":{},"决":{"docs":{},"办":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"修":{"docs":{},"改":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"能":{"docs":{},"再":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{},"解":{"docs":{},"压":{"docs":{},"到":{"docs":{},"你":{"docs":{},"想":{"docs":{},"安":{"docs":{},"装":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},"顶":{"docs":{},"路":{"docs":{},"由":{"docs":{},"出":{"docs":{},"栈":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"为":{"docs":{},"页":{"docs":{},"面":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"时":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"即":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},")":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"及":{"docs":{},"关":{"docs":{},"闭":{"docs":{},")":{"docs":{},"时":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"docs":{},"版":{"docs":{},"本":{"docs":{},")":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}},"其":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"并":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"每":{"docs":{},"种":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"密":{"docs":{},"度":{"docs":{},"(":{"docs":{},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},")":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"图":{"docs":{},"标":{"docs":{},"大":{"docs":{},"小":{"docs":{},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"2":{"docs":{},".":{"7":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"率":{"docs":{},",":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"3":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"将":{"docs":{},"被":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"非":{"docs":{},"线":{"docs":{},"性":{"docs":{},"曲":{"docs":{},"线":{"docs":{},".":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"以":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"类":{"docs":{},"型":{"docs":{},"写":{"docs":{},"到":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"转":{"docs":{},"为":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"它":{"docs":{},"没":{"docs":{},"有":{"docs":{},"外":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"或":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"小":{"docs":{},"项":{"docs":{},"目":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{},"但":{"docs":{},"当":{"docs":{},"项":{"docs":{},"目":{"docs":{},"变":{"docs":{},"大":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"手":{"docs":{},"动":{"docs":{},"编":{"docs":{},"写":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"可":{"docs":{},"能":{"docs":{},"变":{"docs":{},"得":{"docs":{},"难":{"docs":{},"以":{"docs":{},"管":{"docs":{},"理":{"docs":{},"且":{"docs":{},"容":{"docs":{},"易":{"docs":{},"出":{"docs":{},"错":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"运":{"docs":{},"行":{"docs":{},"生":{"docs":{},"成":{"docs":{},"命":{"docs":{},"令":{"docs":{},"后":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"底":{"docs":{},"部":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"比":{"docs":{},"特":{"docs":{},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/":{"ref":"chapter4/","tf":10},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}},"s":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":10}}}}},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},")":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"接":{"docs":{},"收":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"继":{"docs":{},"承":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"排":{"docs":{},"版":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},"方":{"docs":{},"式":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"说":{"docs":{},"过":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"才":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"树":{"docs":{},",":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"分":{"docs":{},"为":{"docs":{},"了":{"docs":{},"三":{"docs":{},"类":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"对":{"docs":{},"应":{"docs":{},"三":{"docs":{},"种":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"表":{"docs":{},":":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"组":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"(":{"docs":{},"或":{"docs":{},"包":{"docs":{},"含":{"docs":{},")":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"排":{"docs":{},"列":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"对":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"排":{"docs":{},"列":{"docs":{},";":{"docs":{},"而":{"docs":{},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"一":{"docs":{},"般":{"docs":{},"只":{"docs":{},"是":{"docs":{},"包":{"docs":{},"装":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"对":{"docs":{},"其":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"些":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"(":{"docs":{},"补":{"docs":{},"白":{"docs":{},"或":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"等":{"docs":{},")":{"docs":{},"、":{"docs":{},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"或":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"等":{"docs":{},")":{"docs":{},"、":{"docs":{},"或":{"docs":{},"限":{"docs":{},"制":{"docs":{},"(":{"docs":{},"大":{"docs":{},"小":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"限":{"docs":{},"制":{"docs":{},"类":{"docs":{},"容":{"docs":{},"器":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"高":{"docs":{},";":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"必":{"docs":{},"须":{"docs":{},"维":{"docs":{},"护":{"docs":{},"不":{"docs":{},"同":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"人":{"docs":{},"力":{"docs":{},"成":{"docs":{},"本":{"docs":{},"随":{"docs":{},"之":{"docs":{},"变":{"docs":{},"大":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"、":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"版":{"docs":{},"本":{"docs":{},"等":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"之":{"docs":{},"一":{"docs":{},"(":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"它":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"或":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"讨":{"docs":{},"论":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"道":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"使":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"消":{"docs":{},"息":{"docs":{},"编":{"docs":{},"/":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"与":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"平":{"docs":{},"台":{"docs":{},"之":{"docs":{},"间":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"有":{"docs":{},"所":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"出":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"消":{"docs":{},"息":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"移":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}},"年":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},";":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"可":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"快":{"docs":{},"速":{"docs":{},"地":{"docs":{},"进":{"docs":{},"行":{"docs":{},"测":{"docs":{},"试":{"docs":{},"、":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"、":{"docs":{},"添":{"docs":{},"加":{"docs":{},"功":{"docs":{},"能":{"docs":{},"并":{"docs":{},"更":{"docs":{},"快":{"docs":{},"地":{"docs":{},"修":{"docs":{},"复":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"或":{"docs":{},"真":{"docs":{},"机":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"级":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"这":{"docs":{},"真":{"docs":{},"的":{"docs":{},"很":{"docs":{},"棒":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"我":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"是":{"docs":{},"一":{"docs":{},"名":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"体":{"docs":{},"验":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"流":{"docs":{},"后":{"docs":{},",":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"不":{"docs":{},"想":{"docs":{},"重":{"docs":{},"新":{"docs":{},"回":{"docs":{},"去":{"docs":{},"做":{"docs":{},"原":{"docs":{},"生":{"docs":{},"了":{"docs":{},",":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"很":{"docs":{},"少":{"docs":{},"有":{"docs":{},"人":{"docs":{},"不":{"docs":{},"吐":{"docs":{},"槽":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"者":{"docs":{},"只":{"docs":{},"需":{"docs":{},"关":{"docs":{},"注":{"docs":{},"状":{"docs":{},"态":{"docs":{},"转":{"docs":{},"移":{"docs":{},"(":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"框":{"docs":{},"架":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"根":{"docs":{},"据":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"需":{"docs":{},"求":{"docs":{},"来":{"docs":{},"定":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"人":{"docs":{},"员":{"docs":{},"选":{"docs":{},"项":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"只":{"docs":{},"会":{"docs":{},"关":{"docs":{},"心":{"docs":{},"该":{"docs":{},"框":{"docs":{},"是":{"docs":{},"否":{"docs":{},"处":{"docs":{},"于":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"在":{"docs":{},"乎":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"显":{"docs":{},"示":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"应":{"docs":{},"该":{"docs":{},"让":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"内":{"docs":{},"部":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"些":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.2},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":10}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}},"头":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"始":{"docs":{},"时":{"docs":{},"高":{"docs":{},"度":{"docs":{},"从":{"0":{"docs":{},"增":{"docs":{},"长":{"docs":{},"到":{"3":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"由":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},";":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"占":{"docs":{},"据":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"6":{"0":{"docs":{},"%":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}}}}},"一":{"docs":{},"直":{"docs":{},"向":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"找":{"docs":{},"到":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"是":{"docs":{},"华":{"docs":{},"为":{"docs":{},"、":{"docs":{},"小":{"docs":{},"米":{"docs":{},"、":{"docs":{},"o":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"、":{"docs":{},"魅":{"docs":{},"族":{"docs":{},"等":{"docs":{},"国":{"docs":{},"内":{"9":{"docs":{},"大":{"docs":{},"主":{"docs":{},"流":{"docs":{},"手":{"docs":{},"机":{"docs":{},"厂":{"docs":{},"商":{"docs":{},"共":{"docs":{},"同":{"docs":{},"制":{"docs":{},"定":{"docs":{},"的":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},",":{"docs":{},"目":{"docs":{},"标":{"docs":{},"直":{"docs":{},"指":{"docs":{},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"与":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"自":{"docs":{},"身":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"或":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"采":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"其":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"和":{"docs":{},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},"很":{"docs":{},"像":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},"目":{"docs":{},"前":{"docs":{},"已":{"docs":{},"经":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"语":{"docs":{},"法":{"docs":{},"开":{"docs":{},"发":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"原":{"docs":{},"理":{"docs":{},"上":{"docs":{},"来":{"docs":{},"讲":{"docs":{},",":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"语":{"docs":{},"法":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"移":{"docs":{},"植":{"docs":{},"到":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"速":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}},"思":{"docs":{},"考":{"docs":{},"题":{"docs":{},":":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"操":{"docs":{},"作":{"docs":{},"和":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"批":{"docs":{},"量":{"docs":{},"更":{"docs":{},"新":{"docs":{},"难":{"docs":{},"道":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"职":{"docs":{},"责":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"去":{"docs":{},"做":{"docs":{},"合":{"docs":{},"不":{"docs":{},"合":{"docs":{},"适":{"docs":{},"?":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"既":{"docs":{},"然":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"多":{"docs":{},"次":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"那":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"?":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"后":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"为":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"下":{"docs":{},"滑":{"docs":{},"线":{"docs":{},"也":{"docs":{},"变":{"docs":{},"色":{"docs":{},"呢":{"docs":{},"?":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"多":{"docs":{},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"策":{"docs":{},"略":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"不":{"docs":{},"定":{"docs":{},"义":{"docs":{},"成":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"而":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"成":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"高":{"docs":{},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"性":{"docs":{},"能":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"接":{"docs":{},"近":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},";":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"以":{"docs":{},"及":{"docs":{},"位":{"docs":{},"置":{"docs":{},"调":{"docs":{},"整":{"docs":{},"非":{"docs":{},"常":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"用":{"docs":{},"转":{"docs":{},"换":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.03125},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"主":{"docs":{},"要":{"docs":{},"面":{"docs":{},"临":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"和":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"而":{"docs":{},"针":{"docs":{},"对":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"诞":{"docs":{},"生":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}},"技":{"docs":{},"术":{"docs":{},"支":{"docs":{},"持":{"docs":{},";":{"docs":{},"现":{"docs":{},"在":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"正":{"docs":{},"在":{"docs":{},"大":{"docs":{},"力":{"docs":{},"推":{"docs":{},"广":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"作":{"docs":{},"者":{"docs":{},"中":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"都":{"docs":{},"是":{"docs":{},"来":{"docs":{},"自":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"度":{"docs":{},"很":{"docs":{},"高":{"docs":{},"。":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"角":{"docs":{},"度":{"docs":{},",":{"docs":{},"从":{"docs":{},"今":{"docs":{},"年":{"docs":{},"上":{"docs":{},"半":{"docs":{},"年":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"发":{"docs":{},"布":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"投":{"docs":{},"入":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"不":{"docs":{},"小":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"官":{"docs":{},"方":{"docs":{},"技":{"docs":{},"术":{"docs":{},"支":{"docs":{},"持":{"docs":{},"这":{"docs":{},"方":{"docs":{},"面":{"docs":{},",":{"docs":{},"大":{"docs":{},"可":{"docs":{},"不":{"docs":{},"必":{"docs":{},"担":{"docs":{},"心":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"排":{"docs":{},"行":{"docs":{},"榜":{"docs":{},"前":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"文":{"docs":{},"档":{"docs":{},"对":{"docs":{},"象":{"docs":{},"模":{"docs":{},"型":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"件":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"该":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":10.005681818181818}},"与":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter10/":{"ref":"chapter10/","tf":10}}}}}}}}},"夹":{"docs":{},":":{"docs":{},"包":{"docs":{},"括":{"docs":{},"包":{"docs":{},"中":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},"(":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"最":{"docs":{},"少":{"docs":{},"应":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"、":{"docs":{},"字":{"docs":{},"体":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/text.html":{"ref":"chapter3/text.html","tf":10}}}}}}},"及":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"映":{"docs":{},"射":{"docs":{},"为":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},",":{"docs":{},"作":{"docs":{},"用":{"docs":{},"和":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"都":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"解":{"docs":{},"释":{"docs":{},"器":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"构":{"docs":{},"建":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"获":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"必":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"式":{"docs":{},"创":{"docs":{},"建":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"学":{"docs":{},"习":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"芯":{"docs":{},"片":{"docs":{},"系":{"docs":{},"列":{"docs":{},",":{"docs":{},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"否":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"代":{"docs":{},"理":{"docs":{},"。":{"docs":{},"删":{"docs":{},"除":{"docs":{},"后":{"docs":{},"问":{"docs":{},"题":{"docs":{},"即":{"docs":{},"可":{"docs":{},"解":{"docs":{},"决":{"docs":{},"。":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"完":{"docs":{},"全":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"好":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"。":{"docs":{},"在":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"多":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"在":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"负":{"docs":{},"责":{"docs":{},"将":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"所":{"docs":{},"有":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"根":{"docs":{},"基":{"docs":{},"类":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"是":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"任":{"docs":{},"何":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"表":{"docs":{},"现":{"docs":{},"效":{"docs":{},"果":{"docs":{},"和":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"相":{"docs":{},"似":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}},"页":{"docs":{},"面":{"docs":{},"脚":{"docs":{},"手":{"docs":{},"架":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"和":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"以":{"docs":{},"及":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"话":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"与":{"docs":{},"平":{"docs":{},"台":{"docs":{},"页":{"docs":{},"面":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},"风":{"docs":{},"格":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"是":{"docs":{},"有":{"docs":{},"质":{"docs":{},"感":{"docs":{},"了":{"docs":{},"!":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"这":{"docs":{},"样":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"阴":{"docs":{},"影":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"布":{"docs":{},"局":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"到":{"docs":{},"了":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"每":{"docs":{},"次":{"docs":{},"单":{"docs":{},"击":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"或":{"docs":{},"保":{"docs":{},"存":{"docs":{},"项":{"docs":{},"目":{"docs":{},"时":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"随":{"docs":{},"机":{"docs":{},"选":{"docs":{},"择":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"单":{"docs":{},"词":{"docs":{},"对":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"与":{"docs":{},"在":{"docs":{},"本":{"docs":{},"机":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"或":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"页":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"上":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"多":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"属":{"docs":{},"性":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"代":{"docs":{},"表":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"举":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"越":{"docs":{},"界":{"docs":{},"或":{"docs":{},"不":{"docs":{},"合":{"docs":{},"规":{"docs":{},"范":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"错":{"docs":{},"误":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"此":{"docs":{},"处":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"张":{"docs":{},"插":{"docs":{},"图":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"能":{"docs":{},"暂":{"docs":{},"时":{"docs":{},"针":{"docs":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"设":{"docs":{},"置":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"要":{"docs":{},"想":{"docs":{},"永":{"docs":{},"久":{"docs":{},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"中":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"下":{"docs":{},"面":{"docs":{},"更":{"docs":{},"新":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"镜":{"docs":{},"像":{"docs":{},"为":{"docs":{},"临":{"docs":{},"时":{"docs":{},"镜":{"docs":{},"像":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"一":{"docs":{},"直":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"中":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"包":{"docs":{},"含":{"docs":{},"两":{"docs":{},"个":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"导":{"docs":{},"入":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"只":{"docs":{},"展":{"docs":{},"示":{"docs":{},"了":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"基":{"docs":{},"本":{"docs":{},"都":{"docs":{},"是":{"docs":{},"自":{"docs":{},"解":{"docs":{},"释":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"只":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"移":{"docs":{},"动":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},"或":{"docs":{},"垂":{"docs":{},"直":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},"首":{"docs":{},"次":{"docs":{},"移":{"docs":{},"动":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"例":{"docs":{},"中":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"“":{"docs":{},"获":{"docs":{},"胜":{"docs":{},"”":{"docs":{},"条":{"docs":{},"件":{"docs":{},"是":{"docs":{},":":{"docs":{},"首":{"docs":{},"次":{"docs":{},"移":{"docs":{},"动":{"docs":{},"时":{"docs":{},"的":{"docs":{},"位":{"docs":{},"移":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"的":{"docs":{},"分":{"docs":{},"量":{"docs":{},"大":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"获":{"docs":{},"胜":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"、":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"和":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"由":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"docs":{},"h":{"5":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{},",":{"docs":{},"社":{"docs":{},"区":{"docs":{},"及":{"docs":{},"资":{"docs":{},"源":{"docs":{},"丰":{"docs":{},"富":{"docs":{},",":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"是":{"docs":{},"性":{"docs":{},"能":{"docs":{},"不":{"docs":{},"好":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"或":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"不":{"docs":{},"堪":{"docs":{},"重":{"docs":{},"任":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"点":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"管":{"docs":{},"理":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"(":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"在":{"docs":{},"有":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"如":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"因":{"docs":{},"为":{"docs":{},"通":{"docs":{},"信":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"导":{"docs":{},"致":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"灵":{"docs":{},"活":{"docs":{},"、":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"易":{"docs":{},"维":{"docs":{},"护":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"保":{"docs":{},"真":{"docs":{},"度":{"docs":{},"和":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"高":{"docs":{},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"根":{"docs":{},"据":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"单":{"docs":{},"独":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"套":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"代":{"docs":{},"码":{"docs":{},"容":{"docs":{},"易":{"docs":{},"维":{"docs":{},"护":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"、":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"组":{"docs":{},"件":{"docs":{},"显":{"docs":{},"示":{"docs":{},"外":{"docs":{},"观":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},"高":{"docs":{},"保":{"docs":{},"真":{"docs":{},"和":{"docs":{},"高":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},";":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"受":{"docs":{},"原":{"docs":{},"生":{"docs":{},"布":{"docs":{},"局":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"布":{"docs":{},"局":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"计":{"docs":{},"算":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"布":{"docs":{},"局":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"以":{"docs":{},"供":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"就":{"docs":{},"成":{"docs":{},"为":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"传":{"docs":{},"递":{"docs":{},"调":{"docs":{},"用":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"而":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"必":{"docs":{},"须":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"规":{"docs":{},"定":{"docs":{},"了":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},"与":{"docs":{},"含":{"docs":{},"义":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"并":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"某":{"docs":{},"种":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"输":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"回":{"docs":{},"车":{"docs":{},"键":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}},",":{"docs":{},"转":{"docs":{},"到":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"声":{"docs":{},"明":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"类":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"位":{"docs":{},"于":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"只":{"docs":{},"需":{"docs":{},"包":{"docs":{},"含":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"像":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"你":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"⚡":{"docs":{},"️":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"日":{"docs":{},"志":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"出":{"docs":{},"现":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"常":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"用":{"docs":{},"作":{"docs":{},"其":{"docs":{},"子":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"调":{"docs":{},"用":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"授":{"docs":{},"予":{"docs":{},"执":{"docs":{},"行":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"号":{"docs":{},"可":{"docs":{},"能":{"docs":{},"随":{"docs":{},"着":{"docs":{},"时":{"docs":{},"间":{"docs":{},"推":{"docs":{},"移":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"头":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},"无":{"docs":{},"非":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"中":{"docs":{},"预":{"docs":{},"先":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"供":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"让":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"有":{"docs":{},"访":{"docs":{},"问":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"我":{"docs":{},"相":{"docs":{},"信":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"答":{"docs":{},"之":{"docs":{},"前":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"中":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"和":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"将":{"docs":{},"整":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"串":{"docs":{},"起":{"docs":{},"来":{"docs":{},":":{"docs":{},"当":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"在":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"自":{"docs":{},"增":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"(":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"以":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"点":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"决":{"docs":{},"定":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"响":{"docs":{},"应":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},",":{"docs":{},"有":{"docs":{},"三":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"点":{"docs":{},"击":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"还":{"docs":{},"是":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"左":{"docs":{},"右":{"docs":{},"滑":{"docs":{},"动":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"面":{"docs":{},"都":{"docs":{},"会":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"面":{"docs":{},"始":{"docs":{},"终":{"docs":{},"保":{"docs":{},"持":{"docs":{},"同":{"docs":{},"步":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"!":{"docs":{},"正":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"切":{"docs":{},"换":{"docs":{},"和":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"状":{"docs":{},"态":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"移":{"docs":{},"到":{"docs":{},"了":{"docs":{},"模":{"docs":{},"型":{"docs":{},"本":{"docs":{},"身":{"docs":{},"内":{"docs":{},"部":{"docs":{},"。":{"docs":{},"采":{"docs":{},"用":{"docs":{},"这":{"docs":{},"种":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"地":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"选":{"docs":{},"择":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"?":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"根":{"docs":{},"据":{"docs":{},"官":{"docs":{},"方":{"docs":{},"解":{"docs":{},"释":{"docs":{},"以":{"docs":{},"及":{"docs":{},"自":{"docs":{},"己":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"总":{"docs":{},"结":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"条":{"docs":{},"(":{"docs":{},"由":{"docs":{},"于":{"docs":{},"其":{"docs":{},"它":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"都":{"docs":{},"将":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"主":{"docs":{},"要":{"docs":{},"将":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"比":{"docs":{},")":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"线":{"docs":{},"程":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"住":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"“":{"docs":{},"a":{"docs":{},"”":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"然":{"docs":{},"后":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"日":{"docs":{},"志":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"给":{"docs":{},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"或":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"同":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"语":{"docs":{},"法":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"复":{"docs":{},"数":{"docs":{},"语":{"docs":{},"境":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"电":{"docs":{},"子":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"列":{"docs":{},"表":{"docs":{},"页":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"显":{"docs":{},"示":{"docs":{},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"在":{"docs":{},"未":{"docs":{},"读":{"docs":{},"数":{"docs":{},"量":{"docs":{},"不":{"docs":{},"同":{"docs":{},"事":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"包":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"提":{"docs":{},"取":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"名":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"上":{"docs":{},"双":{"docs":{},"指":{"docs":{},"张":{"docs":{},"开":{"docs":{},"、":{"docs":{},"收":{"docs":{},"缩":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"大":{"docs":{},"、":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"双":{"docs":{},"击":{"docs":{},"放":{"docs":{},"大":{"docs":{},"或":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"一":{"docs":{},"定":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"、":{"docs":{},"双":{"docs":{},"指":{"docs":{},"张":{"docs":{},"开":{"docs":{},"离":{"docs":{},"开":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"减":{"docs":{},"速":{"docs":{},"放":{"docs":{},"大":{"docs":{},"动":{"docs":{},"画":{"docs":{},"等":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"动":{"docs":{},"画":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"布":{"docs":{},"有":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"最":{"docs":{},"后":{"docs":{},"还":{"docs":{},"缺":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"。":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"属":{"docs":{},"性":{"docs":{},"如":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"、":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"样":{"docs":{},"式":{"docs":{},"等":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"中":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"电":{"docs":{},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"电":{"docs":{},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"的":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"访":{"docs":{},"问":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"创":{"docs":{},"建":{"docs":{},"它":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"读":{"docs":{},"者":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"态":{"docs":{},"系":{"docs":{},"统":{"docs":{},"得":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"增":{"docs":{},"长":{"docs":{},",":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"见":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"中":{"docs":{},"受":{"docs":{},"到":{"docs":{},"了":{"docs":{},"热":{"docs":{},"烈":{"docs":{},"的":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},",":{"docs":{},"其":{"docs":{},"未":{"docs":{},"来":{"docs":{},"发":{"docs":{},"展":{"docs":{},"值":{"docs":{},"得":{"docs":{},"期":{"docs":{},"待":{"docs":{},"!":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"从":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"用":{"docs":{},"户":{"docs":{},"正":{"docs":{},"在":{"docs":{},"高":{"docs":{},"速":{"docs":{},"增":{"docs":{},"长":{"docs":{},"。":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"上":{"docs":{},"提":{"docs":{},"问":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"社":{"docs":{},"区":{"docs":{},"现":{"docs":{},"在":{"docs":{},"已":{"docs":{},"经":{"docs":{},"很":{"docs":{},"庞":{"docs":{},"大":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"、":{"docs":{},"资":{"docs":{},"源":{"docs":{},"也":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"丰":{"docs":{},"富":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"其":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"随":{"docs":{},"机":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}},"文":{"docs":{},"档":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"由":{"docs":{},"于":{"docs":{},"r":{"docs":{},"n":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"原":{"docs":{},"理":{"docs":{},"相":{"docs":{},"通":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"是":{"docs":{},"受":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"启":{"docs":{},"发":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"思":{"docs":{},"想":{"docs":{},"也":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"通":{"docs":{},"的":{"docs":{},",":{"docs":{},"万":{"docs":{},"丈":{"docs":{},"高":{"docs":{},"楼":{"docs":{},"平":{"docs":{},"地":{"docs":{},"起":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"两":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"与":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"是":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"旋":{"docs":{},"转":{"9":{"0":{"docs":{},"度":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"只":{"docs":{},"是":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},")":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"会":{"docs":{},"作":{"docs":{},"用":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"是":{"docs":{},"上":{"docs":{},"图":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"和":{"docs":{},"前":{"docs":{},"面":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"示":{"docs":{},"例":{"docs":{},"对":{"docs":{},"比":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"单":{"docs":{},"独":{"docs":{},"维":{"docs":{},"护":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"当":{"docs":{},"系":{"docs":{},"统":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{},"社":{"docs":{},"区":{"docs":{},"控":{"docs":{},"件":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"滞":{"docs":{},"后":{"docs":{},";":{"docs":{},"除":{"docs":{},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"其":{"docs":{},"控":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"也":{"docs":{},"会":{"docs":{},"受":{"docs":{},"到":{"docs":{},"原":{"docs":{},"生":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"消":{"docs":{},"歧":{"docs":{},"规":{"docs":{},"则":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"人":{"docs":{},"写":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"时":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"问":{"docs":{},"题":{"docs":{},"将":{"docs":{},"会":{"docs":{},"变":{"docs":{},"得":{"docs":{},"非":{"docs":{},"常":{"docs":{},"棘":{"docs":{},"手":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"是":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"测":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"前":{"docs":{},"发":{"docs":{},"现":{"docs":{},"一":{"docs":{},"些":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"并":{"docs":{},"排":{"docs":{},"除":{"docs":{},"潜":{"docs":{},"在":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"对":{"docs":{},"于":{"docs":{},"前":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"更":{"docs":{},"具":{"docs":{},"有":{"docs":{},"吸":{"docs":{},"引":{"docs":{},"力":{"docs":{},"。":{"docs":{},"与":{"docs":{},"之":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"也":{"docs":{},"因":{"docs":{},"此":{"docs":{},"前":{"docs":{},"端":{"docs":{},"社":{"docs":{},"区":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"给":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"添":{"docs":{},"加":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"测":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"微":{"docs":{},"软":{"docs":{},"的":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"以":{"docs":{},"及":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"。":{"docs":{},"相":{"docs":{},"比":{"docs":{},"之":{"docs":{},"下":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"支":{"docs":{},"持":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"它":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"优":{"docs":{},"势":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"同":{"docs":{},"时":{"docs":{},"构":{"docs":{},"建":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"两":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"同":{"docs":{},"时":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"国":{"docs":{},"内":{"docs":{},"访":{"docs":{},"问":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"受":{"docs":{},"到":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"为":{"docs":{},"中":{"docs":{},"国":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"了":{"docs":{},"临":{"docs":{},"时":{"docs":{},"镜":{"docs":{},"像":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"如":{"docs":{},"下":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"加":{"docs":{},"入":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"功":{"docs":{},"能":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"及":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{},"还":{"docs":{},"有":{"docs":{},",":{"docs":{},"请":{"docs":{},"记":{"docs":{},"住":{"docs":{},",":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"应":{"docs":{},"用":{"docs":{},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"放":{"docs":{},"大":{"docs":{},")":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"会":{"docs":{},"放":{"docs":{},"大":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"依":{"docs":{},"然":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"会":{"docs":{},"紧":{"docs":{},"挨":{"docs":{},"着":{"docs":{},"红":{"docs":{},"色":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"就":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"文":{"docs":{},"字":{"docs":{},"有":{"docs":{},"重":{"docs":{},"合":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"化":{"docs":{},"只":{"docs":{},"会":{"docs":{},"作":{"docs":{},"用":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"需":{"docs":{},"要":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"化":{"docs":{},"来":{"docs":{},"达":{"docs":{},"到":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"上":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"重":{"docs":{},"新":{"docs":{},"触":{"docs":{},"发":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"节":{"docs":{},"省":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"性":{"docs":{},"能":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"好":{"docs":{},"。":{"docs":{},"如":{"docs":{},"之":{"docs":{},"前":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"要":{"docs":{},"保":{"docs":{},"持":{"docs":{},"全":{"docs":{},"局":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"存":{"docs":{},"储":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"当":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"第":{"2":{"0":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"后":{"docs":{},",":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"会":{"docs":{},"在":{"docs":{},"返":{"docs":{},"回":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{},"是":{"2":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"是":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"动":{"docs":{},"画":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}}}}}},"手":{"docs":{},"势":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"最":{"docs":{},"终":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"者":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"左":{"docs":{},"右":{"docs":{},"拖":{"docs":{},"动":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"想":{"docs":{},"检":{"docs":{},"测":{"docs":{},"在":{"docs":{},"它":{"docs":{},"上":{"docs":{},"面":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"和":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"仅":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"直":{"docs":{},"到":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"值":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"图":{"docs":{},"形":{"docs":{},"计":{"docs":{},"算":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"的":{"docs":{},"指":{"docs":{},"令":{"docs":{},"通":{"docs":{},"常":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"常":{"docs":{},"不":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"面":{"docs":{},"对":{"docs":{},"硬":{"docs":{},"件":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"底":{"docs":{},"层":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"封":{"docs":{},"装":{"docs":{},"后":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"供":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"上":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"对":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"和":{"docs":{},"低":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"往":{"docs":{},"往":{"docs":{},"比":{"docs":{},"较":{"docs":{},"基":{"docs":{},"础":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"需":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{},"正":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"所":{"docs":{},"有":{"docs":{},"用":{"docs":{},"于":{"docs":{},"开":{"docs":{},"发":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"上":{"docs":{},"再":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"将":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"封":{"docs":{},"装":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"编":{"docs":{},"程":{"docs":{},"框":{"docs":{},"架":{"docs":{},"和":{"docs":{},"模":{"docs":{},"型":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"种":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"规":{"docs":{},"则":{"docs":{},"来":{"docs":{},"开":{"docs":{},"发":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"所":{"docs":{},"说":{"docs":{},"的":{"docs":{},"“":{"docs":{},"u":{"docs":{},"i":{"docs":{},"”":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"如":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"必":{"docs":{},"要":{"docs":{},"基":{"docs":{},"础":{"docs":{},"。":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{},"作":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"值":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"请":{"docs":{},"检":{"docs":{},"查":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"进":{"docs":{},"行":{"docs":{},"链":{"docs":{},"式":{"docs":{},"调":{"docs":{},"用":{"docs":{},"”":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"存":{"docs":{},"档":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"读":{"docs":{},"取":{"docs":{},"它":{"docs":{},"们":{"docs":{},"(":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"修":{"docs":{},"改":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"私":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"例":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"“":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"”":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"职":{"docs":{},"责":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"语":{"docs":{},"言":{"docs":{},"载":{"docs":{},"体":{"docs":{},"和":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"不":{"docs":{},"同":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"可":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"种":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"上":{"docs":{},"接":{"docs":{},"口":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"对":{"docs":{},"下":{"docs":{},"适":{"docs":{},"配":{"docs":{},"不":{"docs":{},"同":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"打":{"docs":{},"包":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},"代":{"docs":{},"码":{"docs":{},"?":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"编":{"docs":{},"写":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"了":{"docs":{},"。":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"正":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"来":{"docs":{},"看":{"docs":{},"它":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"比":{"docs":{},"较":{"docs":{},"明":{"docs":{},"显":{"docs":{},"了":{"docs":{},",":{"docs":{},"意":{"docs":{},"思":{"docs":{},"就":{"docs":{},"是":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"被":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"到":{"docs":{},"它":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"了":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"布":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},"概":{"docs":{},"念":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"反":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"对":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"而":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"及":{"docs":{},"高":{"docs":{},"昂":{"docs":{},"的":{"docs":{},"维":{"docs":{},"护":{"docs":{},"成":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"似":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"确":{"docs":{},"定":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"边":{"docs":{},"界":{"docs":{},"的":{"docs":{},",":{"docs":{},"与":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"获":{"docs":{},"取":{"docs":{},"手":{"docs":{},"机":{"docs":{},"型":{"docs":{},"号":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}},"五":{"docs":{},"子":{"docs":{},"棋":{"docs":{},"/":{"docs":{},"盘":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"占":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"比":{"docs":{},"例":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"它":{"docs":{},"只":{"docs":{},"是":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},":":{"docs":{},"q":{"docs":{},"t":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"社":{"docs":{},"区":{"docs":{},"太":{"docs":{},"小":{"docs":{},",":{"docs":{},"学":{"docs":{},"习":{"docs":{},"资":{"docs":{},"料":{"docs":{},"不":{"docs":{},"足":{"docs":{},",":{"docs":{},"生":{"docs":{},"态":{"docs":{},"不":{"docs":{},"好":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"(":{"docs":{},"如":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter2/":{"ref":"chapter2/","tf":10}}}}}}}}}}}},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"举":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"重":{"docs":{},"点":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"举":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"必":{"docs":{},"要":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"三":{"docs":{},":":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"发":{"docs":{},"力":{"docs":{},"较":{"docs":{},"晚":{"docs":{},",":{"docs":{},"市":{"docs":{},"场":{"docs":{},"已":{"docs":{},"被":{"docs":{},"其":{"docs":{},"它":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"框":{"docs":{},"架":{"docs":{},"占":{"docs":{},"领":{"docs":{},"(":{"docs":{},"h":{"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"r":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},":":{"docs":{},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}},"二":{"docs":{},":":{"docs":{},"官":{"docs":{},"方":{"docs":{},"推":{"docs":{},"广":{"docs":{},"不":{"docs":{},"利":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"不":{"docs":{},"够":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},"层":{"docs":{},"为":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"描":{"docs":{},"述":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"移":{"docs":{},"动":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"动":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"、":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"等":{"docs":{},"。":{"docs":{},"本":{"docs":{},"章":{"docs":{},"将":{"docs":{},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"再":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"四":{"docs":{},":":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"栈":{"docs":{},"相":{"docs":{},"比":{"docs":{},"有":{"docs":{},"着":{"docs":{},"先":{"docs":{},"天":{"docs":{},"的":{"docs":{},"劣":{"docs":{},"势":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"结":{"docs":{},"果":{"docs":{},"就":{"docs":{},"是":{"docs":{},"q":{"docs":{},"t":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"太":{"docs":{},"低":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"五":{"docs":{},"步":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"简":{"docs":{},"称":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"介":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"源":{"docs":{},"码":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"单":{"docs":{},"概":{"docs":{},"括":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"docs":{},"组":{"docs":{},"合":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"当":{"docs":{},"u":{"docs":{},"i":{"docs":{},"要":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"去":{"docs":{},"直":{"docs":{},"接":{"docs":{},"修":{"docs":{},"改":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"更":{"docs":{},"新":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"让":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"r":{"docs":{},"n":{"docs":{},"中":{"docs":{},"将":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"映":{"docs":{},"射":{"docs":{},"为":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"分":{"docs":{},"两":{"docs":{},"步":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"和":{"docs":{},"回":{"docs":{},"流":{"docs":{},"都":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"都":{"docs":{},"直":{"docs":{},"接":{"docs":{},"对":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"而":{"docs":{},"批":{"docs":{},"量":{"docs":{},"操":{"docs":{},"作":{"docs":{},"只":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"平":{"docs":{},"移":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},":":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"连":{"docs":{},"名":{"docs":{},"字":{"docs":{},"都":{"docs":{},"没":{"docs":{},"改":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"和":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"消":{"docs":{},"除":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"来":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"都":{"docs":{},"在":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"。":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"此":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"写":{"docs":{},"好":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"移":{"docs":{},"进":{"docs":{},"去":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"最":{"docs":{},"终":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"句":{"docs":{},"命":{"docs":{},"令":{"docs":{},"即":{"docs":{},"可":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"对":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"行":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"完":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"和":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"只":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"最":{"docs":{},"后":{"docs":{},"两":{"docs":{},"步":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"每":{"docs":{},"次":{"docs":{},"也":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"最":{"docs":{},"后":{"docs":{},"两":{"docs":{},"步":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"里":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"完":{"docs":{},"成":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"或":{"docs":{},"完":{"docs":{},"成":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"后":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"分":{"docs":{},"别":{"docs":{},"执":{"docs":{},"行":{"docs":{},"该":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}},"真":{"docs":{},"相":{"docs":{},"大":{"docs":{},"白":{"docs":{},",":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"获":{"docs":{},"取":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"内":{"docs":{},"部":{"docs":{},"正":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"观":{"docs":{},"其":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"5":{"docs":{},"月":{"docs":{},"份":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"语":{"docs":{},"法":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"而":{"docs":{},"创":{"docs":{},"造":{"docs":{},"。":{"docs":{},"与":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"中":{"docs":{},"很":{"docs":{},"多":{"docs":{},"地":{"docs":{},"方":{"docs":{},"也":{"docs":{},"都":{"docs":{},"借":{"docs":{},"鉴":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"义":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"化":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"即":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"读":{"docs":{},"屏":{"docs":{},"软":{"docs":{},"件":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"机":{"docs":{},"器":{"docs":{},"理":{"docs":{},"解":{"docs":{},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"有":{"docs":{},"视":{"docs":{},"力":{"docs":{},"障":{"docs":{},"碍":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"读":{"docs":{},"屏":{"docs":{},"软":{"docs":{},"件":{"docs":{},"来":{"docs":{},"理":{"docs":{},"解":{"docs":{},"u":{"docs":{},"i":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"校":{"docs":{},"验":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"密":{"docs":{},"码":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":5}},"应":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"减":{"docs":{},"慢":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"请":{"docs":{},"将":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"在":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"库":{"docs":{},"中":{"docs":{},")":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"大":{"docs":{},"于":{"1":{"docs":{},".":{"0":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"5":{"0":{"docs":{},".":{"0":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"模":{"docs":{},"式":{"docs":{},"断":{"docs":{},"言":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"度":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"执":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"和":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"将":{"docs":{},"紧":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"在":{"docs":{},"合":{"docs":{},"适":{"docs":{},"时":{"docs":{},"机":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}},"进":{"docs":{},"入":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}},"了":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"正":{"docs":{},"式":{"docs":{},"版":{"docs":{},"(":{"1":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},"发":{"docs":{},"布":{"docs":{},"前":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}},"当":{"docs":{},"前":{"docs":{},"所":{"docs":{},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"行":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"在":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"转":{"docs":{},"换":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},",":{"docs":{},"即":{"docs":{},"创":{"docs":{},"建":{"docs":{},"出":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"度":{"docs":{},"条":{"docs":{},"的":{"docs":{},"总":{"docs":{},"弧":{"docs":{},"度":{"docs":{},",":{"2":{"docs":{},"*":{"docs":{},"p":{"docs":{},"i":{"docs":{},"为":{"docs":{},"整":{"docs":{},"圆":{"docs":{},",":{"docs":{},"小":{"docs":{},"于":{"2":{"docs":{},"*":{"docs":{},"p":{"docs":{},"i":{"docs":{},"则":{"docs":{},"不":{"docs":{},"是":{"docs":{},"整":{"docs":{},"圆":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"阶":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}},"速":{"docs":{},"度":{"docs":{},"快":{"docs":{},"、":{"docs":{},"性":{"docs":{},"能":{"docs":{},"高":{"docs":{},"、":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"动":{"docs":{},"画":{"docs":{},"及":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"整":{"docs":{},"体":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"好":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{},",":{"docs":{},"社":{"docs":{},"区":{"docs":{},"庞":{"docs":{},"大":{"docs":{},"、":{"docs":{},"上":{"docs":{},"手":{"docs":{},"快":{"docs":{},"、":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"相":{"docs":{},"对":{"docs":{},"较":{"docs":{},"低":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}},"针":{"docs":{},"对":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"面":{"docs":{},"临":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"人":{"docs":{},"们":{"docs":{},"一":{"docs":{},"直":{"docs":{},"都":{"docs":{},"在":{"docs":{},"努":{"docs":{},"力":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"而":{"docs":{},"时":{"docs":{},"至":{"docs":{},"今":{"docs":{},"日":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{},"“":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"”":{"docs":{},"若":{"docs":{},"无":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"即":{"docs":{},"特":{"docs":{},"指":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"两":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},")":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"其":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"获":{"docs":{},"取":{"docs":{},"手":{"docs":{},"机":{"docs":{},"型":{"docs":{},"号":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"继":{"docs":{},"承":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"通":{"docs":{},"道":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"返":{"docs":{},"回":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"推":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"款":{"docs":{},"新":{"docs":{},"的":{"docs":{},"用":{"docs":{},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"、":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"框":{"docs":{},"架":{"docs":{},"—":{"docs":{},"—":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"高":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}},"性":{"docs":{},"能":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.020833333333333332}}}},"度":{"docs":{},"增":{"docs":{},"长":{"docs":{},"到":{"3":{"0":{"0":{"docs":{},"后":{"docs":{},",":{"docs":{},"开":{"docs":{},"始":{"docs":{},"沿":{"docs":{},"x":{"docs":{},"轴":{"docs":{},"向":{"docs":{},"右":{"docs":{},"平":{"docs":{},"移":{"1":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},";":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"占":{"docs":{},"用":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"4":{"0":{"docs":{},"%":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"仅":{"docs":{},"提":{"docs":{},"供":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"。":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"对":{"docs":{},"其":{"docs":{},"他":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"必":{"docs":{},"须":{"docs":{},"指":{"docs":{},"定":{"docs":{},"其":{"docs":{},"他":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"并":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"”":{"docs":{},"的":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"值":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"或":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"来":{"docs":{},"配":{"docs":{},"置":{"docs":{},"动":{"docs":{},"画":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"或":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"像":{"docs":{},"下":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"生":{"docs":{},"成":{"docs":{},"从":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"板":{"docs":{},"支":{"docs":{},"持":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"编":{"docs":{},"写":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"或":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"列":{"docs":{},"表":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"适":{"docs":{},"合":{"docs":{},"只":{"docs":{},"有":{"docs":{},"少":{"docs":{},"量":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"都":{"docs":{},"提":{"docs":{},"前":{"docs":{},"创":{"docs":{},"建":{"docs":{},"好":{"docs":{},"(":{"docs":{},"这":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"大":{"docs":{},"量":{"docs":{},"工":{"docs":{},"作":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"等":{"docs":{},"到":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"真":{"docs":{},"正":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"再":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"方":{"docs":{},"式":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"+":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"没":{"docs":{},"有":{"docs":{},"本":{"docs":{},"质":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"风":{"docs":{},"格":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"作":{"docs":{},"为":{"docs":{},"本":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"根":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"a":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}},"如":{"docs":{},"果":{"docs":{},"已":{"docs":{},"经":{"docs":{},"安":{"docs":{},"装":{"docs":{},"了":{"docs":{},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"此":{"docs":{},"步":{"docs":{},"骤":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},")":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"被":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"变":{"docs":{},"体":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"更":{"docs":{},"具":{"docs":{},"体":{"docs":{},"地":{"docs":{},"说":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"不":{"docs":{},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"去":{"docs":{},"响":{"docs":{},"应":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"讨":{"docs":{},"论":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"非":{"docs":{},"首":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},")":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"将":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"功":{"docs":{},"能":{"docs":{},"都":{"docs":{},"是":{"docs":{},"h":{"5":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"其":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"在":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"中":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"该":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"依":{"docs":{},"次":{"docs":{},"向":{"docs":{},"下":{"docs":{},",":{"docs":{},"就":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"层":{"docs":{},"层":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"则":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{},"而":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"数":{"docs":{},"据":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"中":{"docs":{},",":{"docs":{},"其":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"递":{"docs":{},"归":{"docs":{},"完":{"docs":{},"成":{"docs":{},"整":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"h":{"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"在":{"docs":{},"其":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},":":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"结":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"打":{"docs":{},"开":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"上":{"docs":{},"面":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},"重":{"docs":{},"启":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"1":{"docs":{},"x":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},"会":{"docs":{},"在":{"2":{"docs":{},"x":{"docs":{},"中":{"docs":{},"找":{"docs":{},",":{"2":{"docs":{},"x":{"docs":{},"中":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},"就":{"docs":{},"在":{"3":{"docs":{},"x":{"docs":{},"中":{"docs":{},"找":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}},"当":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"函":{"docs":{},"数":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"当":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"发":{"docs":{},"生":{"docs":{},"更":{"docs":{},"改":{"docs":{},"时":{"docs":{},",":{"docs":{},"即":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"灰":{"docs":{},"色":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"三":{"docs":{},"态":{"docs":{},",":{"docs":{},"其":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"时":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"状":{"docs":{},"态":{"docs":{},"即":{"docs":{},"“":{"docs":{},"选":{"docs":{},"中":{"docs":{},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"不":{"docs":{},"选":{"docs":{},"中":{"docs":{},"”":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"其":{"docs":{},"他":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}},"它":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"/":{"docs":{},"监":{"docs":{},"听":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"生":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"底":{"docs":{},"部":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"栏":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"子":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"一":{"docs":{},"样":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"交":{"docs":{},"错":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"因":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"粘":{"docs":{},"\"":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"共":{"docs":{},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"实":{"docs":{},"现":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"放":{"docs":{},"大":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"动":{"docs":{},"画":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"要":{"docs":{},"释":{"docs":{},"放":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"(":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},"以":{"docs":{},"防":{"docs":{},"止":{"docs":{},"内":{"docs":{},"存":{"docs":{},"泄":{"docs":{},"漏":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"首":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"所":{"docs":{},"对":{"docs":{},"应":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"创":{"docs":{},"建":{"docs":{},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"相":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"中":{"docs":{},"插":{"docs":{},"槽":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"不":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"的":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"才":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{},"。":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"后":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"就":{"docs":{},"处":{"docs":{},"于":{"docs":{},"“":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"处":{"docs":{},"于":{"docs":{},"“":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},"后":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"了":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"独":{"docs":{},"立":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"一":{"docs":{},"起":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"那":{"docs":{},"独":{"docs":{},"立":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"0":{"0":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"1":{"4":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"docs":{}},"docs":{}},"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"与":{"docs":{},"上":{"docs":{},"层":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"”":{"docs":{},"胶":{"docs":{},"水":{"docs":{},"“":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"受":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},"\"":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"趋":{"docs":{},"势":{"docs":{},"不":{"docs":{},"断":{"docs":{},"的":{"docs":{},"触":{"docs":{},"发":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"说":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"6":{"0":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"回":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"混":{"docs":{},"入":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"查":{"docs":{},"看":{"docs":{},"这":{"docs":{},"些":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"桥":{"docs":{},"梁":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"支":{"docs":{},"持":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"又":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"将":{"docs":{},"图":{"docs":{},"像":{"docs":{},"画":{"docs":{},"在":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"{":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"会":{"docs":{},"被":{"docs":{},"禁":{"docs":{},"用":{"docs":{},",":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"接":{"docs":{},"收":{"docs":{},"输":{"docs":{},"入":{"docs":{},"和":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"显":{"docs":{},"示":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"态":{"docs":{},"样":{"docs":{},"式":{"docs":{},"(":{"docs":{},"在":{"docs":{},"其":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"d":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"算":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"只":{"docs":{},"有":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{},"\"":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"中":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.007974481658692184},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.05319148936170213}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.03597122302158273},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"{":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0171990171990172},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.015657620041753653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.011428571428571429},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.029940119760479042},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.019538188277087035},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.019417475728155338},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024691358024691357},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"未":{"docs":{},"滑":{"docs":{},"入":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},";":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"列":{"docs":{},"表":{"docs":{},"底":{"docs":{},"部":{"docs":{},"未":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"范":{"docs":{},"围":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"滑":{"docs":{},"出":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},";":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"方":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"长":{"docs":{},"度":{"docs":{},";":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.03361344537815126}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"docs":{}}},"5":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}},"6":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}},"docs":{}}},"docs":{}},"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026845637583892617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}},"docs":{}}},"docs":{}},"8":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},"docs":{}}},"docs":{}}}}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},")":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"b":{"docs":{},"(":{"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{},".":{"0":{"docs":{},",":{"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"1":{"6":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"y":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"设":{"docs":{},"置":{"docs":{},"补":{"docs":{},"白":{"docs":{},"的":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.010889292196007259}},"和":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":10}}}}}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"具":{"docs":{},"体":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"只":{"docs":{},"有":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"但":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"如":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"类":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"所":{"docs":{},"有":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"构":{"docs":{},"成":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"树":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},",":{"docs":{},"即":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"]":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},",":{"docs":{},"即":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083}}},",":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"通":{"docs":{},"常":{"docs":{},"为":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"再":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"手":{"docs":{},"势":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},"=":{"docs":{},">":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}},"始":{"docs":{},"终":{"docs":{},"返":{"docs":{},"回":{"docs":{},"都":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"应":{"docs":{},"该":{"docs":{},"理":{"docs":{},"解":{"docs":{},"并":{"docs":{},"掌":{"docs":{},"握":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}}}}}}}}}}}},"{":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"x":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"y":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},"即":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}},"“":{"docs":{},"即":{"docs":{},"时":{"docs":{},"编":{"docs":{},"译":{"docs":{},"”":{"docs":{},"。":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"典":{"docs":{},"型":{"docs":{},"代":{"docs":{},"表":{"docs":{},"是":{"docs":{},"用":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"前":{"docs":{},"编":{"docs":{},"译":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"而":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"表":{"docs":{},"则":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},",":{"docs":{},"如":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},",":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},"都":{"docs":{},"支":{"docs":{},"持":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"模":{"docs":{},"式":{"docs":{},"。":{"docs":{},"但":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"和":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"并":{"docs":{},"非":{"docs":{},"强":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"语":{"docs":{},"言":{"docs":{},"既":{"docs":{},"可":{"docs":{},"以":{"docs":{},"以":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"方":{"docs":{},"式":{"docs":{},"运":{"docs":{},"行":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"以":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"方":{"docs":{},"式":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"如":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"编":{"docs":{},"译":{"docs":{},"成":{"docs":{},"中":{"docs":{},"间":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"、":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"之":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"执":{"docs":{},"行":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},",":{"docs":{},"也":{"docs":{},"许":{"docs":{},"有":{"docs":{},"人":{"docs":{},"会":{"docs":{},"说":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"并":{"docs":{},"非":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"需":{"docs":{},"要":{"docs":{},"动":{"docs":{},"态":{"docs":{},"将":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"转":{"docs":{},"为":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"是":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"没":{"docs":{},"有":{"docs":{},"错":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"通":{"docs":{},"常":{"docs":{},"我":{"docs":{},"们":{"docs":{},"区":{"docs":{},"分":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"就":{"docs":{},"是":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"之":{"docs":{},"前":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"其":{"docs":{},"编":{"docs":{},"译":{"docs":{},"产":{"docs":{},"物":{"docs":{},"是":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"还":{"docs":{},"是":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"。":{"docs":{},"在":{"docs":{},"此":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"不":{"docs":{},"必":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"于":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"概":{"docs":{},"念":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"传":{"docs":{},"达":{"docs":{},"精":{"docs":{},"神":{"docs":{},"而":{"docs":{},"发":{"docs":{},"明":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"读":{"docs":{},"者":{"docs":{},"能":{"docs":{},"够":{"docs":{},"理":{"docs":{},"解":{"docs":{},"其":{"docs":{},"原":{"docs":{},"理":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"得":{"docs":{},"其":{"docs":{},"神":{"docs":{},"忘":{"docs":{},"其":{"docs":{},"形":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"'":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"`":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},"”":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"在":{"docs":{},"”":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.014767932489451477},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}},"p":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"b":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"名":{"docs":{},"称":{"docs":{},"与":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"。":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}}}}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}}},"p":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"b":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405}},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"c":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"将":{"docs":{},"其":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"导":{"docs":{},"出":{"docs":{},"到":{"docs":{},"其":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"内":{"docs":{},"部":{"docs":{},"管":{"docs":{},"理":{"docs":{},"其":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"对":{"docs":{},"象":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}}},"=":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"$":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"指":{"docs":{},"针":{"docs":{},"与":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"接":{"docs":{},"触":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"存":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"组":{"docs":{},"织":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}},"\"":{"1":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"连":{"docs":{},"续":{"docs":{},"按":{"docs":{},"两":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"键":{"docs":{},"退":{"docs":{},"出":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}},"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0427807486631016},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024390243902439025}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"*":{"1":{"0":{"0":{"docs":{},")":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.024489795918367346},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.023809523809523808},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03424657534246575},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026845637583892617}}}}}}},"i":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.023809523809523808},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}}},"登":{"docs":{},"录":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"移":{"docs":{},"动":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.023809523809523808},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}},"你":{"docs":{},"好":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558}}}}}}},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016713091922005572},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},",":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"控":{"docs":{},"制":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"测":{"docs":{},"试":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"左":{"docs":{},"上":{"docs":{},"角":{"2":{"0":{"0":{"docs":{},"*":{"1":{"0":{"0":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"非":{"docs":{},"文":{"docs":{},"本":{"docs":{},"区":{"docs":{},"域":{"docs":{},"点":{"docs":{},"击":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}},"逆":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},"docs":{}}},"docs":{}}}}}},"顺":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},"docs":{}}},"docs":{}}}}}},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"内":{"docs":{},"容":{"docs":{},"回":{"docs":{},"显":{"docs":{},")":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},",":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}},"'":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}},"$":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"a":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}},"d":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"n":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"j":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},"l":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}},"m":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"b":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"i":{"docs":{},"\\":{"docs":{},"'":{"docs":{},"m":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}},"e":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},"文":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"e":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"c":{"docs":{},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"?":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},"?":{"docs":{},"?":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"(":{"docs":{},"是":{"docs":{},"从":{"docs":{},"左":{"docs":{},"往":{"docs":{},"右":{"docs":{},"还":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},")":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"当":{"docs":{},"前":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"方":{"docs":{},"向":{"docs":{},"(":{"docs":{},"如":{"docs":{},"中":{"docs":{},"文":{"docs":{},"、":{"docs":{},"英":{"docs":{},"语":{"docs":{},"都":{"docs":{},"是":{"docs":{},"从":{"docs":{},"左":{"docs":{},"往":{"docs":{},"右":{"docs":{},",":{"docs":{},"而":{"docs":{},"阿":{"docs":{},"拉":{"docs":{},"伯":{"docs":{},"语":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"功":{"docs":{},"能":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"都":{"docs":{},"用":{"docs":{},"于":{"docs":{},"决":{"docs":{},"定":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"即":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"左":{"docs":{},",":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"代":{"docs":{},"表":{"docs":{},"右":{"docs":{},";":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"右":{"docs":{},",":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"代":{"docs":{},"表":{"docs":{},"左":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"系":{"docs":{},"统":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},"设":{"docs":{},"置":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"字":{"docs":{},"体":{"docs":{},"进":{"docs":{},"行":{"docs":{},"全":{"docs":{},"局":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"单":{"docs":{},"个":{"docs":{},"文":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"代":{"docs":{},"表":{"docs":{},"文":{"docs":{},"本":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"因":{"docs":{},"子":{"docs":{},",":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"去":{"docs":{},"设":{"docs":{},"置":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"调":{"docs":{},"整":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"快":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"获":{"docs":{},"得":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"将":{"docs":{},"为":{"1":{"docs":{},".":{"0":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02040816326530612},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"e":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02857142857142857},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"如":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"字":{"docs":{},"体":{"docs":{},"、":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"、":{"docs":{},"背":{"docs":{},"景":{"docs":{},"等":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"{":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},":":{"docs":{},"该":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"\"":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},";":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"左":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"、":{"docs":{},"右":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"还":{"docs":{},"是":{"docs":{},"居":{"docs":{},"中":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"是":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"代":{"docs":{},"表":{"docs":{},"该":{"docs":{},"文":{"docs":{},"本":{"docs":{},"片":{"docs":{},"段":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"和":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"简":{"docs":{},"单":{"docs":{},"样":{"docs":{},"式":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"些":{"docs":{},"控":{"docs":{},"制":{"docs":{},"文":{"docs":{},"本":{"docs":{},"显":{"docs":{},"示":{"docs":{},"样":{"docs":{},"式":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.015027322404371584}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"用":{"docs":{},"于":{"docs":{},"文":{"docs":{},"本":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"简":{"docs":{},"单":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"主":{"docs":{},"要":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"几":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"关":{"docs":{},"键":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"动":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"图":{"docs":{},"标":{"docs":{},"(":{"docs":{},"即":{"docs":{},"回":{"docs":{},"车":{"docs":{},"键":{"docs":{},"位":{"docs":{},"图":{"docs":{},"标":{"docs":{},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{},",":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"可":{"docs":{},"选":{"docs":{},"值":{"docs":{},",":{"docs":{},"全":{"docs":{},"部":{"docs":{},"的":{"docs":{},"取":{"docs":{},"值":{"docs":{},"列":{"docs":{},"表":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"当":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"时":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"下":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"e":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},";":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"s":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},">":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},">":{"docs":{},"a":{"docs":{},"v":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}},"u":{"docs":{},"r":{"docs":{},",":{"docs":{},"就":{"docs":{},"开":{"docs":{},"始":{"docs":{},"动":{"docs":{},"手":{"docs":{},"写":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},")":{"docs":{},",":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"会":{"docs":{},"更":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"手":{"docs":{},"机":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"则":{"docs":{},"始":{"docs":{},"终":{"docs":{},"为":{"1":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"p":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},":":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"docs":{}},"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223}}}}}}}}},"r":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"e":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012605042016806723},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.009536784741144414}},"/":{"docs":{},"/":{"docs":{},"是":{"docs":{},"否":{"docs":{},"保":{"docs":{},"存":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}},")":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}}},"则":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"仅":{"docs":{},"会":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"自":{"docs":{},"身":{"docs":{},"而":{"docs":{},"无":{"docs":{},"需":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"它":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"c":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"或":{"docs":{},"放":{"docs":{},"大":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"沿":{"docs":{},"x":{"docs":{},"、":{"docs":{},"y":{"docs":{},"轴":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"平":{"docs":{},"移":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"换":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"对":{"docs":{},"其":{"docs":{},"应":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"x":{"4":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"4":{"docs":{},"d":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"各":{"docs":{},"种":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"而":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"布":{"docs":{},"局":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"无":{"docs":{},"论":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"应":{"docs":{},"用":{"docs":{},"何":{"docs":{},"种":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"其":{"docs":{},"占":{"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"都":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"在":{"docs":{},"布":{"docs":{},"局":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"具":{"docs":{},"体":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"u":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"当":{"docs":{},"点":{"docs":{},"击":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"透":{"docs":{},"明":{"docs":{},"区":{"docs":{},"域":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"自":{"docs":{},"身":{"docs":{},"边":{"docs":{},"界":{"docs":{},"内":{"docs":{},"及":{"docs":{},"底":{"docs":{},"部":{"docs":{},"可":{"docs":{},"视":{"docs":{},"区":{"docs":{},"域":{"docs":{},"都":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"点":{"docs":{},"击":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"透":{"docs":{},"明":{"docs":{},"区":{"docs":{},"域":{"docs":{},"时":{"docs":{},",":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"底":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"放":{"docs":{},"一":{"docs":{},"些":{"docs":{},"临":{"docs":{},"时":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"存":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"重":{"docs":{},"点":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}},"=":{"1":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":5.00507614213198},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"1":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},"docs":{}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.02030456852791878},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"{":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"e":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"取":{"docs":{},"消":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"浅":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}},"e":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"容":{"docs":{},"器":{"docs":{},"外":{"docs":{},"补":{"docs":{},"白":{"docs":{},",":{"docs":{},"不":{"docs":{},"属":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"范":{"docs":{},"围":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.016216216216216217},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"6":{"4":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"docs":{}},"6":{"4":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"docs":{}},"docs":{}}}}}}}}}}}}},")":{"docs":{},"将":{"docs":{},"淡":{"docs":{},"出":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"这":{"docs":{},"个":{"docs":{},"层":{"docs":{},"面":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"和":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"是":{"docs":{},"差":{"docs":{},"不":{"docs":{},"多":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"单":{"docs":{},"从":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"并":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"什":{"docs":{},"么":{"docs":{},"明":{"docs":{},"显":{"docs":{},"优":{"docs":{},"势":{"docs":{},",":{"docs":{},"但":{"docs":{},"综":{"docs":{},"合":{"docs":{},"起":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"既":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"开":{"docs":{},"发":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"有":{"docs":{},"优":{"docs":{},"势":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}},")":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.016216216216216217}},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533}}}}}}}}},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"存":{"docs":{},"储":{"docs":{},"任":{"docs":{},"何":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"和":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"的":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"职":{"docs":{},"责":{"docs":{},"就":{"docs":{},"是":{"docs":{},"定":{"docs":{},"义":{"docs":{},"从":{"docs":{},"输":{"docs":{},"入":{"docs":{},"范":{"docs":{},"围":{"docs":{},"到":{"docs":{},"输":{"docs":{},"出":{"docs":{},"范":{"docs":{},"围":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"。":{"docs":{},"输":{"docs":{},"入":{"docs":{},"范":{"docs":{},"围":{"docs":{},"通":{"docs":{},"常":{"docs":{},"为":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"不":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"与":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"值":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"指":{"docs":{},"定":{"docs":{},"两":{"docs":{},"种":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"值":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"值":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"代":{"docs":{},"表":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"不":{"docs":{},"同":{"docs":{},"动":{"docs":{},"画":{"docs":{},"指":{"docs":{},"定":{"docs":{},"起":{"docs":{},"始":{"docs":{},"点":{"docs":{},"和":{"docs":{},"终":{"docs":{},"止":{"docs":{},"点":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"间":{"docs":{},"和":{"docs":{},"终":{"docs":{},"止":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},"(":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}},"{":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"e":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}},"初":{"docs":{},"识":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}},"始":{"docs":{},"化":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}},"官":{"docs":{},"网":{"docs":{},":":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"是":{"docs":{},"快":{"docs":{},"速":{"docs":{},"入":{"docs":{},"门":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"官":{"docs":{},"网":{"docs":{},"也":{"docs":{},"是":{"docs":{},"了":{"docs":{},"解":{"docs":{},"最":{"docs":{},"新":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"发":{"docs":{},"展":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"目":{"docs":{},"前":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"处":{"docs":{},"于":{"docs":{},"快":{"docs":{},"速":{"docs":{},"发":{"docs":{},"展":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"建":{"docs":{},"议":{"docs":{},"读":{"docs":{},"者":{"docs":{},"还":{"docs":{},"是":{"docs":{},"时":{"docs":{},"不":{"docs":{},"时":{"docs":{},"的":{"docs":{},"去":{"docs":{},"官":{"docs":{},"网":{"docs":{},"看":{"docs":{},"看":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"下":{"docs":{},"两":{"docs":{},"层":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"在":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"视":{"docs":{},"频":{"docs":{},"中":{"docs":{},"被":{"docs":{},"合":{"docs":{},"并":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"栏":{"docs":{},"打":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"的":{"docs":{},"洞":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"高":{"docs":{},"度":{"docs":{},"都":{"docs":{},"为":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"掘":{"docs":{},"金":{"docs":{},":":{"docs":{},"掘":{"docs":{},"金":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"主":{"docs":{},"页":{"docs":{},"目":{"docs":{},"前":{"docs":{},"也":{"docs":{},"收":{"docs":{},"集":{"docs":{},"了":{"docs":{},"不":{"docs":{},"少":{"docs":{},"的":{"docs":{},"博":{"docs":{},"客":{"docs":{},"文":{"docs":{},"章":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"了":{"docs":{},"资":{"docs":{},"料":{"docs":{},"和":{"docs":{},"社":{"docs":{},"区":{"docs":{},"后":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"学":{"docs":{},"习":{"docs":{},"者":{"docs":{},"自":{"docs":{},"身":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"还":{"docs":{},"是":{"docs":{},"要":{"docs":{},"多":{"docs":{},"动":{"docs":{},"手":{"docs":{},"、":{"docs":{},"多":{"docs":{},"实":{"docs":{},"践":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"读":{"docs":{},"者":{"docs":{},"能":{"docs":{},"够":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"动":{"docs":{},"手":{"docs":{},"写":{"docs":{},"一":{"docs":{},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},"。":{"docs":{},"准":{"docs":{},"备":{"docs":{},"好":{"docs":{},"了":{"docs":{},"吗":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"正":{"docs":{},"式":{"docs":{},"进":{"docs":{},"入":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"世":{"docs":{},"界":{"docs":{},"!":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"将":{"docs":{},"生":{"docs":{},"成":{"docs":{},"用":{"docs":{},"于":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"和":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"字":{"docs":{},"段":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"上":{"docs":{},"述":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"阅":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"深":{"docs":{},"入":{"docs":{},"讨":{"docs":{},"论":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"现":{"docs":{},"在":{"docs":{},"只":{"docs":{},"需":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"为":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"显":{"docs":{},"式":{"docs":{},"添":{"docs":{},"加":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"话":{"docs":{},"可":{"docs":{},"能":{"docs":{},"(":{"docs":{},"但":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},")":{"docs":{},"会":{"docs":{},"使":{"docs":{},"u":{"docs":{},"i":{"docs":{},"在":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"变":{"docs":{},"的":{"docs":{},"高":{"docs":{},"效":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"目":{"docs":{},"前":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"u":{"docs":{},"i":{"docs":{},"时":{"docs":{},"会":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"无":{"docs":{},"论":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"加":{"docs":{},"载":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"分":{"docs":{},"别":{"docs":{},"在":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"或":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"中":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"一":{"docs":{},"下":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"就":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"多":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"才":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"从":{"docs":{},"两":{"docs":{},"个":{"docs":{},"网":{"docs":{},"络":{"docs":{},"接":{"docs":{},"口":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"两":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"后":{"docs":{},"再":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"数":{"docs":{},"组":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"的":{"docs":{},"成":{"docs":{},"功":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"错":{"docs":{},"误":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"动":{"docs":{},"画":{"docs":{},"可":{"docs":{},"能":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"序":{"docs":{},"列":{"docs":{},"或":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"柱":{"docs":{},"状":{"docs":{},"图":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"高":{"docs":{},"度":{"docs":{},"增":{"docs":{},"长":{"docs":{},"的":{"docs":{},"同":{"docs":{},"改":{"docs":{},"变":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"等":{"docs":{},"到":{"docs":{},"增":{"docs":{},"长":{"docs":{},"到":{"docs":{},"最":{"docs":{},"大":{"docs":{},"高":{"docs":{},"度":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"x":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"平":{"docs":{},"移":{"docs":{},"一":{"docs":{},"段":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"次":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"都":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"读":{"docs":{},"取":{"docs":{},"状":{"docs":{},"态":{"docs":{},"将":{"docs":{},"会":{"docs":{},"很":{"docs":{},"不":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"试":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"真":{"docs":{},"的":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"必":{"docs":{},"须":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"点":{"docs":{},"击":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"当":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"提":{"docs":{},"供":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"则":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"会":{"docs":{},"处":{"docs":{},"于":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"器":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"种":{"docs":{},"各":{"docs":{},"样":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"功":{"docs":{},"能":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"调":{"docs":{},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},"则":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"错":{"docs":{},"误":{"docs":{},"提":{"docs":{},"示":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},"时":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"也":{"docs":{},"启":{"docs":{},"用":{"docs":{},"了":{"docs":{},"身":{"docs":{},"份":{"docs":{},"验":{"docs":{},"证":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"认":{"docs":{},"证":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"认":{"docs":{},"证":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"及":{"docs":{},"注":{"docs":{},"释":{"docs":{},":":{"docs":{},"源":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{},"应":{"docs":{},"作":{"docs":{},"为":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"只":{"docs":{},"有":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"更":{"docs":{},"新":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"似":{"docs":{},"不":{"docs":{},"起":{"docs":{},"眼":{"docs":{},",":{"docs":{},"实":{"docs":{},"则":{"docs":{},"举":{"docs":{},"足":{"docs":{},"轻":{"docs":{},"重":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"有":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},"积":{"docs":{},"极":{"docs":{},"投":{"docs":{},"入":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"团":{"docs":{},"队":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"更":{"docs":{},"多":{"docs":{},"、":{"docs":{},"更":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"所":{"docs":{},"述":{"docs":{},"“":{"docs":{},"我":{"docs":{},"们":{"docs":{},"正":{"docs":{},"与":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"社":{"docs":{},"区":{"docs":{},"进":{"docs":{},"行":{"docs":{},"密":{"docs":{},"切":{"docs":{},"合":{"docs":{},"作":{"docs":{},",":{"docs":{},"以":{"docs":{},"改":{"docs":{},"进":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"最":{"docs":{},"初":{"docs":{},"采":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"该":{"docs":{},"语":{"docs":{},"言":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"生":{"docs":{},"成":{"docs":{},"原":{"docs":{},"生":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"链":{"docs":{},"(":{"docs":{},"这":{"docs":{},"对":{"docs":{},"于":{"docs":{},"实":{"docs":{},"现":{"docs":{},"可":{"docs":{},"预":{"docs":{},"测":{"docs":{},"的":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"具":{"docs":{},"有":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"帮":{"docs":{},"助":{"docs":{},")":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"现":{"docs":{},"在":{"docs":{},"它":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"团":{"docs":{},"队":{"docs":{},"专":{"docs":{},"门":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{},"它":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"完":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"些":{"docs":{},"读":{"docs":{},"者":{"docs":{},"会":{"docs":{},"有":{"docs":{},"疑":{"docs":{},"问":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"对":{"docs":{},"于":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"就":{"docs":{},"行":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"已":{"docs":{},"经":{"docs":{},"将":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"降":{"docs":{},"低":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"了":{"docs":{},"解":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"理":{"docs":{},"解":{"docs":{},"整":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"社":{"docs":{},"区":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"一":{"docs":{},"旦":{"docs":{},"确":{"docs":{},"定":{"docs":{},"后":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"更":{"docs":{},"改":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},"似":{"docs":{},"于":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"任":{"docs":{},"何":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"但":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"变":{"docs":{},"量":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"便":{"docs":{},"会":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"改":{"docs":{},"变":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"加":{"docs":{},"载":{"docs":{},"适":{"docs":{},"合":{"docs":{},"其":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"记":{"docs":{},"为":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"其":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"能":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"三":{"docs":{},"个":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"许":{"docs":{},"多":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"曲":{"docs":{},"线":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":10.004926108374384}}}}}},"项":{"docs":{},"目":{"docs":{},"下":{"docs":{},"提":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}},"$":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"e":{"docs":{},"。":{"docs":{},"文":{"docs":{},"件":{"docs":{},"路":{"docs":{},"径":{"docs":{},"和":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"可":{"docs":{},"能":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"电":{"docs":{},"脑":{"docs":{},"上":{"docs":{},"不":{"docs":{},"同":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"v":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}}}}}},"{":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"}":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},"}":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},"]":{"docs":{},"}":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"'":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"docs":{}}},"4":{"docs":{},".":{"3":{"docs":{},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"docs":{}}},"docs":{}}},"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"'":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"$":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"e":{"docs":{},"'":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}}}}}}}},"{":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"}":{"docs":{},"'":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"}":{"docs":{},"'":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"'":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},";":{"docs":{},"到":{"docs":{},"相":{"docs":{},"关":{"docs":{},"文":{"docs":{},"件":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}},"%":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}}},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},":":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},":":{"2":{"3":{"docs":{},".":{"0":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"z":{"docs":{},"h":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"=":{"docs":{},"$":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"[":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.008174386920980926},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"*":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"*":{"docs":{},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"*":{"docs":{},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},">":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.007974481658692184},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.053763440860215055},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.08695652173913043},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.029045643153526972},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777}},"=":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}},"[":{"0":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},".":{"0":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"docs":{}}},"1":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"2":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"3":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0427807486631016},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02158273381294964},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.015228426395939087},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012658227848101266},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.013285806869734284}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.005508749189889825}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"@":{"2":{"4":{"8":{"8":{"1":{"8":{"7":{"9":{"1":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"[":{"3":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"]":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},"\"":{"docs":{},"新":{"docs":{},"闻":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"]":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"]":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0427807486631016},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02158273381294964},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.015228426395939087},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012658227848101266},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"页":{"docs":{},"面":{"docs":{},"引":{"docs":{},"入":{"docs":{},"该":{"docs":{},"文":{"docs":{},"件":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},".":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}},"'":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"a":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}}}}}}},"f":{"docs":{},"t":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558}}},"、":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},"'":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}},"}":{"docs":{},"=":{"1":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}},"docs":{}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"}":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}},"n":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},"i":{"docs":{},"b":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"是":{"docs":{},"隐":{"docs":{},"含":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"资":{"docs":{},"产":{"docs":{},"路":{"docs":{},"径":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"路":{"docs":{},"径":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"i":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"同":{"docs":{},"意":{"docs":{},"过":{"docs":{},"了":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"[":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}},"s":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.022388059701492536},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0032404406999351912}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"(":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03550295857988166},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"{":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016713091922005572},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":10.002785515320335}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"{":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}}}}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.011142061281337047}}}}}}}}}}}}}},"{":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"适":{"docs":{},"合":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"限":{"docs":{},")":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"真":{"docs":{},"正":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"参":{"docs":{},"数":{"docs":{},"列":{"docs":{},"表":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}}},"可":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"分":{"docs":{},"割":{"docs":{},"器":{"docs":{},",":{"docs":{},"它":{"docs":{},"除":{"docs":{},"了":{"docs":{},"比":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"割":{"docs":{},"器":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{},"奇":{"docs":{},"数":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"条":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},",":{"docs":{},"偶":{"docs":{},"数":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"条":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{},"已":{"docs":{},"省":{"docs":{},"略":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"是":{"docs":{},"最":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"沿":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"线":{"docs":{},"性":{"docs":{},"排":{"docs":{},"布":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"f":{"docs":{},"e":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"o":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"s":{"docs":{},"了":{"docs":{},"查":{"docs":{},"看":{"docs":{},"它":{"docs":{},"(":{"docs":{},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"一":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"和":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.041379310344827586},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}}}}}}},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}}},"z":{"docs":{},"h":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}}}}},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"就":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"前":{"docs":{},"者":{"docs":{},"接":{"docs":{},"收":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"接":{"docs":{},"收":{"docs":{},"的":{"docs":{},"是":{"docs":{},"单":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}},"类":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"括":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"国":{"docs":{},"家":{"docs":{},"两":{"docs":{},"个":{"docs":{},"标":{"docs":{},"志":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"是":{"docs":{},"生":{"docs":{},"成":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"集":{"docs":{},"合":{"docs":{},"的":{"docs":{},"工":{"docs":{},"厂":{"docs":{},"。":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012295081967213115}}}}}}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"的":{"docs":{},"委":{"docs":{},"托":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}},"相":{"docs":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"它":{"docs":{},"们":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}},"x":{"5":{"0":{"9":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"证":{"docs":{},"书":{"docs":{},"除":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"外":{"docs":{},"所":{"docs":{},"有":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"没":{"docs":{},"有":{"docs":{},"校":{"docs":{},"验":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"要":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"和":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"保":{"docs":{},"存":{"docs":{},"一":{"docs":{},"致":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"能":{"docs":{},"证":{"docs":{},"明":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"了":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},")":{"docs":{},",":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"证":{"docs":{},"书":{"docs":{},"和":{"docs":{},"域":{"docs":{},"名":{"docs":{},"不":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"8":{"6":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"_":{"6":{"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"docs":{}},"docs":{}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"docs":{}},"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"~":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"v":{"0":{"docs":{},".":{"5":{"docs":{},".":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"‘":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"’":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"’":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"’":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"•":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"✗":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"仔":{"docs":{},"细":{"docs":{},"检":{"docs":{},"查":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"输":{"docs":{},"出":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"软":{"docs":{},"件":{"docs":{},"或":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"启":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"获":{"docs":{},"得":{"docs":{},"有":{"docs":{},"关":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"动":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"、":{"docs":{},"一":{"docs":{},"条":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{},"与":{"docs":{},"上":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"创":{"docs":{},"建":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"新":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},".":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"0":{"docs":{},".":{"4":{"docs":{},".":{"docs":{},"x":{"docs":{},"(":{"docs":{},"x":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"docs":{}}},"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"意":{"docs":{},"弧":{"docs":{},"度":{"docs":{},";":{"docs":{},"整":{"docs":{},"个":{"docs":{},"进":{"docs":{},"度":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"是":{"docs":{},"整":{"docs":{},"圆":{"docs":{},"。":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}},"体":{"docs":{},"验":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},"积":{"docs":{},"小":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"小":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"分":{"docs":{},"隔":{"docs":{},"符":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"你":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},"很":{"docs":{},"多":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"被":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},",":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"工":{"docs":{},"程":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"手":{"docs":{},"动":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"通":{"docs":{},"过":{"docs":{},"向":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"包":{"docs":{},"的":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"性":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"声":{"docs":{},"明":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"强":{"docs":{},"制":{"docs":{},"使":{"docs":{},"用":{"docs":{},"特":{"docs":{},"定":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"多":{"docs":{},"次":{"docs":{},"看":{"docs":{},"到":{"docs":{},"过":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"u":{"docs":{},"s":{"docs":{},"b":{"docs":{},"将":{"docs":{},"手":{"docs":{},"机":{"docs":{},"插":{"docs":{},"入":{"docs":{},"电":{"docs":{},"脑":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"备":{"docs":{},"出":{"docs":{},"现":{"docs":{},"调":{"docs":{},"试":{"docs":{},"授":{"docs":{},"权":{"docs":{},"提":{"docs":{},"示":{"docs":{},",":{"docs":{},"请":{"docs":{},"授":{"docs":{},"权":{"docs":{},"你":{"docs":{},"的":{"docs":{},"电":{"docs":{},"脑":{"docs":{},"可":{"docs":{},"以":{"docs":{},"访":{"docs":{},"问":{"docs":{},"该":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"或":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"镜":{"docs":{},"像":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"消":{"docs":{},"除":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"简":{"docs":{},"化":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"消":{"docs":{},"除":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"也":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"包":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"随":{"docs":{},"机":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"包":{"docs":{},"含":{"docs":{},"你":{"docs":{},"想":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"包":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"也":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},"复":{"docs":{},"杂":{"docs":{},".":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":5}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"更":{"docs":{},"加":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{},"它":{"docs":{},"会":{"docs":{},"监":{"docs":{},"视":{"docs":{},"我":{"docs":{},"们":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"自":{"docs":{},"动":{"docs":{},"构":{"docs":{},"建":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"插":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.25},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":10.00280112044818}},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"非":{"docs":{},"常":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"文":{"docs":{},"本":{"docs":{},"分":{"docs":{},"离":{"docs":{},"成":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"和":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},"分":{"docs":{},"工":{"docs":{},"协":{"docs":{},"作":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"两":{"docs":{},"个":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"小":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"之":{"docs":{},"间":{"docs":{},"传":{"docs":{},"递":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{},"好":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"如":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"f":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"”":{"docs":{},"的":{"docs":{},"包":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"包":{"docs":{},"含":{"docs":{},"以":{"docs":{},"下":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"假":{"docs":{},"设":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"”":{"docs":{},"的":{"docs":{},"包":{"docs":{},",":{"docs":{},"它":{"docs":{},"具":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"转":{"docs":{},"储":{"docs":{},"中":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"图":{"docs":{},"片":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"认":{"docs":{},"为":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"来":{"docs":{},"采":{"docs":{},"取":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"会":{"docs":{},"启":{"docs":{},"动":{"docs":{},"它":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"依":{"docs":{},"赖":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"包":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},"位":{"docs":{},"于":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"以":{"docs":{},"下":{"docs":{},"语":{"docs":{},"法":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"平":{"docs":{},"台":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"延":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},"(":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},"会":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"一":{"docs":{},"次":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},")":{"docs":{},",":{"docs":{},"即":{"2":{"docs":{},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"“":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"”":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"项":{"docs":{},"目":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"刷":{"docs":{},"新":{"docs":{},"当":{"docs":{},"前":{"docs":{},"终":{"docs":{},"端":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"将":{"docs":{},"在":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"工":{"docs":{},"具":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"按":{"docs":{},"时":{"docs":{},"间":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"排":{"docs":{},"列":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"升":{"docs":{},"级":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"去":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"下":{"docs":{},"载":{"docs":{},"其":{"docs":{},"最":{"docs":{},"新":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},",":{"docs":{},"官":{"docs":{},"网":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"查":{"docs":{},"看":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}},"您":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"屏":{"docs":{},"幕":{"docs":{},"将":{"docs":{},"永":{"docs":{},"远":{"docs":{},"持":{"docs":{},"续":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"识":{"docs":{},"别":{"docs":{},"您":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"是":{"docs":{},"否":{"docs":{},"都":{"docs":{},"准":{"docs":{},"备":{"docs":{},"o":{"docs":{},"k":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"来":{"docs":{},"下":{"docs":{},"载":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}},"创":{"docs":{},"建":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"的":{"docs":{},"优":{"docs":{},"缺":{"docs":{},"点":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}},"最":{"docs":{},"大":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"直":{"docs":{},"观":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"但":{"docs":{},"其":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"明":{"docs":{},"显":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"传":{"docs":{},"递":{"docs":{},"路":{"docs":{},"由":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"参":{"docs":{},"数":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"中":{"docs":{},"心":{"docs":{},"将":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"安":{"docs":{},"装":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"插":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"目":{"docs":{},"录":{"docs":{},"是":{"docs":{},"“":{"docs":{},"~":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"”":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"代":{"docs":{},"码":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"问":{"docs":{},"题":{"docs":{},"?":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"之":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"运":{"docs":{},"行":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}},"卓":{"docs":{},"包":{"docs":{},"配":{"docs":{},"置":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"您":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}},"义":{"docs":{},"函":{"docs":{},"数":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"{":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"1":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"docs":{}}}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{},"确":{"docs":{},"定":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"布":{"docs":{},"尔":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"该":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"两":{"docs":{},"边":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{},"类":{"docs":{},",":{"docs":{},"要":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"类":{"docs":{},"f":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}},"\"":{"docs":{},"模":{"docs":{},"板":{"docs":{},"的":{"docs":{},"模":{"docs":{},"板":{"docs":{},"\"":{"docs":{},",":{"docs":{},"名":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"和":{"docs":{},"密":{"docs":{},"码":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},",":{"docs":{},"各":{"docs":{},"自":{"docs":{},"保":{"docs":{},"存":{"docs":{},"一":{"docs":{},"下":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"就":{"docs":{},"是":{"docs":{},"无":{"docs":{},"需":{"docs":{},"重":{"docs":{},"启":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"就":{"docs":{},"能":{"docs":{},"实":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"修":{"docs":{},"改":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"或":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"点":{"docs":{},"击":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},",":{"docs":{},"你":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"或":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"更":{"docs":{},"改":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1}}}}},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},",":{"docs":{},"将":{"docs":{},"语":{"docs":{},"言":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"对":{"docs":{},"应":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"交":{"docs":{},"互":{"docs":{},"式":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.25},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":10.008771929824562}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}},"际":{"docs":{},"业":{"docs":{},"务":{"docs":{},"中":{"docs":{},",":{"docs":{},"在":{"docs":{},"正":{"docs":{},"式":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{},"前":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"各":{"docs":{},"个":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"对":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"都":{"docs":{},"分":{"docs":{},"别":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{},"将":{"docs":{},"会":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"很":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},"事":{"docs":{},"。":{"docs":{},"还":{"docs":{},"有":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"想":{"docs":{},"清":{"docs":{},"除":{"docs":{},"一":{"docs":{},"组":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"一":{"docs":{},"个":{"docs":{},"清":{"docs":{},"除":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"只":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"一":{"docs":{},"个":{"docs":{},"定":{"docs":{},"制":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},":":{"docs":{},"无":{"docs":{},"限":{"docs":{},"加":{"docs":{},"载":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":10.004854368932039}}}}}}}}},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666}},"(":{"docs":{},"自":{"docs":{},"绘":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":10.001362397820163}}}}}}}}}}}}}},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"对":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"当":{"docs":{},"您":{"docs":{},"想":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"请":{"docs":{},"指":{"docs":{},"定":{"docs":{},"相":{"docs":{},"应":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"终":{"docs":{},"端":{"docs":{},"会":{"docs":{},"话":{"docs":{},"永":{"docs":{},"久":{"docs":{},"修":{"docs":{},"改":{"docs":{},"此":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"和":{"docs":{},"特":{"docs":{},"定":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"系":{"docs":{},"统":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"在":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"时":{"docs":{},"将":{"docs":{},"设":{"docs":{},"置":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"简":{"docs":{},"写":{"docs":{},"语":{"docs":{},"法":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"当":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"新":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"底":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"顶":{"docs":{},"部":{"docs":{},";":{"docs":{},"当":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"底":{"docs":{},"部":{"docs":{},"后":{"docs":{},"消":{"docs":{},"失":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"当":{"docs":{},"打":{"docs":{},"开":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"新":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"右":{"docs":{},"侧":{"docs":{},"边":{"docs":{},"缘":{"docs":{},"一":{"docs":{},"致":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"左":{"docs":{},"边":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},"全":{"docs":{},"部":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},",":{"docs":{},"而":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"则":{"docs":{},"会":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"而":{"docs":{},"消":{"docs":{},"失":{"docs":{},";":{"docs":{},"当":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"右":{"docs":{},"侧":{"docs":{},"滑":{"docs":{},"出":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"滑":{"docs":{},"入":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"读":{"docs":{},"者":{"docs":{},"现":{"docs":{},"在":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"作":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"展":{"docs":{},"开":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"对":{"docs":{},"其":{"docs":{},"有":{"docs":{},"个":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"再":{"docs":{},"深":{"docs":{},"入":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"混":{"docs":{},"合":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"非":{"docs":{},"常":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"自":{"docs":{},"身":{"docs":{},"管":{"docs":{},"理":{"docs":{},"一":{"docs":{},"些":{"docs":{},"内":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"管":{"docs":{},"理":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"外":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"复":{"docs":{},"杂":{"docs":{},"或":{"docs":{},"不":{"docs":{},"规":{"docs":{},"则":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"无":{"docs":{},"法":{"docs":{},"使":{"docs":{},"用":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"正":{"docs":{},"六":{"docs":{},"边":{"docs":{},"形":{"docs":{},"、":{"docs":{},"一":{"docs":{},"个":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"、":{"docs":{},"一":{"docs":{},"个":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"等":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},"有":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"图":{"docs":{},"片":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"动":{"docs":{},"态":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"静":{"docs":{},"态":{"docs":{},"图":{"docs":{},"片":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"了":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"手":{"docs":{},"写":{"docs":{},"输":{"docs":{},"入":{"docs":{},"面":{"docs":{},"板":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"来":{"docs":{},"自":{"docs":{},"己":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"并":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"何":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"好":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"有":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"之":{"docs":{},"分":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"布":{"docs":{},"局":{"docs":{},"是":{"docs":{},"沿":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"指":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"即":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"布":{"docs":{},"局":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{},"在":{"docs":{},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"定":{"docs":{},"义":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"其":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"证":{"docs":{},"书":{"docs":{},"验":{"docs":{},"证":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"走":{"docs":{},"到":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"请":{"docs":{},"求":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"等":{"docs":{},"同":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"在":{"docs":{},"主":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"或":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"功":{"docs":{},"能":{"docs":{},"即":{"docs":{},"可":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"1":{"docs":{},",":{"docs":{},"答":{"docs":{},"案":{"docs":{},"当":{"docs":{},"然":{"docs":{},"是":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"说":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"只":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"来":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"举":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"2":{"docs":{},",":{"docs":{},"答":{"docs":{},"案":{"docs":{},"当":{"docs":{},"然":{"docs":{},"也":{"docs":{},"是":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"做":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"使":{"docs":{},"重":{"docs":{},"新":{"docs":{},"执":{"docs":{},"行":{"docs":{},"变":{"docs":{},"的":{"docs":{},"很":{"docs":{},"快":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"任":{"docs":{},"何":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{},",":{"docs":{},"而":{"docs":{},"无":{"docs":{},"需":{"docs":{},"分":{"docs":{},"别":{"docs":{},"去":{"docs":{},"修":{"docs":{},"改":{"docs":{},"各":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"象":{"docs":{},"加":{"docs":{},"载":{"docs":{},":":{"docs":{},"每":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},"并":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{},";":{"docs":{},"另":{"docs":{},"外":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"(":{"docs":{},"来":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{},"显":{"docs":{},"示":{"docs":{},"为":{"docs":{},"黄":{"docs":{},"色":{"docs":{},"箭":{"docs":{},"头":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"队":{"docs":{},"列":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"都":{"docs":{},"将":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"础":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"如":{"docs":{},"用":{"docs":{},"于":{"2":{"docs":{},"d":{"docs":{},"图":{"docs":{},"形":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"套":{"docs":{},"规":{"docs":{},"则":{"docs":{},"来":{"docs":{},"描":{"docs":{},"述":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"如":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"原":{"docs":{},"则":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"来":{"docs":{},"为":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"生":{"docs":{},"成":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"文":{"docs":{},"档":{"docs":{},"注":{"docs":{},"释":{"docs":{},"语":{"docs":{},"法":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"文":{"docs":{},"档":{"docs":{},"注":{"docs":{},"释":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"网":{"docs":{},"站":{"docs":{},")":{"docs":{},"。":{"docs":{},"文":{"docs":{},"档":{"docs":{},"注":{"docs":{},"释":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"三":{"docs":{},"斜":{"docs":{},"线":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"/":{"docs":{},"/":{"docs":{},"\"":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"欲":{"docs":{},"善":{"docs":{},"其":{"docs":{},"事":{"docs":{},"必":{"docs":{},"先":{"docs":{},"利":{"docs":{},"其":{"docs":{},"器":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}},"带":{"docs":{},"\"":{"docs":{},"*":{"docs":{},"\"":{"docs":{},"号":{"docs":{},"的":{"docs":{},"分":{"docs":{},"支":{"docs":{},"即":{"docs":{},"你":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"规":{"docs":{},">":{"docs":{},"设":{"docs":{},"备":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"见":{"docs":{},"配":{"docs":{},"置":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":10.010752688172044}}}}}}},"用":{"docs":{},"于":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"如":{"docs":{},"网":{"docs":{},"络":{"docs":{},"内":{"docs":{},"容":{"docs":{},"下":{"docs":{},"载":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"写":{"docs":{},"等":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"信":{"docs":{},"任":{"docs":{},"您":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"在":{"docs":{},"那":{"docs":{},"里":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"非":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"将":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"放":{"docs":{},"在":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}},"混":{"docs":{},"入":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"这":{"docs":{},"些":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"官":{"docs":{},"方":{"docs":{},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"当":{"docs":{},"您":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{},"进":{"docs":{},"行":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"时":{"docs":{},"信":{"docs":{},"任":{"docs":{},"你":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"和":{"docs":{},"该":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"首":{"docs":{},"次":{"docs":{},"将":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"时":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"先":{"docs":{},"自":{"docs":{},"增":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"被":{"docs":{},"按":{"docs":{},"下":{"docs":{},"变":{"docs":{},"为":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"同":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"、":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"、":{"docs":{},"或":{"docs":{},"者":{"docs":{},"取":{"docs":{},"消":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"被":{"docs":{},"违":{"docs":{},"反":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"被":{"docs":{},"报":{"docs":{},"告":{"docs":{},"给":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"追":{"docs":{},"踪":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"根":{"docs":{},"源":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"个":{"docs":{},"网":{"docs":{},"格":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{},"通":{"docs":{},"过":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"传":{"docs":{},"递":{"docs":{},"到":{"docs":{},"原":{"docs":{},"生":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"收":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},"方":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"返":{"docs":{},"回":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"则":{"docs":{},"原":{"docs":{},"生":{"docs":{},"会":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"确":{"docs":{},"保":{"docs":{},"了":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"在":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"时":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"和":{"docs":{},"接":{"docs":{},"收":{"docs":{},"值":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"值":{"docs":{},"在":{"docs":{},"消":{"docs":{},"息":{"docs":{},"中":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"和":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"进":{"docs":{},"行":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"被":{"docs":{},"启":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"都":{"docs":{},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"明":{"docs":{},"亮":{"docs":{},"的":{"docs":{},"深":{"docs":{},"青":{"docs":{},"色":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"来":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"显":{"docs":{},"示":{"docs":{},"为":{"docs":{},"浅":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"周":{"docs":{},"围":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"深":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"框":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"试":{"docs":{},"布":{"docs":{},"局":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},",":{"docs":{},"关":{"docs":{},"键":{"docs":{},"要":{"docs":{},"看":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{},"约":{"docs":{},"束":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"树":{"docs":{},"向":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"向":{"docs":{},"上":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跨":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"跨":{"docs":{},"路":{"docs":{},"由":{"docs":{},")":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"步":{"docs":{},"时":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"很":{"docs":{},"难":{"docs":{},"胜":{"docs":{},"任":{"docs":{},"了":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"应":{"docs":{},"用":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"了":{"docs":{},"让":{"docs":{},"设":{"docs":{},"置":{"docs":{},"实":{"docs":{},"时":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"在":{"docs":{},"语":{"docs":{},"言":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"盒":{"docs":{},"子":{"docs":{},"并":{"docs":{},"且":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"都":{"docs":{},"失":{"docs":{},"去":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"时":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"就":{"docs":{},"会":{"docs":{},"收":{"docs":{},"起":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"超":{"docs":{},"过":{"docs":{},"显":{"docs":{},"示":{"docs":{},"视":{"docs":{},"口":{"docs":{},"(":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"则":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"(":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"监":{"docs":{},"听":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"和":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"触":{"docs":{},"发":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"有":{"2":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"左":{"docs":{},"右":{"docs":{},"的":{"docs":{},"延":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"完":{"docs":{},"之":{"docs":{},"后":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"再":{"docs":{},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"以":{"docs":{},"触":{"docs":{},"发":{"docs":{},"双":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"会":{"docs":{},"等":{"docs":{},"一":{"docs":{},"断":{"docs":{},"时":{"docs":{},"间":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"双":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"只":{"docs":{},"监":{"docs":{},"听":{"docs":{},"了":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"没":{"docs":{},"有":{"docs":{},"监":{"docs":{},"听":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"没":{"docs":{},"有":{"docs":{},"延":{"docs":{},"时":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"个":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"职":{"docs":{},"责":{"docs":{},"是":{"docs":{},"创":{"docs":{},"建":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"无":{"docs":{},"法":{"docs":{},"满":{"docs":{},"足":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"了":{"docs":{},"共":{"docs":{},"享":{"docs":{},"代":{"docs":{},"码":{"docs":{},"需":{"docs":{},"要":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"些":{"docs":{},"通":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"有":{"docs":{},"三":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"三":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"则":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"点":{"docs":{},"击":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"时":{"docs":{},",":{"docs":{},"两":{"docs":{},"个":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"都":{"docs":{},"会":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},",":{"docs":{},"但":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"运":{"docs":{},"行":{"docs":{},"一":{"docs":{},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"改":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"设":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"进":{"docs":{},"度":{"docs":{},",":{"docs":{},"取":{"docs":{},"值":{"docs":{},"范":{"docs":{},"围":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"字":{"docs":{},"体":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"即":{"docs":{},"一":{"docs":{},"个":{"docs":{},"物":{"docs":{},"理":{"docs":{},"相":{"docs":{},"许":{"docs":{},"显":{"docs":{},"示":{"docs":{},"多":{"docs":{},"少":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"数":{"docs":{},"字":{"docs":{},"越":{"docs":{},"大":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"就":{"docs":{},"越":{"docs":{},"精":{"docs":{},"细":{"docs":{},"保":{"docs":{},"真":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"\"":{"docs":{},"指":{"docs":{},"令":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"包":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"小":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"空":{"docs":{},"间":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},")":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"保":{"docs":{},"存":{"docs":{},"?":{"docs":{},"对":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"子":{"docs":{},"类":{"docs":{},"来":{"docs":{},"说":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"类":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"进":{"docs":{},"行":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"在":{"docs":{},"决":{"docs":{},"定":{"docs":{},"重":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"前":{"docs":{},"会":{"docs":{},"先":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"复":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"位":{"docs":{},"置":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"与":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"否":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"就":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"强":{"docs":{},"制":{"docs":{},"更":{"docs":{},"新":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"中":{"docs":{},"重":{"docs":{},"建":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"在":{"docs":{},"内":{"docs":{},"部":{"docs":{},"也":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"其":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"结":{"docs":{},"构":{"docs":{},"与":{"docs":{},"之":{"docs":{},"前":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"进":{"docs":{},"行":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"在":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"前":{"docs":{},"会":{"docs":{},"先":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"树":{"docs":{},"上":{"docs":{},"相":{"docs":{},"同":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"更":{"docs":{},"新":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"新":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"与":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"否":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"就":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"强":{"docs":{},"制":{"docs":{},"更":{"docs":{},"新":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"避":{"docs":{},"免":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"祖":{"docs":{},"先":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"决":{"docs":{},"定":{"docs":{},"要":{"docs":{},"移":{"docs":{},"除":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}},"然":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"并":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"所":{"docs":{},"有":{"docs":{},"和":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"就":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"指":{"docs":{},"向":{"docs":{},"兄":{"docs":{},"弟":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"和":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"也":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"们":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"对":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"。":{"docs":{},"再":{"docs":{},"比":{"docs":{},"如":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"改":{"docs":{},"变":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"您":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"您":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"或":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"打":{"docs":{},"开":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"完":{"docs":{},"全":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"。":{"docs":{},"在":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"以":{"docs":{},"可":{"docs":{},"视":{"docs":{},"方":{"docs":{},"式":{"docs":{},"调":{"docs":{},"试":{"docs":{},"布":{"docs":{},"局":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"网":{"docs":{},"格":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"在":{"docs":{},"非":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"上":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"访":{"docs":{},"问":{"docs":{},"其":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"取":{"docs":{},"语":{"docs":{},"义":{"docs":{},"树":{"docs":{},"(":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"给":{"docs":{},"系":{"docs":{},"统":{"docs":{},"可":{"docs":{},"访":{"docs":{},"问":{"docs":{},"性":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"树":{"docs":{},")":{"docs":{},"的":{"docs":{},"转":{"docs":{},"储":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"的":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"访":{"docs":{},"问":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"补":{"docs":{},"充":{"docs":{},"此":{"docs":{},"文":{"docs":{},"档":{"docs":{},"?":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"《":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"战":{"docs":{},"》":{"docs":{},"开":{"docs":{},"源":{"docs":{},"项":{"docs":{},"目":{"docs":{},"\"":{"docs":{},"贡":{"docs":{},"献":{"docs":{},"须":{"docs":{},"知":{"docs":{},"\"":{"docs":{},"。":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"找":{"docs":{},"到":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"者":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"是":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}},"(":{"docs":{},"或":{"docs":{},"创":{"docs":{},"建":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"`":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"`":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"首":{"docs":{},"选":{"docs":{},"项":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"终":{"docs":{},"端":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}},"包":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"指":{"docs":{},"定":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"放":{"docs":{},"置":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"按":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"的":{"docs":{},"确":{"docs":{},"定":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"针":{"docs":{},"按":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"以":{"docs":{},"及":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"事":{"docs":{},"件":{"docs":{},")":{"docs":{},"然":{"docs":{},"后":{"docs":{},"被":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"由":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"的":{"docs":{},"最":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"从":{"docs":{},"那":{"docs":{},"里":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"从":{"docs":{},"最":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"根":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"上":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"机":{"docs":{},"制":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},",":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"对":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"法":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"将":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"与":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"要":{"docs":{},"的":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"读":{"docs":{},"者":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"都":{"docs":{},"包":{"docs":{},"含":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"东":{"docs":{},"西":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"随":{"docs":{},"机":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"”":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"数":{"docs":{},"千":{"docs":{},"个":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"英":{"docs":{},"文":{"docs":{},"单":{"docs":{},"词":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"实":{"docs":{},"用":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"找":{"docs":{},"到":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"这":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"确":{"docs":{},"定":{"docs":{},"其":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"和":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"在":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"将":{"docs":{},"路":{"docs":{},"由":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"从":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"创":{"docs":{},"建":{"docs":{},"三":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"示":{"docs":{},"例":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"、":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"通":{"docs":{},"道":{"docs":{},"上":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"通":{"docs":{},"过":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"标":{"docs":{},"识":{"docs":{},"符":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"。":{"docs":{},"此":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"完":{"docs":{},"全":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"整":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"流":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},"在":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"里":{"docs":{},"创":{"docs":{},"建":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"确":{"docs":{},"保":{"docs":{},"使":{"docs":{},"用":{"docs":{},"与":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}},"覆":{"docs":{},"盖":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"库":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"指":{"docs":{},"定":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"和":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"来":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},",":{"docs":{},"修":{"docs":{},"改":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"回":{"docs":{},"调":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"和":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"为":{"docs":{},"入":{"docs":{},"口":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"如":{"docs":{},"何":{"docs":{},"支":{"docs":{},"持":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},".":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}},"语":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"到":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"原":{"docs":{},"理":{"docs":{},"谈":{"docs":{},"起":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"(":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},")":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"个":{"docs":{},"物":{"docs":{},"理":{"docs":{},"显":{"docs":{},"示":{"docs":{},"单":{"docs":{},"元":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"元":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"物":{"docs":{},"理":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"出":{"docs":{},"多":{"docs":{},"种":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"成":{"docs":{},"相":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"物":{"docs":{},"理":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"构":{"docs":{},"成":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"并":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"种":{"docs":{},"平":{"docs":{},"台":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"访":{"docs":{},"问":{"docs":{},"设":{"docs":{},"备":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"docs":{},"的":{"docs":{},"常":{"docs":{},"用":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"该":{"docs":{},"类":{"docs":{},"当":{"docs":{},"前":{"docs":{},"支":{"docs":{},"持":{"docs":{},"访":{"docs":{},"问":{"docs":{},"两":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"位":{"docs":{},"置":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.2},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":10}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.2},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":10}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.2},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":10.00438596491228}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}},"包":{"docs":{},":":{"docs":{},"一":{"docs":{},"种":{"docs":{},"专":{"docs":{},"用":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"针":{"docs":{},"对":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"或":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"和":{"docs":{},"针":{"docs":{},"对":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"c":{"docs":{},"或":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"插":{"docs":{},"件":{"docs":{},"包":{"docs":{},"括":{"docs":{},"原":{"docs":{},"生":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"是":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"插":{"docs":{},"件":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"槽":{"docs":{},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"插":{"docs":{},"槽":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"预":{"docs":{},"留":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"和":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"由":{"docs":{},"其":{"docs":{},"它":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"接":{"docs":{},"入":{"docs":{},"或":{"docs":{},"占":{"docs":{},"据":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"位":{"docs":{},"置":{"docs":{},"在":{"docs":{},"软":{"docs":{},"件":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"预":{"docs":{},"留":{"docs":{},"变":{"docs":{},"量":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"正":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"预":{"docs":{},"留":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"它":{"docs":{},"正":{"docs":{},"是":{"docs":{},"由":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"绘":{"docs":{},"制":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"多":{"docs":{},"种":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"文":{"docs":{},"件":{"docs":{},"数":{"docs":{},"组":{"docs":{},"上":{"docs":{},"传":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}},"查":{"docs":{},"看":{"docs":{},"“":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"”":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"中":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"向":{"docs":{},"上":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"你":{"docs":{},"电":{"docs":{},"脑":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"高":{"docs":{},"清":{"docs":{},"屏":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"可":{"docs":{},"以":{"docs":{},"反":{"docs":{},"向":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"中":{"docs":{},"间":{"docs":{},"切":{"docs":{},"换":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"除":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"之":{"docs":{},"外":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"类":{"docs":{},"型":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\\":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"注":{"docs":{},"意":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"渠":{"docs":{},"道":{"docs":{},"版":{"docs":{},"本":{"docs":{},"会":{"docs":{},"不":{"docs":{},"停":{"docs":{},"变":{"docs":{},"动":{"docs":{},",":{"docs":{},"请":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"为":{"docs":{},"准":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"在":{"docs":{},"中":{"docs":{},"国":{"docs":{},"大":{"docs":{},"陆":{"docs":{},"地":{"docs":{},"区":{"docs":{},",":{"docs":{},"要":{"docs":{},"想":{"docs":{},"正":{"docs":{},"常":{"docs":{},"获":{"docs":{},"取":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"列":{"docs":{},"表":{"docs":{},"或":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"翻":{"docs":{},"墙":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"或":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"构":{"docs":{},"建":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"其":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"才":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"叙":{"docs":{},"述":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"说":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"属":{"docs":{},"于":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"么":{"docs":{},"描":{"docs":{},"述":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"才":{"docs":{},"是":{"docs":{},"本":{"docs":{},"质":{"docs":{},"。":{"docs":{},"读":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"就":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"组":{"docs":{},"合":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"本":{"docs":{},"身":{"docs":{},"并":{"docs":{},"不":{"docs":{},"关":{"docs":{},"联":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"官":{"docs":{},"方":{"docs":{},"分":{"docs":{},"类":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"其":{"docs":{},"分":{"docs":{},"类":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"和":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"区":{"docs":{},"分":{"docs":{},"记":{"docs":{},"忆":{"docs":{},"。":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"示":{"docs":{},"例":{"docs":{},"可":{"docs":{},"能":{"docs":{},"随":{"docs":{},"着":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"版":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{},"而":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"会":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"产":{"docs":{},"生":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"不":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"为":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"所":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"向":{"docs":{},"根":{"docs":{},"去":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"在":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"行":{"docs":{},"。":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"回":{"docs":{},"调":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"除":{"docs":{},"了":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"之":{"docs":{},"外":{"docs":{},"还":{"docs":{},"有":{"docs":{},":":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},"、":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},"、":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"格":{"docs":{},"式":{"docs":{},"必":{"docs":{},"须":{"docs":{},"为":{"docs":{},"p":{"docs":{},"e":{"docs":{},"m":{"docs":{},"或":{"docs":{},"p":{"docs":{},"k":{"docs":{},"c":{"docs":{},"s":{"1":{"2":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"证":{"docs":{},"书":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{},"p":{"docs":{},"k":{"docs":{},"c":{"docs":{},"s":{"1":{"2":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"密":{"docs":{},"码":{"docs":{},"传":{"docs":{},"入":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"则":{"docs":{},"会":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"证":{"docs":{},"书":{"docs":{},"密":{"docs":{},"码":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"k":{"docs":{},"c":{"docs":{},"s":{"1":{"2":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"会":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"内":{"docs":{},"部":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"配":{"docs":{},"置":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"对":{"docs":{},"整":{"docs":{},"个":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"想":{"docs":{},"针":{"docs":{},"对":{"docs":{},"某":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"请":{"docs":{},"求":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"或":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"是":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},",":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"只":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"封":{"docs":{},"装":{"docs":{},"库":{"docs":{},",":{"docs":{},"它":{"docs":{},"并":{"docs":{},"不":{"docs":{},"像":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"那":{"docs":{},"样":{"docs":{},"需":{"docs":{},"要":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"和":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"器":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"损":{"docs":{},"失":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"有":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"两":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"见":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"存":{"docs":{},"在":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"当":{"docs":{},"你":{"docs":{},"根":{"docs":{},"据":{"docs":{},"上":{"docs":{},"述":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"依":{"docs":{},"旧":{"docs":{},"无":{"docs":{},"法":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"并":{"docs":{},"有":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"本":{"docs":{},"书":{"docs":{},"并":{"docs":{},"非":{"docs":{},"专":{"docs":{},"门":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"书":{"docs":{},"籍":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"本":{"docs":{},"章":{"docs":{},"主":{"docs":{},"要":{"docs":{},"会":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"语":{"docs":{},"法":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"更":{"docs":{},"多":{"docs":{},"了":{"docs":{},"解":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"官":{"docs":{},"网":{"docs":{},"学":{"docs":{},"习":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"上":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"料":{"docs":{},"已":{"docs":{},"经":{"docs":{},"很":{"docs":{},"多":{"docs":{},"了":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"加":{"docs":{},"上":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"继":{"docs":{},"承":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"重":{"docs":{},"写":{"docs":{},"其":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"包":{"docs":{},"含":{"docs":{},"@":{"docs":{},"m":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"标":{"docs":{},"注":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"都":{"docs":{},"要":{"docs":{},"在":{"docs":{},"子":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"需":{"docs":{},"先":{"docs":{},"进":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"导":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"并":{"docs":{},"非":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"特":{"docs":{},"有":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"来":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"较":{"docs":{},"少":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"规":{"docs":{},"律":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"像":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"也":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"后":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{},"(":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"取":{"docs":{},"消":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"单":{"docs":{},"例":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"做":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"+":{"docs":{},"工":{"docs":{},"厂":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"注":{"docs":{},"释":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"是":{"docs":{},"根":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"来":{"docs":{},"获":{"docs":{},"得":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"中":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"册":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"在":{"docs":{},"此":{"docs":{},"类":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"再":{"docs":{},"触":{"docs":{},"发":{"docs":{},"新":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"循":{"docs":{},"环":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}},"释":{"1":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"工":{"docs":{},"具":{"docs":{},"从":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"运":{"docs":{},"行":{"docs":{},"生":{"docs":{},"成":{"docs":{},"命":{"docs":{},"令":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"此":{"docs":{},"文":{"docs":{},"件":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"注":{"docs":{},"释":{"2":{"docs":{},"处":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"是":{"docs":{},"同":{"docs":{},"时":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},"处":{"docs":{},"和":{"docs":{},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"添":{"docs":{},"加":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"工":{"docs":{},"具":{"docs":{},"到":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"路":{"docs":{},"径":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"到":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"\"":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"\"":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"首":{"docs":{},"页":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"示":{"docs":{},"多":{"docs":{},"种":{"docs":{},"样":{"docs":{},"式":{"docs":{},"(":{"docs":{},"富":{"docs":{},"文":{"docs":{},"本":{"docs":{},")":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"表":{"docs":{},"头":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"后":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"从":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"挪":{"docs":{},"到":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"可":{"docs":{},"以":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"它":{"docs":{},"在":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"响":{"docs":{},"应":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"日":{"docs":{},"志":{"docs":{},"不":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{},"但":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"换":{"docs":{},"成":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"两":{"docs":{},"个":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"、":{"docs":{},"长":{"docs":{},"按":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"“":{"docs":{},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"请":{"docs":{},"求":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},"并":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"打":{"docs":{},"印":{"docs":{},"响":{"docs":{},"应":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"赏":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"请":{"docs":{},"作":{"docs":{},"者":{"docs":{},"喝":{"docs":{},"杯":{"docs":{},"咖":{"docs":{},"啡":{"docs":{},",":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"继":{"docs":{},"续":{"docs":{},"创":{"docs":{},"作":{"docs":{},"~":{"docs":{},"~":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},"则":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"本":{"docs":{},"会":{"docs":{},"随":{"docs":{},"机":{"docs":{},"排":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}},"或":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"再":{"docs":{},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"“":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"任":{"docs":{},"何":{"docs":{},"文":{"docs":{},"本":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"与":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"加":{"docs":{},"深":{"docs":{},"读":{"docs":{},"者":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"。":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"加":{"1":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"要":{"docs":{},"保":{"docs":{},"存":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"的":{"docs":{},"数":{"docs":{},"值":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"继":{"docs":{},"承":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"硬":{"docs":{},"件":{"docs":{},"加":{"docs":{},"速":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"绘":{"docs":{},"图":{"docs":{},"基":{"docs":{},"本":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}},"确":{"docs":{},"保":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"许":{"docs":{},"可":{"docs":{},"协":{"docs":{},"议":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"打":{"docs":{},"开":{"docs":{},"一":{"docs":{},"次":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"或":{"docs":{},"通":{"docs":{},"过":{"docs":{},"命":{"docs":{},"令":{"docs":{},"s":{"docs":{},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"没":{"docs":{},"有":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}},"与":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"您":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}},"等":{"docs":{},"待":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"创":{"docs":{},"建":{"docs":{},"继":{"docs":{},"续":{"docs":{},",":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"它":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"是":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"与":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"要":{"docs":{},"求":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"可":{"docs":{},"随":{"docs":{},"时":{"docs":{},"清":{"docs":{},"除":{"docs":{},"的":{"docs":{},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},"(":{"docs":{},"缓":{"docs":{},"存":{"docs":{},")":{"docs":{},"。":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"应":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"力":{"docs":{},"调":{"docs":{},"用":{"docs":{"todo.html":{"ref":"todo.html","tf":10}}}}}},"字":{"docs":{},"体":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"变":{"docs":{},"化":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"演":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"和":{"docs":{},"其":{"docs":{},"他":{"docs":{},"值":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"由":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}},"是":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"优":{"docs":{},"先":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"而":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"和":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"后":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"一":{"docs":{},"下":{"docs":{},",":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}},"应":{"docs":{},"用":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"当":{"docs":{},"前":{"docs":{},"区":{"docs":{},"域":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"就":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"界":{"docs":{},"面":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"达":{"docs":{},"到":{"docs":{},"切":{"docs":{},"换":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"主":{"docs":{},"动":{"docs":{},"去":{"docs":{},"监":{"docs":{},"听":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"时":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"失":{"docs":{},"去":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"时":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"菜":{"docs":{},"单":{"docs":{},"下":{"docs":{},"设":{"docs":{},"置":{"docs":{},"设":{"docs":{},"备":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"正":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"6":{"4":{"docs":{},"位":{"docs":{},"设":{"docs":{},"备":{"docs":{},"(":{"docs":{},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"文":{"docs":{},"本":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"要":{"docs":{},"为":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"准":{"docs":{},"备":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"并":{"docs":{},"测":{"docs":{},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"按":{"docs":{},"照":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"并":{"docs":{},"测":{"docs":{},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"并":{"docs":{},"测":{"docs":{},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"按":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"升":{"docs":{},"级":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"您":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"必":{"docs":{},"须":{"docs":{},"满":{"docs":{},"足":{"docs":{},"以":{"docs":{},"下":{"docs":{},"最":{"docs":{},"低":{"docs":{},"要":{"docs":{},"求":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"安":{"docs":{},"装":{"docs":{},"到":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"帐":{"docs":{},"户":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"(":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"启":{"docs":{},"动":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"(":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"打":{"docs":{},"文":{"docs":{},"件":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},",":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"它":{"docs":{},"资":{"docs":{},"源":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"要":{"docs":{},"先":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"它":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"您":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"您":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"看":{"docs":{},"您":{"docs":{},"的":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"想":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"提":{"docs":{},"供":{"docs":{},"并":{"docs":{},"注":{"docs":{},"册":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"称":{"docs":{},"来":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"给":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"第":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"像":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"它":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"常":{"docs":{},"规":{"docs":{},"和":{"docs":{},"两":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"。":{"docs":{},"简":{"docs":{},"而":{"docs":{},"言":{"docs":{},"之":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"是":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"工":{"docs":{},"具":{"docs":{},"、":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"和":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"相":{"docs":{},"似":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"解":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"导":{"docs":{},"致":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"或":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"别":{"docs":{},"设":{"docs":{},"置":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"和":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"首":{"docs":{},"先":{"docs":{},"启":{"docs":{},"用":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"启":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"工":{"docs":{},"具":{"docs":{},"或":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"提":{"docs":{},"供":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"声":{"docs":{},"明":{"docs":{},"位":{"docs":{},"于":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"中":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"在":{"5":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"生":{"docs":{},"成":{"docs":{},"从":{"0":{"docs":{},"到":{"2":{"5":{"5":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"发":{"docs":{},"布":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"性":{"docs":{},"能":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"和":{"docs":{},"测":{"docs":{},"量":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"任":{"docs":{},"意":{"docs":{},"代":{"docs":{},"码":{"docs":{},"段":{"docs":{},"的":{"docs":{},"w":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"/":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"出":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"/":{"docs":{},"结":{"docs":{},"束":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"切":{"docs":{},"换":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"布":{"docs":{},"尔":{"docs":{},"值":{"docs":{},"以":{"docs":{},"将":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"打":{"docs":{},"印":{"docs":{},"到":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"有":{"docs":{},"关":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"所":{"docs":{},"需":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"得":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"性":{"docs":{},"能":{"docs":{},"图":{"docs":{},",":{"docs":{},"请":{"docs":{},"将":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"储":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"库":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"多":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"将":{"docs":{},"该":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"该":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"`":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"检":{"docs":{},"索":{"docs":{},"由":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"压":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"到":{"docs":{},"你":{"docs":{},"想":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}},"依":{"docs":{},"赖":{"docs":{},"冲":{"docs":{},"突":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"释":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},";":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"值":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"两":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"是":{"docs":{},"无":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"从":{"docs":{},"左":{"docs":{},"往":{"docs":{},"右":{"docs":{},"显":{"docs":{},"示":{"docs":{},";":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"设":{"docs":{},"置":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"从":{"docs":{},"右":{"docs":{},"向":{"docs":{},"左":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"排":{"docs":{},"列":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"表":{"docs":{},"示":{"docs":{},"左":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"结":{"docs":{},"果":{"docs":{},"就":{"docs":{},"是":{"docs":{},"图":{"docs":{},"中":{"docs":{},"第":{"docs":{},"三":{"docs":{},"行":{"docs":{},"的":{"docs":{},"样":{"docs":{},"子":{"docs":{},";":{"docs":{},"第":{"docs":{},"四":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"是":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"两":{"docs":{},"个":{"docs":{},"子":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"字":{"docs":{},"体":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"其":{"docs":{},"高":{"docs":{},"度":{"docs":{},"也":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"即":{"docs":{},"从":{"docs":{},"低":{"docs":{},"向":{"docs":{},"顶":{"docs":{},"排":{"docs":{},"列":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"值":{"docs":{},"为":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"表":{"docs":{},"示":{"docs":{},"底":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"继":{"docs":{},"续":{"docs":{},"运":{"docs":{},"行":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"简":{"docs":{},"单":{"docs":{},"起":{"docs":{},"见":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"前":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"简":{"docs":{},"化":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.25},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":10.006896551724138}}}}}}}}}}},"该":{"docs":{},"命":{"docs":{},"令":{"docs":{},"会":{"docs":{},"同":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"你":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"并":{"docs":{},"在":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"报":{"docs":{},"告":{"docs":{},"。":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"带":{"docs":{},"“":{"docs":{},"➕":{"docs":{},"”":{"docs":{},"号":{"docs":{},"的":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"中":{"docs":{},"央":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},"就":{"docs":{},"会":{"docs":{},"加":{"1":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"该":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"来":{"docs":{},"填":{"docs":{},"充":{"docs":{},"小":{"docs":{},"部":{"docs":{},"件":{"docs":{},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"如":{"docs":{},"果":{"docs":{},"它":{"docs":{},"处":{"docs":{},"于":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"该":{"docs":{},"图":{"docs":{},"将":{"docs":{},"停":{"docs":{},"止":{"docs":{},"移":{"docs":{},"动":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},"用":{"docs":{},"橙":{"docs":{},"色":{"docs":{},"或":{"docs":{},"轮":{"docs":{},"廓":{"docs":{},"线":{"docs":{},"标":{"docs":{},"出":{"docs":{},"每":{"docs":{},"个":{"docs":{},"层":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"根":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"有":{"docs":{},"用":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"为":{"docs":{},"固":{"docs":{},"定":{"docs":{},"数":{"docs":{},"量":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"为":{"docs":{},"固":{"docs":{},"定":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"添":{"docs":{},"加":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"创":{"docs":{},"建":{"docs":{},"根":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"它":{"docs":{},"不":{"docs":{},"是":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"允":{"docs":{},"许":{"docs":{},"我":{"docs":{},"们":{"docs":{},"既":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"又":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"类":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"础":{"docs":{},"类":{"docs":{},"。":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"来":{"docs":{},"自":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"与":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"单":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"响":{"docs":{},"应":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"着":{"docs":{},"时":{"docs":{},"间":{"docs":{},"推":{"docs":{},"移":{"docs":{},"传":{"docs":{},"递":{"docs":{},"很":{"docs":{},"多":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"延":{"docs":{},"长":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"以":{"docs":{},"保":{"docs":{},"持":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"电":{"docs":{},"量":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"可":{"docs":{},"能":{"docs":{},"失":{"docs":{},"败":{"docs":{},"(":{"docs":{},"平":{"docs":{},"台":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"平":{"docs":{},"台":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"在":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"调":{"docs":{},"用":{"docs":{},"包":{"docs":{},"装":{"docs":{},"在":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跟":{"docs":{},"踪":{"docs":{},"的":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"要":{"docs":{},"切":{"docs":{},"换":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"性":{"docs":{},"能":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"输":{"docs":{},"出":{"docs":{},"保":{"docs":{},"存":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"程":{"docs":{},"目":{"docs":{},"录":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"。":{"docs":{},"输":{"docs":{},"出":{"docs":{},"列":{"docs":{},"出":{"docs":{},"了":{"docs":{},"从":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"这":{"docs":{},"些":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"以":{"docs":{},"微":{"docs":{},"秒":{"docs":{},"捕":{"docs":{},"获":{"docs":{},")":{"docs":{},"所":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"到":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"输":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748}},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"框":{"docs":{},"和":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":10}}}}},"内":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"文":{"docs":{},"本":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},"及":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.009569377990430622}},"启":{"docs":{},"动":{"docs":{},"你":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},"(":{"docs":{},"彩":{"docs":{},"色":{"docs":{},")":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}},"上":{"docs":{},"面":{"docs":{},"两":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"显":{"docs":{},"示":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"界":{"docs":{},"面":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}},"点":{"docs":{},"击":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"好":{"docs":{},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}}}}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"此":{"docs":{},"命":{"docs":{},"令":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"名":{"docs":{},"是":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"设":{"docs":{},"备":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"不":{"docs":{},"上":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}},"到":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"追":{"docs":{},"加":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.007974481658692184},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.016597510373443983}},"一":{"docs":{},"个":{"docs":{},"设":{"docs":{},"备":{"docs":{},"并":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"运":{"docs":{},"行":{"docs":{},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"列":{"docs":{},"出":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"检":{"docs":{},"查":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"再":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"能":{"docs":{},"避":{"docs":{},"免":{"docs":{},"层":{"docs":{},"层":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"层":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"写":{"docs":{},"同":{"docs":{},"步":{"docs":{},"代":{"docs":{},"码":{"docs":{},"那":{"docs":{},"样":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"而":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"了":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"直":{"docs":{},"接":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"解":{"docs":{},"释":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"上":{"docs":{},"传":{"docs":{},"多":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"你":{"docs":{},"对":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"应":{"docs":{},"该":{"docs":{},"有":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"初":{"docs":{},"步":{"docs":{},"的":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"平":{"docs":{},"时":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"结":{"docs":{},"合":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"谈":{"docs":{},"一":{"docs":{},"下":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"看":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"有":{"docs":{},"多":{"docs":{},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"是":{"docs":{},"取":{"docs":{},"父":{"docs":{},"子":{"docs":{},"中":{"docs":{},"相":{"docs":{},"应":{"docs":{},"数":{"docs":{},"值":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"这":{"docs":{},"样":{"docs":{},"才":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"父":{"docs":{},"限":{"docs":{},"制":{"docs":{},"与":{"docs":{},"子":{"docs":{},"限":{"docs":{},"制":{"docs":{},"不":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"事":{"docs":{},"情":{"docs":{},"得":{"docs":{},"我":{"docs":{},"们":{"docs":{},"手":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"再":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"文":{"docs":{},"件":{"docs":{},"上":{"docs":{},"传":{"docs":{},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"管":{"docs":{},"理":{"docs":{},"等":{"docs":{},"就":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},"。":{"docs":{},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"社":{"docs":{},"区":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"库":{"docs":{},",":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"来":{"docs":{},"发":{"docs":{},"起":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"将":{"docs":{},"会":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"多":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"目":{"docs":{},"前":{"docs":{},"人":{"docs":{},"气":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"库":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"封":{"docs":{},"装":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"效":{"docs":{},"果":{"docs":{},"来":{"docs":{},"复":{"docs":{},"用":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"放":{"docs":{},"大":{"docs":{},"动":{"docs":{},"画":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"访":{"docs":{},"问":{"docs":{},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},"包":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"全":{"docs":{},"局":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"图":{"docs":{},"标":{"docs":{},"就":{"docs":{},"像":{"docs":{},"使":{"docs":{},"用":{"docs":{},"文":{"docs":{},"本":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"需":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"每":{"docs":{},"个":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"码":{"docs":{},"点":{"docs":{},",":{"docs":{},"这":{"docs":{},"并":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"不":{"docs":{},"友":{"docs":{},"好":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"专":{"docs":{},"门":{"docs":{},"显":{"docs":{},"示":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"义":{"docs":{},"背":{"docs":{},"景":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"等":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"了":{"docs":{},",":{"docs":{},"再":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"失":{"docs":{},"去":{"docs":{},"了":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"、":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"和":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"变":{"docs":{},"得":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"出":{"docs":{},"错":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"访":{"docs":{},"问":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"或":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"字":{"docs":{},"段":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"很":{"docs":{},"快":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"字":{"docs":{},"段":{"docs":{},"名":{"docs":{},"打":{"docs":{},"错":{"docs":{},"了":{"docs":{},"。":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"不":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"个":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{},"字":{"docs":{},"段":{"docs":{},"名":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"不":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"它":{"docs":{},"们":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"与":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"是":{"docs":{},"否":{"docs":{},"选":{"docs":{},"中":{"docs":{},")":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"们":{"docs":{},"却":{"docs":{},"不":{"docs":{},"是":{"docs":{},"自":{"docs":{},"己":{"docs":{},"来":{"docs":{},"维":{"docs":{},"护":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"给":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"是":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"是":{"docs":{},"否":{"docs":{},"选":{"docs":{},"中":{"docs":{},"本":{"docs":{},"就":{"docs":{},"和":{"docs":{},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},"关":{"docs":{},"联":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"些":{"docs":{},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"思":{"docs":{},"考":{"docs":{},"一":{"docs":{},"下":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"最":{"docs":{},"为":{"docs":{},"合":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"所":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"真":{"docs":{},"正":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"直":{"docs":{},"接":{"docs":{},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"获":{"docs":{},"取":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"可":{"docs":{},"以":{"docs":{},"取":{"docs":{},"到":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"再":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"能":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"去":{"docs":{},"监":{"docs":{},"听":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"去":{"docs":{},"切":{"docs":{},"换":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"从":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"见":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":10}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"写":{"docs":{},"界":{"docs":{},"面":{"docs":{},"并":{"docs":{},"无":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"在":{"docs":{},"抽":{"docs":{},"离":{"docs":{},"出":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"代":{"docs":{},"码":{"docs":{},"规":{"docs":{},"范":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"必":{"docs":{},"要":{"docs":{},"参":{"docs":{},"数":{"docs":{},"要":{"docs":{},"用":{"docs":{},"@":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"起":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}},"了":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"认":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"没":{"docs":{},"有":{"docs":{},"命":{"docs":{},"中":{"docs":{},"。":{"docs":{},"在":{"docs":{},"继":{"docs":{},"承":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"重":{"docs":{},"写":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"写":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"来":{"docs":{},"间":{"docs":{},"接":{"docs":{},"加":{"docs":{},"载":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"或":{"docs":{},"其":{"docs":{},"它":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"句":{"docs":{},"柄":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"直":{"docs":{},"接":{"docs":{},"加":{"docs":{},"载":{"docs":{},"这":{"docs":{},"些":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":10}}}}}}}},"道":{"docs":{},"的":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"通":{"docs":{},"过":{"docs":{},"通":{"docs":{},"道":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"进":{"docs":{},"行":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"单":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遵":{"docs":{},"循":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"签":{"docs":{},"名":{"docs":{},"流":{"docs":{},"程":{"docs":{},"来":{"docs":{},"配":{"docs":{},"置":{"docs":{},"您":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"配":{"docs":{},"置":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"新":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"重":{"docs":{},"启":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"以":{"docs":{},"应":{"docs":{},"用":{"docs":{},"此":{"docs":{},"更":{"docs":{},"改":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"再":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},"都":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"些":{"docs":{},"人":{"docs":{},"会":{"docs":{},"担":{"docs":{},"心":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"话":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"用":{"docs":{},"户":{"docs":{},"再":{"docs":{},"改":{"docs":{},"变":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"时":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{},"。":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"每":{"docs":{},"当":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"会":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"加":{"docs":{},"载":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"还":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"两":{"docs":{},"个":{"docs":{},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"而":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"它":{"docs":{},"的":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"看":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"重":{"docs":{},"写":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"三":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"a":{"docs":{},"v":{"docs":{},"d":{"docs":{},"配":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"确":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"”":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"无":{"docs":{},"误":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"发":{"docs":{},"布":{"docs":{},"命":{"docs":{},"令":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"~":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"z":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"&":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"&":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},"#":{"docs":{},"x":{"docs":{},"e":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"1":{"4":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"docs":{}},"docs":{}},"docs":{}}}}},"{":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.03225806451612903},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.027426160337552744},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0343980343980344},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.04035874439461883},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.07692307692307693},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0511482254697286},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.06944444444444445},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.020491803278688523},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.027426160337552744},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.03125},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.055710306406685235},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.02040816326530612},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.026845637583892617},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.04857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.07407407407407407},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.059880239520958084},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.025380710659898477},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.07282415630550622},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05970149253731343},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.06329113924050633},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.016216216216216217},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.06596306068601583},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.03680981595092025},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.05454545454545454},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.046610169491525424},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.023255813953488372},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.06796116504854369},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.01809954751131222},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.031335149863760216},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.06818181818181818},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.02534562211981567},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.05},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.03544776119402985},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.026595744680851064},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.02631578947368421},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.07232704402515723},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.07053941908713693},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.043859649122807015},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.05322128851540616},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.043209876543209874},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.06505576208178439},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.06170598911070781}},"}":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04065040650406504}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"}":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}},"中":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"即":{"docs":{},"可":{"docs":{},"解":{"docs":{},"决":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"。":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}},"\"":{"docs":{},"漂":{"docs":{},"浮":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"它":{"docs":{},"默":{"docs":{},"认":{"docs":{},"带":{"docs":{},"有":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"和":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"背":{"docs":{},"景":{"docs":{},"。":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},",":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"会":{"docs":{},"变":{"docs":{},"大":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"和":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"它":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"和":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"以":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"正":{"docs":{},"常":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"都":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"相":{"docs":{},"同":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"并":{"docs":{},"加":{"docs":{},"上":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}},"无":{"docs":{},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}},"论":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"其":{"docs":{},"实":{"docs":{},"只":{"docs":{},"是":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"会":{"docs":{},"传":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"少":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"库":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}},"点":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}},"!":{"docs":{},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.01486988847583643},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"b":{"docs":{},"t":{"docs":{},"n":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}},"\"":{"0":{"docs":{},"%":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},"1":{"2":{"3":{"4":{"5":{"6":{"7":{"8":{"9":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"1":{"8":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}},"docs":{}},"docs":{}},"docs":{}},"5":{"docs":{},".":{"2":{"0":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}},"docs":{}},"docs":{}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.016877637130801686}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}},"w":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"b":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"2":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"u":{"docs":{},"/":{"2":{"0":{"4":{"1":{"1":{"6":{"4":{"8":{"docs":{},"?":{"docs":{},"s":{"docs":{},"=":{"4":{"6":{"0":{"docs":{},"&":{"docs":{},"v":{"docs":{},"=":{"4":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.013059701492537313}}}}}},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"u":{"docs":{},"m":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"_":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"内":{"docs":{},"容":{"docs":{},"固":{"docs":{},"定":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"b":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"\"":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"1":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"2":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"[":{"docs":{},"]":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"[":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}},"\"":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"z":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"/":{"5":{"docs":{},".":{"0":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}}},"docs":{}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}},"p":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"2":{"docs":{},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"docs":{}}}}},"m":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"*":{"4":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"6":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"docs":{}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}},"2":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}},"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}},"r":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"\"":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},")":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"\\":{"docs":{},"u":{"docs":{},"e":{"9":{"1":{"4":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"docs":{}},"docs":{}},"docs":{}}}},"密":{"docs":{},"码":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}},"不":{"docs":{},"能":{"docs":{},"少":{"docs":{},"于":{"6":{"docs":{},"位":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"docs":{}}}}}}},"您":{"docs":{},"的":{"docs":{},"登":{"docs":{},"录":{"docs":{},"密":{"docs":{},"码":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"或":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}}}}}}}},"电":{"docs":{},"子":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"地":{"docs":{},"址":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.058823529411764705}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}}},"历":{"docs":{},"史":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"图":{"docs":{},"片":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"g":{"docs":{},"h":{"docs":{},"i":{"docs":{},"j":{"docs":{},"k":{"docs":{},"l":{"docs":{},"m":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"q":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"v":{"docs":{},"w":{"docs":{},"x":{"docs":{},"y":{"docs":{},"z":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"#":{"docs":{},"#":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"#":{"docs":{},"#":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}},".":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"{":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"好":{"docs":{},"世":{"docs":{},"界":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}},"点":{"docs":{},"我":{"docs":{},"变":{"docs":{},"色":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},"原":{"docs":{},"图":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"d":{"docs":{},"\"":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"失":{"docs":{},"败":{"docs":{},":":{"docs":{},"$":{"docs":{},"e":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"+":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"不":{"docs":{},"通":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"o":{"docs":{},"h":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"\"":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"h":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}},"@":{"docs":{},"@":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"z":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}}}}}},"{":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},",":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}},"=":{"0":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"没":{"docs":{},"有":{"docs":{},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"}":{"docs":{},"=":{"1":{"docs":{},"{":{"docs":{},"有":{"docs":{},"{":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"}":{"docs":{},"封":{"docs":{},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"}":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"{":{"docs":{},"有":{"docs":{},"{":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"}":{"docs":{},"封":{"docs":{},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"}":{"docs":{},"}":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.016877637130801686},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.030100334448160536},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.011482254697286013},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0163265306122449},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024390243902439025},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.02185792349726776},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.026737967914438502},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.06091370558375635},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.031746031746031744},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.023391812865497075},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023809523809523808},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012658227848101266},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.046875},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.022284122562674095},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.053061224489795916},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.025714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.02030456852791878},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.023090586145648313},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05970149253731343},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.05405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023746701846965697},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024539877300613498},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.02912621359223301},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.07239819004524888},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.039509536784741145},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.022727272727272728},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.03686635944700461},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.04929577464788732},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.02727272727272727},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.020522388059701493},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.02631578947368421},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.040880503144654086},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.03734439834024896},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.022304832713754646},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.023593466424682397}},">":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.007306889352818371},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04065040650406504},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.023952095808383235},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03550295857988166},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.016791044776119403},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.023593466424682397}}},"=":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.04477611940298507},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.016597510373443983},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.009074410163339383}}},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}},"_":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},"s":{"docs":{},"[":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"6":{"1":{"6":{"0":{"6":{"3":{"8":{"2":{"2":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"4":{"2":{"7":{"7":{"4":{"2":{"3":{"5":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"5":{"5":{"2":{"1":{"6":{"0":{"7":{"3":{"2":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"1":{"4":{"7":{"2":{"6":{"4":{"9":{"5":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"5":{"4":{"3":{"2":{"9":{"5":{"8":{"9":{"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.010899182561307902}}}}}}}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281}},"e":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},"确":{"docs":{},"定":{"docs":{},"颜":{"docs":{},"色":{"docs":{},":":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},"=":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},".":{"0":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},"docs":{}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"维":{"docs":{},"护":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"k":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"+":{"docs":{},"=":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"?":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},";":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},";":{"docs":{},"\\":{"docs":{},"r":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}},"类":{"docs":{},"是":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"类":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"类":{"docs":{},"。":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"和":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"1":{"0":{"0":{"9":{"8":{"0":{"3":{"1":{"4":{"8":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"5":{"9":{"1":{"0":{"6":{"0":{"3":{"4":{"docs":{},")":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"3":{"9":{"8":{"7":{"2":{"4":{"0":{"9":{"0":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"7":{"8":{"0":{"1":{"1":{"4":{"9":{"9":{"7":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"8":{"7":{"5":{"5":{"1":{"0":{"6":{"4":{"5":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"u":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},"+":{"docs":{},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"+":{"docs":{},"\"":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004536616979909268}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"3":{"3":{"1":{"4":{"8":{"7":{"6":{"7":{"4":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"3":{"9":{"5":{"8":{"4":{"4":{"4":{"8":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"=":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},")":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"$":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"{":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0035644847699287103}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"2":{"7":{"9":{"9":{"7":{"1":{"2":{"4":{"0":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"3":{"9":{"1":{"3":{"7":{"4":{"5":{"3":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{},"在":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"d":{"docs":{},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"从":{"docs":{},"异":{"docs":{},"步":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"需":{"docs":{},"要":{"2":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"将":{"docs":{},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0035644847699287103}}}}},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087}},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"点":{"docs":{},"击":{"docs":{},"链":{"docs":{},"接":{"docs":{},"后":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"(":{"docs":{},"代":{"docs":{},"码":{"docs":{},"已":{"docs":{},"省":{"docs":{},"略":{"docs":{},")":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"的":{"docs":{},"更":{"docs":{},"多":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"单":{"docs":{},"独":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"其":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},";":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"在":{"docs":{},"其":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.009216589861751152},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.013636363636363636}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}},"p":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"5":{"5":{"2":{"9":{"0":{"2":{"1":{"5":{"8":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"=":{"2":{"0":{"0":{"docs":{},"*":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},".":{"8":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.005219206680584551}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"c":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"当":{"docs":{},"前":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}},"b":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.009216589861751152}}}}}},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"[":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"]":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"e":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"docs":{}}}}}}}}}}}}}},"$":{"docs":{},"%":{"docs":{},"s":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}}}}}}}}}},"…":{"docs":{},"}":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"/":{"2":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"docs":{}}},"3":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"docs":{}}},"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"1":{"docs":{},".":{"5":{"docs":{},"x":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"docs":{}}},"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"1":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"2":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"3":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"x":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709}}}}}},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"精":{"docs":{},"确":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"、":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"等":{"docs":{},"等":{"docs":{},"而":{"docs":{},"变":{"docs":{},"化":{"docs":{},")":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"、":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"首":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{},"有":{"docs":{},"无":{"docs":{},"溢":{"docs":{},"出":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"中":{"docs":{},"打":{"docs":{},"开":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"父":{"docs":{},"级":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"照":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"从":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"异":{"docs":{},"步":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"包":{"docs":{},"的":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"每":{"docs":{},"次":{"docs":{},"生":{"docs":{},"成":{"2":{"0":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"包":{"docs":{},"装":{"docs":{},"(":{"docs":{},"组":{"docs":{},"合":{"docs":{},")":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}},"说":{"docs":{},"明":{"docs":{},"已":{"docs":{},"经":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"注":{"docs":{},"释":{"docs":{},"里":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}},"大":{"docs":{},"致":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"是":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{},"自":{"docs":{},"身":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"理":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"还":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"都":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"语":{"docs":{},"法":{"docs":{},"糖":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"或":{"docs":{},"解":{"docs":{},"释":{"docs":{},"器":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"链":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},"都":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},",":{"docs":{},"而":{"docs":{},"也":{"docs":{},"早":{"docs":{},"就":{"docs":{},"有":{"docs":{},"了":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"即":{"docs":{},"“":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"正":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"所":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"也":{"docs":{},"都":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"关":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"更":{"docs":{},"多":{"docs":{},"内":{"docs":{},"容":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"“":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"”":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"读":{"docs":{},"者":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"确":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"与":{"docs":{},"日":{"docs":{},"志":{"docs":{},"收":{"docs":{},"集":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}},"的":{"docs":{},"值":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}},"中":{"docs":{},"m":{"docs":{},"和":{"docs":{},"n":{"docs":{},"是":{"docs":{},"数":{"docs":{},"字":{"docs":{},"标":{"docs":{},"识":{"docs":{},"符":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"于":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"例":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"都":{"docs":{},"是":{"docs":{},"自":{"docs":{},"解":{"docs":{},"释":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"构":{"docs":{},"建":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\"":{"docs":{},"为":{"docs":{},"认":{"docs":{},"证":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"角":{"docs":{},"色":{"docs":{},"的":{"docs":{},"分":{"docs":{},"组":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"添":{"docs":{},"加":{"docs":{},"分":{"docs":{},"组":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"变":{"docs":{},"量":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"内":{"docs":{},"部":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"包":{"docs":{},"装":{"docs":{},"一":{"docs":{},"组":{"docs":{},"函":{"docs":{},"数":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"[":{"docs":{},"]":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":10.006944444444445}}}},"含":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"称":{"docs":{},"、":{"docs":{},"是":{"docs":{},"否":{"docs":{},"初":{"docs":{},"始":{"docs":{},"路":{"docs":{},"由":{"docs":{},"(":{"docs":{},"首":{"docs":{},"页":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"等":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{},"如":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"等":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"在":{"docs":{},"其":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"未":{"docs":{},"在":{"docs":{},"其":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"要":{"docs":{},"打":{"docs":{},"包":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"包":{"docs":{},"含":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"图":{"docs":{},"像":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter11/":{"ref":"chapter11/","tf":10.2}}}}},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"主":{"docs":{},"要":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"从":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"提":{"docs":{},"取":{"docs":{},"要":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"到":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"和":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"引":{"docs":{},"用":{"docs":{},"和":{"docs":{},"加":{"docs":{},"载":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"生":{"docs":{},"成":{"docs":{},"后":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"一":{"docs":{},"步":{"docs":{},"步":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"如":{"docs":{},"何":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"只":{"docs":{},"能":{"docs":{},"被":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"常":{"docs":{},"量":{"docs":{},",":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"变":{"docs":{},"量":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"被":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"。":{"docs":{},"被":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"或":{"docs":{},"者":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"变":{"docs":{},"量":{"docs":{},"类":{"docs":{},"型":{"docs":{},"可":{"docs":{},"以":{"docs":{},"省":{"docs":{},"略":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"体":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}},"换":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":10}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"等":{"docs":{},"待":{"docs":{},"该":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"异":{"docs":{},"步":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"往":{"docs":{},"下":{"docs":{},"走":{"docs":{},";":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"必":{"docs":{},"须":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"地":{"docs":{},"狱":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}},"中":{"docs":{},"打":{"docs":{},"印":{"docs":{},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"绑":{"docs":{},"定":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"手":{"docs":{},"势":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"是":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"事":{"docs":{},"件":{"docs":{},"模":{"docs":{},"型":{"docs":{},"与":{"docs":{},"底":{"docs":{},"层":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"完":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"行":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"观":{"docs":{},"的":{"docs":{},"来":{"docs":{},"讲":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"语":{"docs":{},"法":{"docs":{},"层":{"docs":{},"面":{"docs":{},"确":{"docs":{},"实":{"docs":{},"比":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"更":{"docs":{},"有":{"docs":{},"表":{"docs":{},"现":{"docs":{},"力":{"docs":{},";":{"docs":{},"在":{"docs":{},"v":{"docs":{},"m":{"docs":{},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"验":{"docs":{},"证":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"登":{"docs":{},"录":{"docs":{},"验":{"docs":{},"证":{"docs":{},"过":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"到":{"docs":{},"响":{"docs":{},"应":{"docs":{},"码":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"和":{"docs":{},"密":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"编":{"docs":{},"码":{"docs":{},"(":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},":":{"docs":{},"密":{"docs":{},"码":{"docs":{},")":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"4":{"docs":{},"秒":{"docs":{},"后":{"docs":{},"你":{"docs":{},"会":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"“":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"循":{"docs":{},"环":{"docs":{},"机":{"docs":{},"制":{"docs":{},"便":{"docs":{},"启":{"docs":{},"动":{"docs":{},"了":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"当":{"docs":{},"所":{"docs":{},"有":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"后":{"docs":{},"便":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},"再":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"如":{"docs":{},"此":{"docs":{},"循":{"docs":{},"环":{"docs":{},"往":{"docs":{},"复":{"docs":{},",":{"docs":{},"生":{"docs":{},"生":{"docs":{},"不":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"矩":{"docs":{},"形":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"抛":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"常":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"两":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"等":{"docs":{},"两":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"两":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"两":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{},"两":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}},"。":{"docs":{},"并":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"说":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"职":{"docs":{},"责":{"docs":{},"是":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"会":{"docs":{},"组":{"docs":{},"成":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"位":{"docs":{},"他":{"docs":{},"们":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"左":{"docs":{},"右":{"docs":{},"四":{"docs":{},"条":{"docs":{},"边":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},"都":{"docs":{},"加":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"句":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},"的":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"并":{"docs":{},"允":{"docs":{},"许":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"重":{"docs":{},"构":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"具":{"docs":{},"体":{"docs":{},"内":{"docs":{},"容":{"docs":{},"将":{"docs":{},"其":{"docs":{},"转":{"docs":{},"为":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"或":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"他":{"docs":{},"们":{"docs":{},"来":{"docs":{},"查":{"docs":{},"找":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}},"执":{"docs":{},"行":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"保":{"docs":{},"存":{"docs":{},"子":{"docs":{},"节":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"记":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"提":{"docs":{},"示":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"提":{"docs":{},"示":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"子":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"些":{"docs":{},"和":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"就":{"docs":{},"会":{"docs":{},"将":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"中":{"docs":{},"(":{"docs":{},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"如":{"docs":{},"上":{"docs":{},"文":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"除":{"docs":{},"布":{"docs":{},"局":{"docs":{},"或":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"外":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"般":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"从":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"综":{"docs":{},"上":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"还":{"docs":{},"是":{"docs":{},"很":{"docs":{},"看":{"docs":{},"好":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"将":{"docs":{},"来":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"表":{"docs":{},"这":{"docs":{},"个":{"docs":{},"态":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},"发":{"docs":{},"展":{"docs":{},"初":{"docs":{},"期":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"有":{"docs":{},"所":{"docs":{},"摇":{"docs":{},"摆":{"docs":{},",":{"docs":{},"有":{"docs":{},"所":{"docs":{},"犹":{"docs":{},"豫":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"打":{"docs":{},"一":{"docs":{},"剂":{"docs":{},"强":{"docs":{},"心":{"docs":{},"针":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"见":{"docs":{},"仁":{"docs":{},"见":{"docs":{},"智":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"各":{"docs":{},"抒":{"docs":{},"己":{"docs":{},"见":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"开":{"docs":{},"发":{"docs":{},"带":{"docs":{},"来":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"当":{"docs":{},"路":{"docs":{},"由":{"docs":{},"需":{"docs":{},"要":{"docs":{},"参":{"docs":{},"数":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"则":{"docs":{},"不":{"docs":{},"够":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},")":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},"=":{"docs":{},">":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"是":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"官":{"docs":{},"方":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"间":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":10.004484304932735}}}},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"指":{"docs":{},"页":{"docs":{},"面":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"跟":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"概":{"docs":{},"念":{"docs":{},"意":{"docs":{},"义":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"指":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"指":{"docs":{},"一":{"docs":{},"个":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"管":{"docs":{},"理":{"docs":{},"页":{"docs":{},"面":{"docs":{},"之":{"docs":{},"间":{"docs":{},"如":{"docs":{},"何":{"docs":{},"跳":{"docs":{},"转":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"也":{"docs":{},"可":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{},"导":{"docs":{},"航":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"还":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"导":{"docs":{},"航":{"docs":{},"管":{"docs":{},"理":{"docs":{},"都":{"docs":{},"会":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"栈":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{},"操":{"docs":{},"作":{"docs":{},"对":{"docs":{},"应":{"docs":{},"打":{"docs":{},"开":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},"操":{"docs":{},"作":{"docs":{},"对":{"docs":{},"应":{"docs":{},"页":{"docs":{},"面":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"而":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"指":{"docs":{},"如":{"docs":{},"何":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"路":{"docs":{},"由":{"docs":{},"栈":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}},"a":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}},"b":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}},"径":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"相":{"docs":{},"对":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.032520325203252036},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.025210084033613446},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.015027322404371584},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.05263157894736842},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.03571428571428571},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0273972602739726},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0343980343980344},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.026905829596412557},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018789144050104383},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0326530612244898},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.040983606557377046},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0481283422459893},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.10071942446043165},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.047619047619047616},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.03296703296703297},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.017543859649122806},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0547945205479452},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.06040268456375839},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.0379746835443038},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.046875},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.06040268456375839},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.017142857142857144},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.017964071856287425},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.050761421319796954},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.05917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.023090586145648313},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.03164556962025317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.05454545454545454},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.05084745762711865},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.05813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.019417475728155338},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.039509536784741145},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.02727272727272727},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.013157894736842105},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.036734693877551024},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.013927576601671309},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.014285714285714285},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0189873417721519},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.018469656992084433},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.03636363636363636},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.029661016949152543},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.019417475728155338},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.008174386920980926},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.013636363636363636},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},")":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}},";":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.008425145819831496},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012526096033402923},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},"{":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"}":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"该":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"输":{"docs":{},"入":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"取":{"docs":{},"值":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"e":{"docs":{},"p":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"n":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"分":{"docs":{},"析":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"器":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"别":{"docs":{},"指":{"docs":{},"定":{"docs":{},"四":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"将":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"会":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"边":{"docs":{},"界":{"docs":{},"。":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"标":{"docs":{},"题":{"docs":{},"和":{"docs":{},"包":{"docs":{},"含":{"docs":{},"主":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"的":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"再":{"docs":{},"由":{"docs":{},"我":{"docs":{},"们":{"docs":{},"手":{"docs":{},"写":{"docs":{},"和":{"docs":{},"维":{"docs":{},"护":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"产":{"docs":{},"生":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"异":{"docs":{},"常":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},"降":{"docs":{},"至":{"docs":{},"最":{"docs":{},"低":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"期":{"docs":{},"望":{"docs":{},"直":{"docs":{},"接":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"被":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"义":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"统":{"docs":{},"(":{"docs":{},"如":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"定":{"docs":{},"位":{"docs":{},"是":{"docs":{},"在":{"docs":{},"笛":{"docs":{},"卡":{"docs":{},"尔":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"中":{"docs":{},"还":{"docs":{},"是":{"docs":{},"极":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"?":{"docs":{},")":{"docs":{},"和":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"协":{"docs":{},"议":{"docs":{},"(":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"还":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"?":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"否":{"docs":{},"由":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"布":{"docs":{},"局":{"docs":{},"之":{"docs":{},"前":{"docs":{},"或":{"docs":{},"之":{"docs":{},"后":{"docs":{},"设":{"docs":{},"置":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"位":{"docs":{},"置":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"布":{"docs":{},"局":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"统":{"docs":{},"采":{"docs":{},"用":{"docs":{},"笛":{"docs":{},"卡":{"docs":{},"尔":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"原":{"docs":{},"生":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"、":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"是":{"docs":{},"原":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"分":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"两":{"docs":{},"个":{"docs":{},"轴":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},"或":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"入":{"docs":{},"包":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},";":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"和":{"docs":{},"导":{"docs":{},"入":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},",":{"docs":{},"路":{"docs":{},"径":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}},"航":{"docs":{},"栏":{"docs":{},"右":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"边":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"享":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"底":{"docs":{},"部":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"为":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"返":{"docs":{},"回":{"docs":{},"拦":{"docs":{},"截":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":5}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"或":{"docs":{},"包":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"、":{"docs":{},"简":{"docs":{},"介":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"部":{"docs":{},"分":{"docs":{},"通":{"docs":{},"过":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"(":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"在":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"做":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"。":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"收":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"根":{"docs":{},"据":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"它":{"docs":{},"是":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"代":{"docs":{},"表":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"。":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"类":{"docs":{},"比":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"的":{"docs":{},"之":{"docs":{},"间":{"docs":{},"是":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},",":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"可":{"docs":{},"以":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"、":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"或":{"docs":{},"修":{"docs":{},"改":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"如":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"、":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"所":{"docs":{},"有":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"这":{"docs":{},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"时":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"为":{"docs":{},"“":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"每":{"docs":{},"次":{"docs":{},"热":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"切":{"docs":{},"换":{"docs":{},"语":{"docs":{},"言":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"触":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"完":{"docs":{},"成":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"父":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"全":{"docs":{},"部":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"布":{"docs":{},"局":{"docs":{},"流":{"docs":{},"程":{"docs":{},"才":{"docs":{},"算":{"docs":{},"真":{"docs":{},"正":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"将":{"docs":{},"会":{"docs":{},"变":{"docs":{},"成":{"docs":{},":":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"下":{"docs":{},"方":{"docs":{},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}},"来":{"docs":{},"移":{"docs":{},"除":{"docs":{},"它":{"docs":{},",":{"docs":{},"移":{"docs":{},"除":{"docs":{},"后":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"从":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"用":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"该":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"实":{"docs":{},"现":{"docs":{},"(":{"docs":{},"省":{"docs":{},"略":{"docs":{},"了":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{},")":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},",":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"会":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"当":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"都":{"docs":{},"干":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"事":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"支":{"docs":{},"持":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"变":{"docs":{},"体":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{},"不":{"docs":{},"同":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"的":{"docs":{},"各":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"访":{"docs":{},"问":{"docs":{},"不":{"docs":{},"便":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}},"管":{"docs":{},"理":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"重":{"docs":{},"构":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{},"程":{"docs":{},"(":{"docs":{},"即":{"docs":{},"设":{"docs":{},"置":{"docs":{},"宽":{"docs":{},"高":{"docs":{},")":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"优":{"docs":{},"雅":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"把":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{},"程":{"docs":{},"也":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"会":{"docs":{},"好":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"而":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"将":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"从":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"构":{"docs":{},"造":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"消":{"docs":{},"息":{"docs":{},"通":{"docs":{},"道":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}},"户":{"docs":{},"名":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"提":{"docs":{},"示":{"docs":{},"“":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},":":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"2":{"6":{"docs":{},".":{"3":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"途":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}},"继":{"docs":{},"承":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"不":{"docs":{},"便":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"所":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"都":{"docs":{},"由":{"docs":{},"其":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"应":{"docs":{},"用":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}},"示":{"docs":{},"例":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":10}}}}}}},"设":{"docs":{},"置":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"自":{"docs":{},"增":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"其":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"为":{"docs":{},":":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"其":{"docs":{},"内":{"docs":{},"容":{"docs":{},"上":{"docs":{},"设":{"docs":{},"置":{"docs":{},"最":{"docs":{},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"为":{"8":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"设":{"docs":{},"置":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"3":{"6":{"docs":{},".":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"(":{"docs":{},"这":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"的":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"在":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"给":{"docs":{},"了":{"docs":{},"子":{"docs":{},"树":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"节":{"docs":{},"点":{"docs":{},"处":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"默":{"docs":{},"认":{"docs":{},"都":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"该":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"显":{"docs":{},"示":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"继":{"docs":{},"承":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"注":{"docs":{},"释":{"2":{"docs":{},"。":{"docs":{},"示":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"从":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"开":{"docs":{},"始":{"docs":{},"选":{"docs":{},"中":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"有":{"docs":{},"些":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"只":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"可":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},",":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"试":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"?":{"docs":{},"这":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"性":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"则":{"docs":{},"会":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}},"所":{"docs":{},"谓":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"即":{"docs":{},"指":{"docs":{},"沿":{"docs":{},"水":{"docs":{},"平":{"docs":{},"或":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"排":{"docs":{},"布":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"控":{"docs":{},"件":{"docs":{},"。":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},"”":{"docs":{},"或":{"docs":{},"“":{"docs":{},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"”":{"docs":{},",":{"docs":{},"平":{"docs":{},"台":{"docs":{},"指":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"如":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"或":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{},"就":{"docs":{},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"正":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"这":{"docs":{},"些":{"docs":{},"标":{"docs":{},"志":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"以":{"docs":{},"“":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"”":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"向":{"docs":{},"均":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"数":{"docs":{},"值":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"都":{"docs":{},"由":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"驱":{"docs":{},"动":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"动":{"docs":{},"画":{"docs":{},"实":{"docs":{},"时":{"docs":{},"持":{"docs":{},"续":{"docs":{},"多":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"值":{"docs":{},"必":{"docs":{},"须":{"docs":{},"介":{"docs":{},"于":{"0":{"docs":{},".":{"0":{"docs":{},"和":{"1":{"docs":{},".":{"0":{"docs":{},"之":{"docs":{},"间":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},"介":{"docs":{},"于":{"0":{"docs":{},".":{"0":{"docs":{},"和":{"1":{"docs":{},".":{"0":{"docs":{},"之":{"docs":{},"间":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"在":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"请":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"界":{"docs":{},"面":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},"间":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"句":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}},"还":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"、":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"等":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"或":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"源":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"路":{"docs":{},"由":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},"“":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"等":{"docs":{},"其":{"docs":{},"他":{"docs":{},"管":{"docs":{},"理":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"两":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"部":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"通":{"docs":{},"知":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"它":{"docs":{},"支":{"docs":{},"持":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"消":{"docs":{},"息":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"#":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.015957446808510637}},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"体":{"docs":{},"名":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"项":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}},"^":{"0":{"docs":{},".":{"1":{"5":{"docs":{},".":{"7":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},"docs":{}}},"7":{"docs":{},".":{"2":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},"docs":{}}},"docs":{},".":{"0":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}},"4":{"docs":{},".":{"1":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},"2":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}},"docs":{}}},"docs":{}}},"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}},"docs":{}}},"docs":{}}},"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}},"docs":{}}},"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"y":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"直":{"docs":{},"观":{"docs":{},"、":{"docs":{},"可":{"docs":{},"读":{"docs":{},"性":{"docs":{},"高":{"docs":{},"并":{"docs":{},"且":{"docs":{},"容":{"docs":{},"易":{"docs":{},"被":{"docs":{},"人":{"docs":{},"类":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"它":{"docs":{},"和":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"或":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"它":{"docs":{},"语":{"docs":{},"法":{"docs":{},"简":{"docs":{},"单":{"docs":{},"并":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"是":{"docs":{},"用":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"x":{"docs":{},"x":{"docs":{},"f":{"docs":{},"i":{"docs":{},"s":{"docs":{},"d":{"docs":{},"j":{"docs":{},"f":{"docs":{},"i":{"docs":{},"s":{"docs":{},"j":{"docs":{},"f":{"docs":{},"g":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{},"j":{"docs":{},"g":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}},"引":{"docs":{},"入":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},";":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"如":{"docs":{},"下":{"docs":{},"声":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"加":{"docs":{},"载":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}}}},"文":{"docs":{},"本":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"等":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"处":{"docs":{},"理":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"无":{"docs":{},"感":{"docs":{},"知":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"该":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"只":{"docs":{},"需":{"docs":{},"将":{"docs":{},"它":{"docs":{},"们":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"适":{"docs":{},"当":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"保":{"docs":{},"留":{"docs":{},"原":{"docs":{},"始":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"照":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"指":{"docs":{},"南":{"docs":{},"中":{"docs":{},"的":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"或":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"即":{"docs":{},"可":{"docs":{},"完":{"docs":{},"成":{"docs":{},"注":{"docs":{},"册":{"docs":{},":":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"他":{"docs":{},"们":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"使":{"docs":{},"该":{"docs":{},"层":{"docs":{},"被":{"docs":{},"一":{"docs":{},"组":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"色":{"docs":{},"所":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"已":{"docs":{},"经":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{},"至":{"docs":{},"少":{"docs":{},"一":{"docs":{},"次":{"docs":{},"(":{"docs":{},"即":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"间":{"docs":{},")":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"未":{"docs":{},"处":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"(":{"docs":{},"即":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"设":{"docs":{},"置":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"布":{"docs":{},"局":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"他":{"docs":{},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}},"拖":{"docs":{},"入":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"并":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"@":{"2":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"、":{"docs":{},"滑":{"docs":{},"动":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"时":{"docs":{},"你":{"docs":{},"会":{"docs":{},"注":{"docs":{},"意":{"docs":{},"到":{"docs":{},"有":{"docs":{},"与":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},")":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}},",":{"docs":{},"则":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"继":{"docs":{},"续":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"便":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"局":{"docs":{},"部":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{},"当":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"如":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"移":{"docs":{},"除":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"该":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"通":{"docs":{},"过":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"所":{"docs":{},"在":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"显":{"docs":{},"式":{"docs":{},"路":{"docs":{},"径":{"docs":{},"进":{"docs":{},"行":{"docs":{},"标":{"docs":{},"识":{"docs":{},"。":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"无":{"docs":{},"关":{"docs":{},"紧":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"目":{"docs":{},"录":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"任":{"docs":{},"意":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"(":{"docs":{},"在":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"是":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"都":{"docs":{},"有":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"委":{"docs":{},"托":{"docs":{},"必":{"docs":{},"须":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"盒":{"docs":{},"被":{"docs":{},"要":{"docs":{},"求":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"和":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"会":{"docs":{},"将":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"记":{"docs":{},"录":{"docs":{},"到":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"对":{"docs":{},"您":{"docs":{},"有":{"docs":{},"用":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"按":{"docs":{},"需":{"docs":{},"打":{"docs":{},"印":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"痕":{"docs":{},"迹":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"提":{"docs":{},"取":{"docs":{},"命":{"docs":{},"令":{"docs":{},"时":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"都":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"代":{"docs":{},"码":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"他":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"不":{"docs":{},"会":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"的":{"docs":{},"字":{"docs":{},"段":{"docs":{},"或":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"增":{"docs":{},"量":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},"会":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"增":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"就":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},"一":{"docs":{},"句":{"docs":{},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}},"殊":{"docs":{},"情":{"docs":{},"况":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},"请":{"docs":{},"导":{"docs":{},"航":{"docs":{},"至":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"。":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"启":{"docs":{},"动":{"docs":{},"界":{"docs":{},"面":{"docs":{},"(":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"换":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"片":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"保":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"阅":{"docs":{},"读":{"docs":{},"下":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"想":{"docs":{},"象":{"docs":{},"一":{"docs":{},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}},"求":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"和":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"彻":{"docs":{},"底":{"docs":{},"去":{"docs":{},"除":{"docs":{},"父":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},"!":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"此":{"docs":{},"提":{"docs":{},"示":{"docs":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"在":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"指":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},"时":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"指":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"相":{"docs":{},"关":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{},"将":{"docs":{},"可":{"docs":{},"能":{"docs":{},"非":{"docs":{},"常":{"docs":{},"困":{"docs":{},"难":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"不":{"docs":{},"更":{"docs":{},"改":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"无":{"docs":{},"法":{"docs":{},"彻":{"docs":{},"底":{"docs":{},"去":{"docs":{},"除":{"docs":{},"其":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"@":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"标":{"docs":{},"注":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"到":{"docs":{},"底":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"其":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"接":{"docs":{},"口":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"有":{"docs":{},"潜":{"docs":{},"在":{"docs":{},"的":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{},"避":{"docs":{},"免":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"最":{"docs":{},"好":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"时":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"包":{"docs":{},"作":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"版":{"docs":{},"本":{"docs":{},"范":{"docs":{},"围":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"特":{"docs":{},"定":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"顺":{"docs":{},"藤":{"docs":{},"摸":{"docs":{},"瓜":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"以":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"将":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"您":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"←":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.08360337005832794}}},"→":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},"⋯":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006804925469863901}}},"│":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.09267660401814647}},"└":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"└":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"8":{"8":{"docs":{},".":{"0":{"docs":{},"(":{"3":{"6":{"9":{"1":{"6":{"0":{"2":{"6":{"7":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"b":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"2":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"4":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"─":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.005832793259883344}}}}}}}}}},"├":{"docs":{},"_":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"1":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}}}}}}}}}}}}}},"─":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"╎":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.059300064808814}}},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}},"另":{"docs":{},"一":{"docs":{},"种":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"每":{"docs":{},"个":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"描":{"docs":{},"述":{"docs":{},"的":{"docs":{},"”":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"”":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"它":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"你":{"docs":{},"有":{"docs":{},"多":{"docs":{},"少":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"以":{"docs":{},"某":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"将":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"状":{"docs":{},"态":{"docs":{},"导":{"docs":{},"出":{"docs":{},"到":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"保":{"docs":{},"持":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"为":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"要":{"docs":{},"将":{"docs":{},"该":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"给":{"docs":{},"其":{"docs":{},"它":{"docs":{},"人":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"意":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"最":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"不":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"继":{"docs":{},"承":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"也":{"docs":{},"正":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"两":{"docs":{},"种":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"重":{"docs":{},"点":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"很":{"docs":{},"少":{"docs":{},"会":{"docs":{},"这":{"docs":{},"么":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"并":{"docs":{},"不":{"docs":{},"罕":{"docs":{},"见":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"能":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},",":{"docs":{},"那":{"docs":{},"将":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},"。":{"docs":{},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"有":{"docs":{},"!":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"分":{"docs":{},"析":{"docs":{},"、":{"docs":{},"检":{"docs":{},"查":{"docs":{},"堆":{"docs":{},"等":{"docs":{},"。":{"docs":{},"有":{"docs":{},"关":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"更":{"docs":{},"多":{"docs":{},"信":{"docs":{},"息":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"允":{"docs":{},"许":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"数":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"文":{"docs":{},"件":{"docs":{},"之":{"docs":{},"间":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"对":{"docs":{},"路":{"docs":{},"径":{"docs":{},"来":{"docs":{},"导":{"docs":{},"入":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"将":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"问":{"docs":{},"题":{"docs":{},"将":{"docs":{},"是":{"docs":{},"调":{"docs":{},"试":{"docs":{},"断":{"docs":{},"言":{"docs":{},",":{"docs":{},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"不":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"请":{"docs":{},"参":{"docs":{},"阅":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"“":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"断":{"docs":{},"言":{"docs":{},"”":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"白":{"docs":{},"线":{"docs":{},"以":{"1":{"6":{"docs":{},"m":{"docs":{},"s":{"docs":{},"增":{"docs":{},"量":{"docs":{},"沿":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"显":{"docs":{},"示":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":10}}}}}}},"及":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"完":{"docs":{},"成":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"例":{"docs":{},"子":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"叠":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":10}}}}}}}}}}}}},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"中":{"docs":{},"的":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"布":{"docs":{},"局":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"到":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"允":{"docs":{},"许":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"堆":{"docs":{},"叠":{"docs":{},"(":{"docs":{},"按":{"docs":{},"照":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},")":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"允":{"docs":{},"许":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"堆":{"docs":{},"叠":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"根":{"docs":{},"据":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"展":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"注":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"场":{"docs":{},"景":{"docs":{},"需":{"docs":{},"要":{"docs":{},"判":{"docs":{},"空":{"docs":{},"或":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"等":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"大":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"了":{"docs":{},"解":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"代":{"docs":{},"码":{"docs":{},"健":{"docs":{},"壮":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"错":{"docs":{},"误":{"docs":{},"地":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},"能":{"docs":{},"够":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"或":{"docs":{},"报":{"docs":{},"错":{"docs":{},"提":{"docs":{},"示":{"docs":{},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"断":{"docs":{},"言":{"docs":{},"函":{"docs":{},"数":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"类":{"docs":{},"也":{"docs":{},"具":{"docs":{},"有":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},",":{"docs":{},"从":{"docs":{},"该":{"docs":{},"点":{"docs":{},"返":{"docs":{},"回":{"docs":{},"整":{"docs":{},"个":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"多":{"docs":{},"行":{"docs":{},"描":{"docs":{},"述":{"docs":{},"。":{"docs":{},"已":{"docs":{},"一":{"docs":{},"些":{"docs":{},"具":{"docs":{},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"类":{"docs":{},"会":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"或":{"docs":{},"其":{"docs":{},"他":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"短":{"docs":{},"的":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"两":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},")":{"docs":{},"描":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"语":{"docs":{},"句":{"docs":{},"级":{"docs":{},"单":{"docs":{},"步":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{},",":{"docs":{},"则":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"内":{"docs":{},"置":{"docs":{},"的":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},"来":{"docs":{},"调":{"docs":{},"试":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"空":{"docs":{},"白":{"docs":{},"(":{"docs":{},"如":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"以":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"束":{"docs":{},"条":{"docs":{},"件":{"docs":{},"为":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"衡":{"docs":{},"量":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512}},"\"":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},":":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"行":{"docs":{},"为":{"docs":{},"等":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"未":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},"(":{"docs":{},"无":{"docs":{},"论":{"docs":{},"同":{"docs":{},"步":{"docs":{},"还":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},")":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"跨":{"docs":{},"越":{"docs":{},"当":{"docs":{},"前":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"跨":{"docs":{},"越":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}},"边":{"docs":{},"界":{"docs":{},"去":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"共":{"docs":{},"同":{"docs":{},"的":{"docs":{},"“":{"docs":{},"源":{"docs":{},"”":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"来":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"该":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"空":{"docs":{},"间":{"docs":{},"不":{"docs":{},"够":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{},":":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"单":{"docs":{},"选":{"docs":{},"框":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":10}}}}}}},"开":{"docs":{},"关":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}},"一":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"按":{"docs":{},"钮":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":10.008130081300813}},"外":{"docs":{},"观":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"属":{"docs":{},"性":{"docs":{},"大":{"docs":{},"同":{"docs":{},"小":{"docs":{},"异":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"宽":{"docs":{},"高":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},"照":{"docs":{},"惯":{"docs":{},"例":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"应":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"中":{"docs":{},"的":{"docs":{},"必":{"docs":{},"要":{"docs":{},"参":{"docs":{},"数":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"@":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"标":{"docs":{},"注":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"有":{"docs":{},"利":{"docs":{},"于":{"docs":{},"静":{"docs":{},"态":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"在":{"docs":{},"继":{"docs":{},"承":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"通":{"docs":{},"常":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"接":{"docs":{},"受":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"通":{"docs":{},"常":{"docs":{},"应":{"docs":{},"该":{"docs":{},"将":{"docs":{},"它":{"docs":{},"放":{"docs":{},"在":{"docs":{},"参":{"docs":{},"数":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"惯":{"docs":{},"例":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"应":{"docs":{},"被":{"docs":{},"声":{"docs":{},"明":{"docs":{},"为":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"被":{"docs":{},"意":{"docs":{},"外":{"docs":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"“":{"docs":{},"水":{"docs":{},"波":{"docs":{},"动":{"docs":{},"画":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}},"+":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"+":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}},"=":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012605042016806723},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},"x":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"?":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"?":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"=":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},"—":{"docs":{},"—":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"盒":{"docs":{},"子":{"docs":{},",":{"docs":{},"当":{"docs":{},"点":{"docs":{},"击":{"docs":{},"它":{"docs":{},"时":{"docs":{},",":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"背":{"docs":{},"景":{"docs":{},"会":{"docs":{},"在":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"与":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"之":{"docs":{},"间":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":10}}}}}}}},"取":{"docs":{},"代":{"docs":{},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"堆":{"docs":{},"叠":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"处":{"docs":{},"理":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"按":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"包":{"docs":{},"的":{"docs":{},"相":{"docs":{},"互":{"docs":{},"依":{"docs":{},"赖":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}},"复":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"设":{"docs":{},"置":{"docs":{},"诊":{"docs":{},"断":{"docs":{},"树":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}},"杂":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"往":{"docs":{},"往":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{},"来":{"docs":{},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"后":{"docs":{},"面":{"docs":{},"举":{"docs":{},"例":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"管":{"docs":{},"理":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"对":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"该":{"docs":{},"值":{"docs":{},"根":{"docs":{},"据":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"确":{"docs":{},"定":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"自":{"docs":{},"身":{"docs":{},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"对":{"docs":{},"象":{"docs":{},"表":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"应":{"docs":{},"该":{"docs":{},"将":{"docs":{},"这":{"docs":{},"两":{"docs":{},"点":{"docs":{},"牢":{"docs":{},"记":{"docs":{},"在":{"docs":{},"心":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"示":{"docs":{},"例":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}},"取":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"(":{"docs":{},"以":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"与":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},"(":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},"(":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"​":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"内":{"docs":{},"容":{"docs":{},"超":{"docs":{},"过":{"docs":{},"一":{"docs":{},"行":{"docs":{},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"行":{"docs":{},"文":{"docs":{},"本":{"docs":{},"便":{"docs":{},"会":{"docs":{},"居":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"体":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"标":{"docs":{},"题":{"docs":{},"、":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"等":{"docs":{},"文":{"docs":{},"字":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0273972602739726},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"默":{"docs":{},"认":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"集":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"字":{"docs":{},"体":{"docs":{},"时":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"先":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"测":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"代":{"docs":{},"表":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"后":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"计":{"docs":{},"数":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"决":{"docs":{},"定":{"docs":{},"当":{"docs":{},"输":{"docs":{},"入":{"docs":{},"文":{"docs":{},"本":{"docs":{},"长":{"docs":{},"度":{"docs":{},"超":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"时":{"docs":{},"是":{"docs":{},"否":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},"不":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"输":{"docs":{},"入":{"docs":{},"但":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"会":{"docs":{},"变":{"docs":{},"红":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},"吧":{"docs":{},",":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"其":{"docs":{},"外":{"docs":{},"形":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"背":{"docs":{},"景":{"docs":{},"是":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"(":{"docs":{},"深":{"docs":{},"色":{"docs":{},")":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"指":{"docs":{},"定":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"主":{"docs":{},"题":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"为":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"为":{"docs":{},"浅":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"给":{"docs":{},"列":{"docs":{},"表":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"固":{"docs":{},"定":{"docs":{},"表":{"docs":{},"头":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},"”":{"docs":{},"标":{"docs":{},"题":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"问":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"像":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"g":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"类":{"docs":{},"库":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"!":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"库":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"反":{"docs":{},"射":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"是":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"反":{"docs":{},"射":{"docs":{},"会":{"docs":{},"干":{"docs":{},"扰":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"显":{"docs":{},"了":{"docs":{},",":{"docs":{},"独":{"docs":{},"立":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"层":{"docs":{},")":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"正":{"docs":{},"确":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{},"具":{"docs":{},"体":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},":":{"docs":{},"和":{"docs":{},"触":{"docs":{},"发":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"和":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"本":{"docs":{},"身":{"docs":{},"没":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"将":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"中":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"加":{"docs":{},"上":{"docs":{},"自":{"docs":{},"身":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"作":{"docs":{},"为":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{},"而":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"还":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"此":{"docs":{},"递":{"docs":{},"归":{"docs":{},"完":{"docs":{},"成":{"docs":{},"整":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"树":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"正":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"没":{"docs":{},"有":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"(":{"docs":{},"点":{"docs":{},"击":{"docs":{},"之":{"docs":{},"后":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"显":{"docs":{},"得":{"docs":{},"没":{"docs":{},"有":{"docs":{},"质":{"docs":{},"感":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"这":{"docs":{},"也":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},",":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"换":{"docs":{},"成":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"就":{"docs":{},"行":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"用":{"docs":{},"改":{"docs":{},",":{"docs":{},"换":{"docs":{},"了":{"docs":{},"之":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"发":{"docs":{},"现":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"u":{"docs":{},"e":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"docs":{}},"docs":{}}}},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"异":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"到":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"高":{"docs":{},"度":{"docs":{},"边":{"docs":{},"界":{"docs":{},"无":{"docs":{},"法":{"docs":{},"确":{"docs":{},"定":{"docs":{},"引":{"docs":{},"起":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"也":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"给":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"指":{"docs":{},"定":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},"看":{"docs":{},"看":{"docs":{},"是":{"docs":{},"否":{"docs":{},"生":{"docs":{},"效":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"书":{"docs":{},"籍":{"docs":{},"图":{"docs":{},"标":{"docs":{},"和":{"docs":{},"微":{"docs":{},"信":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"打":{"docs":{},"包":{"docs":{},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},"导":{"docs":{},"入":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"从":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"异":{"docs":{},"步":{"docs":{},"分":{"docs":{},"批":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"一":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"列":{"docs":{},"表":{"docs":{},"末":{"docs":{},"尾":{"docs":{},"时":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"去":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},",":{"docs":{},"则":{"docs":{},"去":{"docs":{},"拉":{"docs":{},"取":{"docs":{},",":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"在":{"docs":{},"表":{"docs":{},"尾":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"插":{"docs":{},"入":{"docs":{},"列":{"docs":{},"表":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"去":{"docs":{},"拉":{"docs":{},"取":{"docs":{},",":{"docs":{},"则":{"docs":{},"在":{"docs":{},"表":{"docs":{},"尾":{"docs":{},"提":{"docs":{},"示":{"docs":{},"\"":{"docs":{},"没":{"docs":{},"有":{"docs":{},"更":{"docs":{},"多":{"docs":{},"\"":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"一":{"docs":{},"段":{"docs":{},"富":{"docs":{},"文":{"docs":{},"本":{"docs":{},"(":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"部":{"docs":{},"分":{"docs":{},"分":{"docs":{},"别":{"docs":{},"添":{"docs":{},"加":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"但":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"给":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"色":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"(":{"docs":{},"如":{"docs":{},"网":{"docs":{},"络":{"docs":{},")":{"docs":{},"分":{"docs":{},"批":{"docs":{},"获":{"docs":{},"取":{"docs":{},"一":{"docs":{},"些":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"来":{"docs":{},"展":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"后":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"格":{"docs":{},"式":{"docs":{},"是":{"docs":{},"p":{"docs":{},"e":{"docs":{},"m":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"中":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"校":{"docs":{},"验":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"包":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"和":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"包":{"docs":{},"都":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"是":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"a":{"docs":{},"和":{"docs":{},"b":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"交":{"docs":{},"互":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"想":{"docs":{},"让":{"docs":{},"某":{"docs":{},"个":{"docs":{},"子":{"docs":{},"树":{"docs":{},"响":{"docs":{},"应":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"能":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"子":{"docs":{},"树":{"docs":{},"接":{"docs":{},"收":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"在":{"docs":{},"于":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"会":{"docs":{},"参":{"docs":{},"与":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"会":{"docs":{},"参":{"docs":{},"与":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"(":{"docs":{},"但":{"docs":{},"其":{"docs":{},"子":{"docs":{},"树":{"docs":{},"不":{"docs":{},"行":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"或":{"docs":{},"用":{"docs":{},"户":{"docs":{},"动":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"设":{"docs":{},"置":{"docs":{},"时":{"docs":{},"此":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"即":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"当":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"代":{"docs":{},"表":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"将":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"系":{"docs":{},"统":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"要":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"而":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"正":{"docs":{},"是":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"微":{"docs":{},"信":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"矢":{"docs":{},"量":{"docs":{},"的":{"docs":{},":":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"是":{"docs":{},"矢":{"docs":{},"量":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"放":{"docs":{},"大":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"其":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"及":{"docs":{},"外":{"docs":{},"观":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"执":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"变":{"docs":{},"化":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"来":{"docs":{},"画":{"docs":{},"出":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"供":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"其":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},"会":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"一":{"docs":{},"般":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"(":{"docs":{},"或":{"docs":{},"包":{"docs":{},"含":{"docs":{},")":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"|":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.036885245901639344},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.13122171945701358}},"|":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}},"s":{"docs":{},"|":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}},"”":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"是":{"docs":{},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"监":{"docs":{},"听":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"却":{"docs":{},"多":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"能":{"docs":{},"监":{"docs":{},"听":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{},"外":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"、":{"docs":{},"选":{"docs":{},"择":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"前":{"docs":{},"者":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"看":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"首":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"后":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}},"日":{"docs":{},"期":{"docs":{},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{},";":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}},"电":{"docs":{},"子":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"地":{"docs":{},"址":{"docs":{},";":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"@":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"话":{"docs":{},"号":{"docs":{},"码":{"docs":{},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{},";":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"数":{"docs":{},"字":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"\"":{"docs":{},"*":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"/":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"位":{"docs":{},"置":{"docs":{},"向":{"docs":{},"上":{"docs":{},"查":{"docs":{},"找":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"局":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"找":{"docs":{},"到":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"便":{"docs":{},"是":{"docs":{},"该":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"节":{"docs":{},"点":{"docs":{},"共":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"被":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"它":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"使":{"docs":{},"用":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"含":{"docs":{},"义":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"多":{"docs":{},"行":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"需":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"配":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{},"(":{"docs":{},"设":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"或":{"docs":{},"大":{"docs":{},"于":{"1":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}},"密":{"docs":{},"码":{"docs":{},"不":{"docs":{},"能":{"docs":{},"小":{"docs":{},"于":{"6":{"docs":{},"位":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"小":{"docs":{},"于":{"6":{"docs":{},"为":{"docs":{},"则":{"docs":{},"提":{"docs":{},"示":{"docs":{},"“":{"docs":{},"密":{"docs":{},"码":{"docs":{},"不":{"docs":{},"能":{"docs":{},"少":{"docs":{},"于":{"6":{"docs":{},"位":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}},"控":{"docs":{},"制":{"docs":{},"焦":{"docs":{},"点":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"台":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"数":{"docs":{},"字":{"docs":{},";":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"数":{"docs":{},"字":{"docs":{},"键":{"docs":{},"盘":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}},"据":{"docs":{},"共":{"docs":{},"享":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":5}}}}}},"校":{"docs":{},"验":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"焦":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"和":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"由":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"控":{"docs":{},"制":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"在":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"之":{"docs":{},"间":{"docs":{},"移":{"docs":{},"动":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"、":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"等":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"监":{"docs":{},"听":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"也":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"焦":{"docs":{},"点":{"docs":{},"变":{"docs":{},"化":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"切":{"docs":{},"换":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}},"表":{"docs":{},"单":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":10}}}}}},"允":{"docs":{},"许":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"按":{"docs":{},"照":{"docs":{},"一":{"docs":{},"定":{"docs":{},"比":{"docs":{},"例":{"docs":{},"来":{"docs":{},"分":{"docs":{},"配":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"在":{"docs":{},"其":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"也":{"docs":{},"都":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"如":{"docs":{},"h":{"5":{"docs":{},"中":{"docs":{},"的":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"主":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"来":{"docs":{},"配":{"docs":{},"合":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":10}}}}}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":10}}}}}}}}},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}},"纵":{"docs":{},"轴":{"docs":{},"(":{"docs":{},"垂":{"docs":{},"直":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}},"、":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"、":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"等":{"docs":{},"也":{"docs":{},"会":{"docs":{},"受":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"监":{"docs":{},"听":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"反":{"docs":{},"向":{"docs":{},"播":{"docs":{},"放":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/":{"ref":"chapter5/","tf":10.076923076923077}},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},":":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"时":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"优":{"docs":{},"先":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"docs":{},"饰":{"docs":{},"容":{"docs":{},"器":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":10}}}}}}}}}}}}}}}}}},"各":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"都":{"docs":{},"是":{"docs":{},"自":{"docs":{},"解":{"docs":{},"释":{"docs":{},"的":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"但":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"还":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"还":{"docs":{},"不":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"末":{"docs":{},"尾":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"还":{"docs":{},"支":{"docs":{},"持":{"docs":{},"请":{"docs":{},"求":{"docs":{},"配":{"docs":{},"置":{"docs":{},"、":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"等":{"docs":{},",":{"docs":{},"官":{"docs":{},"方":{"docs":{},"资":{"docs":{},"料":{"docs":{},"比":{"docs":{},"较":{"docs":{},"详":{"docs":{},"细":{"docs":{},",":{"docs":{},"故":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"主":{"docs":{},"页":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"于":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"换":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"属":{"docs":{},"于":{"docs":{},"线":{"docs":{},"性":{"docs":{},"代":{"docs":{},"数":{"docs":{},"范":{"docs":{},"畴":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"做":{"docs":{},"讨":{"docs":{},"论":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"放":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},"效":{"docs":{},"果":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"闭":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"该":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"中":{"docs":{},"止":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}},"缩":{"docs":{},"放":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"后":{"docs":{},"面":{"docs":{},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"它":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"面":{"docs":{},"板":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"可":{"docs":{},"以":{"docs":{},"移":{"docs":{},"除":{"docs":{},"抽":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"指":{"docs":{},"定":{"docs":{},"空":{"docs":{},"白":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"传":{"docs":{},"递":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"实":{"docs":{},"际":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"页":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"由":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"和":{"docs":{},"昵":{"docs":{},"称":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"底":{"docs":{},"部":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"用":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"有":{"docs":{},"两":{"docs":{},"步":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"给":{"docs":{},"目":{"docs":{},"标":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"定":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"标":{"docs":{},"题":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"滚":{"docs":{},"动":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}},"及":{"docs":{},"控":{"docs":{},"制":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":10}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},"恢":{"docs":{},"复":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"必":{"docs":{},"须":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}},"%":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"s":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"头":{"docs":{},"部":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"对":{"docs":{},"应":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"在":{"docs":{},"于":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"结":{"docs":{},"合":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},"获":{"docs":{},"得":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"同":{"docs":{},";":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"中":{"docs":{},"会":{"docs":{},"携":{"docs":{},"带":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"只":{"docs":{},"能":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"功":{"docs":{},"能":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/":{"ref":"chapter7/","tf":10}},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"u":{"docs":{},"i":{"docs":{},"布":{"docs":{},"局":{"docs":{},"及":{"docs":{},"外":{"docs":{},"观":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"具":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"事":{"docs":{},"件":{"docs":{},"监":{"docs":{},"听":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"等":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"控":{"docs":{},"制":{"docs":{},")":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},")":{"docs":{},"、":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"事":{"docs":{},"件":{"docs":{},"监":{"docs":{},"听":{"docs":{},")":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"等":{"docs":{},"公":{"docs":{},"民":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"会":{"docs":{},"去":{"docs":{},"一":{"docs":{},"一":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"本":{"docs":{},"章":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"几":{"docs":{},"种":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}}}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{},"固":{"docs":{},"定":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"跟":{"docs":{},"随":{"docs":{},"主":{"docs":{},"题":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/":{"ref":"chapter8/","tf":10.125}}}}}}},"总":{"docs":{},"线":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"共":{"docs":{},"享":{"docs":{},",":{"docs":{},"但":{"docs":{},"关":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"共":{"docs":{},"享":{"docs":{},"也":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"如":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"框":{"docs":{},"架":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"是":{"docs":{},"足":{"docs":{},"以":{"docs":{},"满":{"docs":{},"足":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"想":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"业":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"真":{"docs":{},"的":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"用":{"docs":{},"它":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"“":{"docs":{},"化":{"docs":{},"简":{"docs":{},"为":{"docs":{},"繁":{"docs":{},"”":{"docs":{},"、":{"docs":{},"过":{"docs":{},"度":{"docs":{},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":10}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}},"冲":{"docs":{},"突":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"只":{"docs":{},"是":{"docs":{},"手":{"docs":{},"势":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"手":{"docs":{},"势":{"docs":{},"是":{"docs":{},"对":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"的":{"docs":{},"识":{"docs":{},"别":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"场":{"docs":{},"景":{"docs":{},"时":{"docs":{},",":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"直":{"docs":{},"接":{"docs":{},"识":{"docs":{},"别":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"竞":{"docs":{},"争":{"docs":{},"与":{"docs":{},"冲":{"docs":{},"突":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"指":{"docs":{},"在":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},"移":{"docs":{},"动":{"docs":{},"即":{"docs":{},"可":{"docs":{},"看":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"指":{"docs":{},"针":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"当":{"docs":{},"触":{"docs":{},"发":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"是":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"当":{"docs":{},"前":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}},"竞":{"docs":{},"争":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":10.004237288135593}}}}}},"精":{"docs":{},"心":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"会":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"更":{"docs":{},"直":{"docs":{},"观":{"docs":{},"、":{"docs":{},"流":{"docs":{},"畅":{"docs":{},",":{"docs":{},"能":{"docs":{},"改":{"docs":{},"善":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"好":{"docs":{},"处":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}},"共":{"docs":{},"享":{"docs":{},"元":{"docs":{},"素":{"docs":{},"转":{"docs":{},"换":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"体":{"docs":{},"验":{"docs":{},"一":{"docs":{},"下":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"后":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"的":{"docs":{},"共":{"docs":{},"享":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"景":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"前":{"docs":{},"面":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}},"面":{"docs":{},"讲":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"如":{"docs":{},"何":{"docs":{},"支":{"docs":{},"持":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"中":{"docs":{},"如":{"docs":{},"何":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"上":{"docs":{},"节":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"数":{"docs":{},"组":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"的":{"docs":{},"终":{"docs":{},"止":{"docs":{},"点":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"几":{"docs":{},"乎":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"都":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"块":{"2":{"docs":{},"d":{"docs":{},"画":{"docs":{},"布":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"基":{"docs":{},"本":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"各":{"docs":{},"种":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"形":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"好":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},";":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},",":{"docs":{},"控":{"docs":{},"件":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},";":{"docs":{},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"外":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"应":{"docs":{},"该":{"docs":{},"始":{"docs":{},"终":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"外":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"导":{"docs":{},"致":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"外":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"中":{"docs":{},"判":{"docs":{},"断":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"否":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"已":{"docs":{},"改":{"docs":{},"变":{"docs":{},"则":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"来":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"还":{"docs":{},"有":{"docs":{},"其":{"docs":{},"他":{"docs":{},"库":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"官":{"docs":{},"方":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"图":{"docs":{},"像":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"圆":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"弧":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"椭":{"docs":{},"圆":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"点":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"矩":{"docs":{},"形":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"笔":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"线":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"路":{"docs":{},"径":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"绘":{"docs":{},"制":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"多":{"docs":{},"的":{"docs":{},"分":{"docs":{},"层":{"docs":{},";":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"五":{"docs":{},"子":{"docs":{},"棋":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"和":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"放":{"docs":{},"在":{"docs":{},"了":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"始":{"docs":{},"终":{"docs":{},"是":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"每":{"docs":{},"次":{"docs":{},"落":{"docs":{},"子":{"docs":{},"时":{"docs":{},"变":{"docs":{},"的":{"docs":{},"只":{"docs":{},"是":{"docs":{},"棋":{"docs":{},"子":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"按":{"docs":{},"照":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"时":{"docs":{},"都":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"次":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"单":{"docs":{},"独":{"docs":{},"抽":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"其":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"回":{"docs":{},"调":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"背":{"docs":{},"景":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"放":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"落":{"docs":{},"子":{"docs":{},"时":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"控":{"docs":{},"件":{"docs":{},"时":{"docs":{},"应":{"docs":{},"该":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"性":{"docs":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"两":{"docs":{},"条":{"docs":{},"关":{"docs":{},"于":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"很":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"或":{"docs":{},"很":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"前":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"会":{"docs":{},"受":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"驱":{"docs":{},"动":{"docs":{},",":{"docs":{},"当":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"先":{"docs":{},"画":{"docs":{},"背":{"docs":{},"景":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"再":{"docs":{},"画":{"docs":{},"前":{"docs":{},"景":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"渐":{"docs":{},"变":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}},"圆":{"docs":{},"的":{"docs":{},"半":{"docs":{},"径":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}},"外":{"docs":{},"部":{"docs":{},"存":{"docs":{},"储":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"外":{"docs":{},"部":{"docs":{},"存":{"docs":{},"储":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"如":{"docs":{},"s":{"docs":{},"d":{"docs":{},"卡":{"docs":{},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"外":{"docs":{},"部":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"下":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"上":{"docs":{},"面":{"docs":{},"“":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"认":{"docs":{},"证":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"和":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"4":{"0":{"1":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}},"docs":{}}}}}},"验":{"docs":{},"证":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"通":{"docs":{},"过":{"docs":{},"就":{"docs":{},"返":{"docs":{},"回":{"docs":{},"资":{"docs":{},"源":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"发":{"docs":{},"起":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"一":{"docs":{},"个":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}},"多":{"docs":{},"个":{"docs":{},"并":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}},"送":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"平":{"docs":{},"台":{"docs":{},"消":{"docs":{},"息":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"布":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}},"生":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"是":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"果":{"docs":{},"然":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"接":{"docs":{},"口":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{},",":{"docs":{},"将":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},"和":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"串":{"docs":{},"起":{"docs":{},"来":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"在":{"docs":{},"生":{"docs":{},"成":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"些":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"嵌":{"docs":{},"套":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"持":{"docs":{},"续":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"模":{"docs":{},"板":{"docs":{},"中":{"docs":{},"的":{"docs":{},"“":{"docs":{},"%":{"docs":{},"t":{"docs":{},"”":{"docs":{},"、":{"docs":{},"“":{"docs":{},"%":{"docs":{},"s":{"docs":{},"”":{"docs":{},"为":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{},",":{"docs":{},"将":{"docs":{},"在":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"动":{"docs":{},"态":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"导":{"docs":{},"入":{"docs":{},"头":{"docs":{},"和":{"docs":{},"类":{"docs":{},"名":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"来":{"docs":{},"写":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"使":{"docs":{},"用":{"2":{"3":{"docs":{},".":{"0":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"库":{"docs":{},",":{"docs":{},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"语":{"docs":{},"法":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"监":{"docs":{},"听":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},",":{"docs":{},"并":{"docs":{},"接":{"docs":{},"收":{"docs":{},"该":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"它":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"响":{"docs":{},"应":{"docs":{},"发":{"docs":{},"送":{"docs":{},"回":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"即":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter12/":{"ref":"chapter12/","tf":10}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"必":{"docs":{},"须":{"docs":{},"按":{"docs":{},"照":{"docs":{},"本":{"docs":{},"节":{"docs":{},"开":{"docs":{},"头":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"那":{"docs":{},"样":{"docs":{},"为":{"docs":{},"这":{"docs":{},"些":{"docs":{},"类":{"docs":{},"指":{"docs":{},"定":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"截":{"docs":{},"至":{"2":{"0":{"1":{"8":{"docs":{},"年":{"5":{"docs":{},"月":{"docs":{},",":{"docs":{},"该":{"docs":{},"包":{"docs":{},"支":{"docs":{},"持":{"2":{"4":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"包":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"到":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"数":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"讲":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"发":{"docs":{},"现":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}},"传":{"docs":{},"给":{"docs":{},"它":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"则":{"docs":{},"表":{"docs":{},"示":{"docs":{},"有":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"向":{"docs":{},"父":{"docs":{},"级":{"docs":{},"递":{"docs":{},"归":{"docs":{},"查":{"docs":{},"找":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"队":{"docs":{},"列":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"唯":{"docs":{},"一":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"即":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"与":{"docs":{},"它":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"无":{"docs":{},"关":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"件":{"docs":{},"永":{"docs":{},"远":{"docs":{},"充":{"docs":{},"满":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{},"为":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"否":{"docs":{},"仅":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"才":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}},"答":{"docs":{},"案":{"docs":{},"就":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},")":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"结":{"docs":{},"束":{"docs":{},"前":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"锁":{"docs":{},"定":{"docs":{},"事":{"docs":{},"件":{"docs":{},"分":{"docs":{},"发":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"在":{"docs":{},"本":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"结":{"docs":{},"束":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"前":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"响":{"docs":{},"应":{"docs":{},"各":{"docs":{},"种":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"触":{"docs":{},"发":{"docs":{},"新":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"根":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"反":{"docs":{},"向":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"了":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"根":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"更":{"docs":{},"新":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"锁":{"docs":{},"定":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"length":10898},"corpusTokens":["!=","!_active;","!_toggle;","!showtotopbtn","\"","\"\"))","\"\";","\"##loading##\";","\"$classname.dart\"');","\"$filename.dart\"');","\"${(_animationcontroller.valu","\"${(progress","\"),","\");","\"*4,","\"*6,","\"+snapshot.data;","\",","\"./images/avatar.png\",","\"0%\";","\"123456789\";","\"2018","\"5.20\",","\";","\"@@last_modified\":","\"@@locale\":\"zh_ch\",","\"@remainingemailsmessage\":","\"@title\":","\"\\ue914\";","\"abcdefghijklmnopqrstuvwxyz\";","\"admin\",","\"age\":","\"alice\",","\"avatar\",","\"batteri","\"bool\";","\"boss\":\"$person\"","\"courier\",","\"description\":","\"dump","\"echo:","\"email\",","\"email\":","\"email\":\"alice@example.com\"","\"email\":\"jack@example.com\"","\"email\":\"nancy@example.com\"","\"engineentertimestampmicros\":","\"error","\"example\":","\"fail","\"file","\"file1\":","\"file2\":","\"files\":","\"flutter","\"flutterchina.club\",","\"flutter应用\"","\"flutter应用\",","\"form","\"friends\":\"$[]person\"","\"friends\":[","\"getbatterylevel\")","\"hello","\"hello\";","\"hi","\"home:","\"how","\"howmany\":","\"https\",","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"),","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",","\"https://flutterchina.club\",","\"imgs/avatar.png\",","\"input1\"","\"input2\"","\"intercepted:","\"jack\",","\"john","\"john@example.com\"","\"john@example.com\",","\"list\";","\"map\";","\"materialicons\",","\"monospace\";","\"mother\":\"$person\",","\"mother\":{","\"mozilla/5.0","\"name\":","\"nancy\",","\"new_page\");","\"new_page\":(context)=>newroute(),","\"no","\"num\";","\"person.dart\";","\"placeholders\":","\"proxi","\"remainingemailsmessage\",","\"remainingemailsmessage\":","\"roboto\";","\"samples.flutter.io/battery\"","\"samples.flutter.io/battery\",","\"samples.flutter.io/battery\";","\"string\";","\"test\");","\"text\",","\"timeafterframeworkinitmicros\":","\"timetofirstframemicros\":","\"timetoframeworkinitmicros\":","\"tip_widgets\":(context)=>echoroute(\"内容固定\")","\"titl","\"title\":","\"type\":","\"unavailable\",","\"upload.txt\")","\"upload.txt\"),","\"upload1.txt\"),","\"upload2.txt\"),","\"urllauncherplugin.h\"","\"use","\"wendux\",","\"xx\":\"xx\",","\"yy\":\"dd\"","\"zh\")","\"{howmany,plural,","\"你好世界\"),","\"历史\",","\"原图\",","\"图片\"];","\"密码\",","\"密码不能少于6位\";","\"您的登录密码\",","\"正在请求...\";","\"点我变色\",","\"用户名\",","\"用户名不能为空\";","\"用户名或邮箱\",","\"电子邮件地址\",","\"电池信息不可用\",","\"网络不通...\";","\"请求失败:$e\";","#","#\"","#...省略无关项","#import","#指定一个字体名","#请使用pub上的最新版本","$","$_counter","$device';","$home/.bash_profil","$home/.bash_profile。文件路径和文件名可能在你的电脑上不同.","$howmani","$index'),","$key';","$line\");","$msg';","$path","$result","$this',","$v\");","${notification.metrics.extentaft","${user.email}.');","${user.name}!');","${user['email']}.');","${user['name']}!');","%","%s","%s();","%s.fromjson(map","%t","&","","","","&&","'$_counter',","'$from","'$result","'$runtimetyp","'$runtimetype'","'${e.message}'.\";","'${snapshot.data}'","'%s.g.dart';","'');","'../widgets/index.dart';","'0.1.1'","'0.4.3'","'[root]',","'active'","'batteri","'cn')","'cn'),","'com.google.guava:guava:23.0","'dart:async'","'dart:async';","'dart:convert';","'dart:developer';到相关文件顶部。","'dart:io';","'dart:math'","'dart:math';","'email':","'flutter","'fred'});","'howdy');","'howdy',","'http://maven.aliyun.com/nexus/content/groups/public/'","'inactive',","'increment',","'messages_all.dart';","'my_icons')","'my_package',","'myicon',","'name':","'offset=$offset';","'package:dio/dio.dart';","'package:english_words/english_words.dart';","'package:flutter/cupertino.dart';","'package:flutter/gestures.dart';","'package:flutter/material.dart';","'package:flutter/services.dart'","'package:flutter/services.dart';","'package:flutter/widgets.dart';","'package:flutter_localizations/flutter_localizations.dart';","'package:intl/intl.dart';","'package:json_annotation/json_annotation.dart';","'package:path/path.dart'","'package:path_provider/path_provider.dart';","'package:url_launcher/url_launcher.dart'","'package:utilities/utilities.dart';","'package:web_socket_channel/io.dart';","'person.g.dart';","'raleway',","'registration_date_millis')","'send","'smoke","'src/cascade.dart';","'src/handler.dart';","'src/handlers/logger.dart';","'src/hijack_exception.dart';","'src/middleware.dart';","'src/pipeline.dart';","'src/request.dart';","'src/response.dart';","'src/server.dart';","'src/server_handler.dart';","'there","'titl","'title',","'unknown","'url_launcher'","'us'),","'user.g.dart';","'username':","'widget","'window_render';","'window_scheduleframe';","'you","'zh'].contains(locale.languagecode);","(","(!parentusess","(\"getbatterylevel\"","()","(){","(1","(17539):","(17666):","(18545):","(64","([@\"getbatterylevel\"","(_color","(_controller.offset","(_controller.text.isnotempty)","(_lastpressedat","(_nodesneedinglayout.isnotempty)","(_overflow","(_relayoutboundari","(_size.contains(position))","(_valu","(_words.length","(_words[index]","(`cmd","(android)或wkwebview(ios)来加载(以后若无特殊说明,我们用webview来统一指代android和ios中的网页加载控件)。这样一来,h5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在android和ios两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发","(arg)","(automaticsystemuiadjustment)","(await","(backgroundcolor","(batterylevel","(batterymanager)","(bool)application:(uiapplication*)appl","(buildcontext","(call.method","(call.method.equals(\"getbatterylevel\"))","(call:","(child","(child._needspaint)","(child.isrepaintboundary)","(child.parentdata","(cmd","(context)","(context){","(context,","(ctx)","(details)","(details){","(devic","(device.batteryst","(dragdowndetail","(dragenddetail","(dragupdatedetail","(dwebview)","(e)","(e){","(e,","(element","(event)","(event)=>print(\"in\"),","(event)=>print(\"up\"),","(eventnam","(f","(filesystementity.isfilesync(f.path))","(fluttererrordetail","(flutterviewcontroller*)self.window.rootviewcontroller;","(git命令行工具);","(hittestchildren(result,","(httpclient","(in","(index","(int","(int)(device.batterylevel","(int)getbatterylevel","(intent.getintextra(batterymanager.extra_level,","(iphone;","(isforward)","(isrepaintboundary)","(khtml,","(leaf/singlechild/multichild)renderobjectwidget","(list","(macos:preferences>plugins,","(map","(matchindex","(node._layer.attached)","(node._needscompositingbitsupd","(node._needslayout","(node._needspaint","(notification)","(notification){","(notification.runtimetype){","(nsnull","(object","(oldwidget.turn","(onerror","(owner","(parent","(physic","(pointerdownev","(pointermoveev","(pointerupev","(radiu","(renderobject","(renderviewel","(scaleupdatedetail","(scrollnotif","(size.width","(sizedbyparent)","(snapshot.hasdata)","(snapshot.haserror)","(statu","(str){","(strokecapround)","(upper?str[0].touppercase():str[0].tolowercase())+str.substring(1);","(uri)","(v)","(valu","(var","(version.sdk_int","(widgetsbinding.inst","(zone","(不包括android","(不包括xcode或android","(如","(如myapp),","(如果使用一些更低级别的类,如","(带有闪电⚡️图标的按钮)。","(或者在编辑器中点击","(简称rn)是facebook于2015年4月开源的跨平台移动应用开发框架,是facebook早先开源的js框架","(绿色圆形箭头按钮)。","(译者语:和android中的framelayout相似),stack允许子","(语句级的单步调试和分析器)","(输入代码时进行验证、代码补全等)。","(运行、调试、热重载等)。",")","))",")),","));","),",").animate(",").attachtorendertree(buildowner,",").createshader(rect);",");","){",")布局模型设计的。",");","*","**","**save**","**热重载按钮**","+","++_counter)","++count),","+=","+x",",",",bottom",".",".';","...","...,","....","...//","...//省略无关代码","...;","../../code/pkg1","..addlistener(()","..attachrootwidget(app)","..color","..color=color(0x77cdb175);//画笔颜色","..isantialia","..onmetricschang","..onsemanticsact","..onsemanticsenabledchang","..ontap","..ontextscalefactorchang","..schedulewarmupframe();","..strokecap","..strokewidth","..style","./intl.sh","./mo.sh",".0),",".0);",".0,",".0;",".2;",".5,",".75,",".98",".accentcolor;",".data",".length",".map((c)",".of(context)",".primarycolor,",".tolist(),",".tostring());",".trim()",".value),",".value,",".”","/","//","//...","///","///两端是否为圆角","///粗细","///这个标注是告诉生成器,这个类是需要生成model类的","//1","//1.设置文本默认样式","//2","//2.不继承默认样式","//3","//3像素圆角","//50个列表项","//appbar,包含一个导航栏","//basic认证凭据","//behavior:","//const","//dwebview继承自webview,由dsbridge提供","//file为证书路径","//final","//flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间","//flex的两个子widget按1:2来占据水平空间","//grid","//grid按两列显示","//json","//list","//listview各个构造函数的共同参数","//locale代理类","//locale相关值,title为应用标题","//locale资源类","//materi","//material设计规范中状态栏、导航栏、listtile高度分别为24、56、56","//navigator.push(context,","//print(form.of(context));","//print(notification);","//request.addstream(_inputstream);","//return","//state.count","//width:","//}));","//“去除”父级限制","//一个json格式的用户列表字符串","//上下各添加8像素补白","//上下左右各添加16像素补白","//上报错误和日志逻辑","//上次点击时间","//下划线widget预定义以供复用。","//下面代码没有效果","//下面代码没有问题","//下面生成模板","//不同的类使用不同的mixin即可","//不指定返回类型,此时默认为dynamic,不是bool","//不足100条,继续获取数据","//两次点击间隔超过1秒则重新计时","//中间位置空出","//为了使用方便,我们定义一个静态方法","//为了避免内存泄露,需要调用_controller.dispos","//为了避免重复导入相同的包,我们用set来保存生成的import语句。","//为第二行icon自定义颜色(固定为黑色)","//主色,决定导航栏颜色","//主题颜色样本,见下面介绍","//从文件读取点击次数","//会触发","//使用inheritedwidget中的共享数据","//使用iphone的ua","//使用local","//使用sharedatawidget","//使用弹性曲线","//使用渐隐渐入过渡,","//保存icon数据","//保存事件名","//保存事件订阅者队列,key:事件名(id),value:","//保存单例","//保存回调","//保存用户信息,接下来执行其它操作","//保存进度百分比","//先分别定义各个异步任务","//先正向执行动画","//入栈新路由","//关闭client后,通过该client发起的所有请求都会中止。","//其它local","//其它属性及回调","//其它属性见源码注释","//再反向执行动画","//分割器构造器","//分割线颜色","//切换主题","//列表项构造器","//列表项高度固定时,显式指定高度是一个好习惯(性能消耗小)","//创建3个tab页","//创建websocket连接","//创建一个httpclient","//创建一个画笔并配置其属性","//创建列表项","//创建子widget","//初始值","//初始化状态","//初始滚动位置","//前景装饰","//剪裁半圆","//动态创建一个list","//动画恢复到初始状态时执行动画(正向)","//动画执行结束时反向执行动画","//动画时间为500毫秒","//卡片倾斜变换","//卡片内文字居中","//卡片大小","//卡片文字","//卡片阴影","//卡片颜色","//双击","//反向遍历,防止在订阅者在回调中移除自身带来的下标错位","//发送","//变换","//变色开关","//可以直接添加输入流","//可以省略string这个类型声明","//可滚动widget公共参数","//后面介绍","//启动动画","//启动动画(正向执行)","//启动动画(正向)","//唯一标记,前后两个路由页hero的tag必须相同","//回显tip内容","//因为本路由没有使用scaffold,为了让子级widget(如text)使用","//图片宽高从0变到300","//图片的宽","//图片的混合色值","//图片高度","//圆角","//在命中测试期间如何表现","//在这里不能通过此方式获取formstate,context不对","//均分底部导航栏横向空间","//垂直方向居中对齐","//垂直方向拖动事件","//填充","//处理特殊标志","//外形","//如果build中没有依赖inheritedwidget,则此回调不会被调用。","//如果leading为null,是否自动实现默认的leading按钮","//如果renderobject.isrepaintboundari","//如果到了表尾","//如果显示到最后一个并且icon总数小于200时继续获取数据","//如果返回false,则子树中依赖(build函数中有调用)本widget","//子widget列表","//子节点,可以为空","//字符串重复六次","//定义一个control","//定义一个globalkey,","//定义一个top","//定义一个便捷方法,方便子树中的widget获取共享数据","//定义一个状态,保存当前指针位置","//定义下划线颜色","//实现画笔","//容器内补白","//容器内补白,属于decoration的装饰范围","//容器外补白","//容器大小的限制条件","//容器的高度","//宽度尽可能大","//宽高比为1时,子widget","//宽高比为2","//对齐方式","//导入cupertino","//导航到新路由","//导航栏","//导航栏右侧菜单","//导航栏最左侧widget,常见为抽屉菜单按钮或返回按钮。","//将json字符串转为dart对象(此处是list)","//将json类型转为对应的dart类型","//将transform.rotate换成rotatedbox","//将测试结果添加到result中","//将焦点从第一个textfield移到第二个textfield","//将生成的模板输出","//工厂构造函数","//左边添加8像素补白","//布局","//应用名称","//应用首页路由","//建立连接","//开启自动校验","//弹性布局的方向,","//强制高度为50.0","//当前路由主题色","//当前路由被激活,是打开新路由","//形状","//悬浮按钮","//所以animatedwidget必须通过某种方式将其状态对象_animatedwidgetst","//手动指定local","//手指按下回调","//手指按下时会触发此回调","//手指滑动时会触发此回调","//手指移动回调","//手机日志","//打印手指按下的位置(相对于屏幕)","//打印机型","//打印滑动结束时在x、y轴上的速度","//打印滚动位置","//打开b路由","//打开http连接","//执行build方法","//执行失败会走到这里","//执行成功会走到这里","//执行接下来的操作","//找到最近的layer,绘制","//报告错误","//报错,isnoble不是bool类型","//抽屉","//指定列表高度为400","//指定包名","//指定宽度,高度自适应","//指定平台,应用特定平台控件风格","//指定未定位或部分定位widget的对齐方式","//指定画布大小","//按钮主题","//按钮按下时的背景颜色","//按钮文字颜色","//按钮点击回调","//按钮点击时分发通知","//按钮的内容","//按钮的填充","//按钮禁用时的文字颜色","//按钮背景颜色","//控制子widget","//收集日志","//放大到1.5倍","//放开此行注释后可以\"点透\"","//放开此行注释后,进度条将失效","//文字字体","//旋转90度","//旋转90度(1/4圈)","//旋转的“圈”数,一圈为360度,如0.25圈即90度","//旋转角度发生变化时执行过渡动画","//无论成功或失败都会走到这里","//是否为中文","//是否抗锯齿","//是否支持某个local","//是否显示“返回到顶部”按钮","//是否自动校验。","//是返回,则不应用过渡动画","//显式关联json字段名与model属性的对应关系","//显式指定对齐方式为左对齐,排除对齐干扰","//显示区域宽高相等","//显示进度百分比","//暴露给其子类","//更新renderobject.needscompositing属性值","//更新显示的事件名","//替换模板占位符","//最大宽度","//最大高度","//最小宽度","//最小高度","//最小高度为50像素","//有多个,省略...","//有效,外层colum高度为整个屏幕","//未定位widget占满stack整个空间","//构建错误详情对象","//查找当前或最近的一个祖先renderobject","//标题是否居中","//校验密码","//校验证书","//根据http协议,发送请求头","//横轴三个子widget","//次级色,决定大多数widget的颜色,如进度条、开关等。","//正常状态下的阴影","//每一个字母都用一个text显示,字体为原来的两倍","//每次生成20个单词","//每点击一次,将count自增,然后重新build,sharedatawidget的data将被更新","//每行三列","//沿y轴倾斜0.3弧度","//沿主轴方向居中","//注册原生api到jsbridg","//注册路由表","//测试row对齐方式,排除column默认居中对齐的干扰","//深色还是浅色","//混合模式","//添加persistentframecallback","//添加订阅者","//渐变","//滚动方向,默认是垂直方向","//点击后将该element标记为dirty,element将会rebuild","//点击后计数器自增","//点击回调","//点击时,水波动画中水波的颜色","//父","//父或祖先widget中的inheritedwidget改变(updateshouldnotify返回true)时会被调用。","//生成tab菜单","//用于icon颜色","//用于导航栏、floatingactionbutton的背景色等","//用到gesturerecognizer的话一定要调用其dispose方法释放资源","//用户手指滑动时,更新偏移,重新构建","//用户登录","//由于子类要用到animatedwidget的状态对象_animatedwidgetstate,","//由于本widget也是form的子代widget,所以可以通过下面方式获取formst","//画棋盘网格","//画棋盘背景","//画笔样式:填充","//登录成功后触发登录事件,页面a中订阅者会被调用","//登录成功后通过,id获取用户信息","//登录页b中","//的子widget的`state.didchangedependencies`会被调用","//监听window对象的事件","//监听滚动事件,打印滚动位置","//监听登录事件","//监听输入改变","//监听通知","//直接调用原生api","//相对于坐标系原点的对齐方式","//省略无关代码","//确保colors数组不空","//私有构造函数","//移除计数器","//移除订阅者","//第一行icon使用主题中的iconthem","//等待连接服务器(会将请求信息发送给服务器)","//线","//结果是:","//结果是:bob","//绘制子节点,","//维护单选开关状态","//缩放倍数在0.8到10倍之间","//网络不通会走到这","//背景为纸黄色","//背景径向渐变","//背景混合模式","//背景渐变","//自定义图标","//获取local","//获取上下文大小","//获取主题","//获取用户信息","//获取用户信息后保存","//蓝色主题","//表尾标记","//要拖动和点击的widget","//触发事件,事件触发后该事件所有订阅者会被调用","//计算每一个子widget的位置","//订阅者回调签名","//设置[bold]和[hidden]标志","//设置control","//设置globalkey,用于后面获取formst","//设置key","//设置代理","//证书一致,则允许发送数据","//该回调决定当data发生变化时,是否通知子树中依赖data的widget","//读取响应内容","//读取返回内容","//调用flutter","//调用renderbinding的drawframe()方法","//调用了onerror回调","//调用我们定义的交错动画widget","//距顶部的偏移","//路由b","//路由销毁时需要释放动画资源","//输入框光标颜色","//输出model目录","//输出响应头","//输出第一个用户的姓名","//边框","//过渡动画执行的总时长","//返回到顶部时执行动画","//进度条","//选中时的颜色","//递归子renderbox进行命中测试","//通过constrainedbox来确保stack占满屏幕","//通过一个回调创建一个ticker","//通过修改图片宽度来达到缩放效果","//遍历json目录生成模板","//重复方式","//重新构建","//重新构建列表","//重新构建页面","//重绘之前的预处理操作,检查renderobject是否需要重绘","//错误处理","//长按","//间隔,前60%的动画时间","//间隔,后40%的动画时间","//阴影","//阴影,可以指定多个","//随便返回一个text()","//隐藏下划线","//需要在子树中共享的数据,保存点击次数","//需要定义一个control","//需要继承tickerprovider,如果有多个animationcontroller,则应该使用tickerproviderstatemixin。","//页面a中","//颜色","//验证回调","//验证通过提交数据","//高度动画","//默认原点为左上角,左移20像素,向上平移5像素","/applications/xcode.app/contents/develop","0","0)","0,","0.0)","0.0))","0.0)))","0.0))➩offset(0.0,","0.0);","0.0,","0.0,//","0.0,0.0,0.0,1.0","0.0,0.0,1.0,0.0","0.0,3.5,0.0,0.0","0.00,","0.0;","0.0;//距左边的偏移","0.20,","0.4.3版本的url_launcher,在","0.6,","0.6,//间隔,前60%的动画时间","00522983","00525262401065761290103018,","0;","0xe000","0xe614,","0xe90d","0xe914","0xec7d,","0}\");","1","1\";","1)","1))","1)).then((e)","1),","1);","1,","1.","1.0","1.0)","1.0))","1.0,","1.0.0+1","1.00)➩tween(offset(0.0,","1.000;","1.0;","1.0]","1.0的范围。例如,fling()函数允许您提供速度(velocity)、力量(force)等,因此可以在0.0到1.0范围之外。","1.2,","1.5","1.5,","10.0),","10.0);","10.0,","100","100)","100));","100).toint()}%\",","100).toint()}%\";","100);","100,","100.0","100.0)),","100.0),","100.0,","1000","1000,","101.8)","104.0,","10:00:52","10_3_1","10t15:46:20.897228\",","10t17:37:28.505088\",","12","120.0),","120.0,","125.8)","13.0)","14.0)//定义提示文本样式","14.0;","150.0)),","150.0),","150.0,","150.0,),","15;","16.0),","16.0,","1657393","16)或更高版本的android设备.","1794.0)","18.0),","18.0),)","18.0,","192.168.1.2:8888\";","199833992]","199833992];","1:","1;","1秒后返回结果","2","2)).then((e)","2),","2),(){","2);","2)都可.","2,","2.","2.0","2.0),","2.0,","2.0,))","2.0;","2.0已经正式发布,所以本书所有示例均采用dart","2.0语法。","2.625","2.625,","2.625x","20,","20.0),","20.0),//子","20.0,","200),","200,","200.0)),","200.0,","200.0;","200.0到0.0的值:","2000),","200ms;","2017","2018","2018年2月,flutter发布了第一个beta版本,同年五月,","2018年6月,flutter发布了首个预览版本,这意味着","203.208.41.32","2171978,","24","24.0),","24.0,","25,","25.0,","250.0,","255).animate(controller);","255).animate(curve);","27k","28.0),","2:","2秒后返回结果","3","3\";","3));","3),","3,","3.","3.0,","3.1.0正式发布,实现了对于ios的完全支持,新增winrt、beautifier等插件,废弃了无python接口的gdb调试支持,集成了基于clang的c/c++代码模块,并对android支持做出了调整,至此实现了全面支持ios、android、wp,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,qt虽然在pc端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到qt的声音,但一直很弱,无论qt本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:","3.2.0.pom","3.5,0.0,0.0,0.0","30","30.0),),","30.0);","30.0,","300),","300.0).animate(animation)","300.0).animate(controller)","300.0).animate(controller);","300.0,","3039):","32","32.0,","323.7)","328026813]","36.0);","38.0),","388965355]","3秒后返回结果","4),","4.","4.0","4.0,","4.1(api","40.0),","400","400,","400;","411.4,","42","42,","437.086m","48.0;","489139594]","489139594];","4秒后返回结果","5","5),","5.0","5.0),","5.0,","50","50,),","50.0","50.0,","500","500),","500,","514585,","5436):","56","56,","5s或更高版本)。","60.0),","60.0,","600","60hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如vsync),","60hz的屏幕就会一秒内发出","60次这样的信号。而这个信号主要是用于同步cpu、gpu和显示器的。一般地来说,计算机系统中,cpu、gpu和显示器以一种特定的方式协作:cpu将计算好的显示内容提交给","612888877]","612888877];","619728754]","619728754])","625702218]","64","6559):","683.4)","683.4))","683.4),","683.4);","683.4),它用于强制renderpositionedbox下的所有渲染框到屏幕的大小,","6的屏幕dpi为3.5","7","7.0语法中就已经存在了,因此我们可以看到google对dart语言给予厚望,是想把dart打造成一门集百家之所长的编程语言。","700","727622716]","727622716];","8","8,","8.0),","8.0,","8.0,//按下时的阴影","80);","80,","80.0)","80.0),","80.0)作为子widget的约束。","80.0)等价于:","80.0,","80.0,height:","80.0,maxheight:","80.0,maxwidth:","80.0,minwidth:","816151164]","816151164];","82.0,","83.3%","8513):","9","9)],","9.0或更新版本(通过链接下载或苹果应用商店).","9.0或更高版本:","90.0,","900;","96025565262,","9个数,点击一次按钮,则对9个数随机排一次序,代码如下:",":",":super(child:",":super(key:",";","=","=0{there","=0{没有未读邮件}=1{有{howmany}封未读邮件}other{有{howmany}封未读邮件}}\",","==","=>","=await",">",">=","?","??","??=","@immut","@implement","@javascriptinterfac","@jsonkey(name:","@jsonserializable()","@objc","@overrid","@protect","@requir","@uiapplicationmain","[","[\"新闻\",","['en',","[0.0","[0]","[1]","[2]","[3]","[],","[];","[arg])","[batterychannel","[bool","[child].","[color,","[colors.blue,","[colors.blue[700],","[colors.lightblue[300],","[colors.lightgreen,","[colors.orange,colors.red],","[colors.red,","[colors.teal,","[eventcallback","[fluttermethodchannel","[globalkey","[globalobjectkey","[howmany],","[loadingtag];","[overlayentry@248818791(opaque:","[renderobjecttowidgetel","[root]","[self","[string","[super","[theme.primarycolor,","[uiapplicationlaunchoptionskey:","\\","\\ue000\";","\\ue90d\";","]","])","]).listen((data){","]).then((results){","]);","],","^0.1.0","^0.1.2","^0.15.7","^0.17.2","^0.4.1","^0.4.2","^1.0.0","^2.0.0","^3.1.3","^x.x.x","_","_$%sfromjson(json);","_$%stojson(this);","_$personfromjson(json);","_$persontojson(this);","_$userfromjson(json);","_$usertojson(this);","__testwidgetst","__testwidgetstate();","_activ","_active,","_active确定颜色:绿色为tru","_animatedcontainerstate(616063822;","_animateddefaulttextstylestate(427742350;","_animatedstate(552160732))","_animatedstate(714726495))","_animatedthemestate(543295893;","_animatedwidgetstate)","_animationcontrol","_animationcontroller,","_animationcontroller.addstatuslistener((status)","_animationcontroller.dispose();","_animationcontroller.forward();","_animationcontroller.reverse();","_animationcontroller.value),","_animationcontroller.value,","_animationcontroller;","_batterylevel","_buildanimation(buildcontext","_buildanimation,","_checkboxselected,","_checkboxselected=true;//维护复选框状态","_checkboxselected=value;","_color","_colors),","_colors,","_compositechild(child,","_compositechild(renderobject","_control","_controller,","_controller.addlistener(()","_controller.animateto(","_controller.animateto(.0,","_controller.dispose();","_controller.forward().orcancel;","_controller.reverse().orcancel;","_controller.valu","_controller;","_counter","_counter++;","_counter;","_counter=widget.initvalue;","_counterwidgetst","_counterwidgetstate();","_debugreportexception(","_devicepixelratio;","_drag","_dragstat","_dragstate();","_dragvert","_dragverticalst","_dragverticalstate();","_emap","_emap[eventname]","_emap[eventname].add(f);","_emap[eventname];","_event;","_fileoperationroutest","_fileoperationroutestate();","_focusscop","_focusstate(331487674))","_focusstate(739584448))","_focustestroutest","_focustestroutestate();","_formkey,","_formkey=","_formtestroutest","_formtestroutestate();","_gesturedetectortestroutest","_gesturedetectortestroutestate();","_gesturerecognizertestroutest","_gesturesemant","_getbatterylevel()","_getbatterylevel,","_getlocalfile()","_getlocalfile()).writeasstring('$_counter');","_getlocalfile();","_globalkey","_globalkey.currentstate.opendrawer()","_globalkey=","_gradientcircularprogresspaint","_gradientcircularprogresspainter(","_gradientcircularprogresspainter({","_handlepersistentframecallback(dur","_handlepersistentframecallback:","_handlesemanticsaction;","_handlesemanticsenabledchang","_handletap()","_handletap,","_handletapboxchanged()","_handletapboxchanged(bool","_handletapboxchanged,","_handletapcancel()","_handletapcancel,","_handletapdown(tapdowndetail","_handletapdown,","_handletapup(tapupdetail","_handletapup,","_highlight","_httptestroutest","_httptestroutestate();","_icon","_icons.length","_icons.length,","_import+=_import.isempty?\"\":\";\";","_import=set.join(\";\\r\\n\");","_incrementcounter()","_incrementcounter,","_infinitegridviewst","_infinitegridviewstate();","_infinitelistviewst","_infinitelistviewstate();","_inheritedwidgettestroutest","_inheritedwidgettestroutestate();","_inkfeatur","_lastpressedat","_lastpressedat;","_left","_left,","_leftb","_leftb,","_load","_materialappstate(1009803148))","_materialappstate(1009803148)]","_materialappstate(1009803148)];","_materialappstate(859106034)]","_materialbuttonstate(398724090))","_materialstate(780114997))","_modalscop","_modalscopestate(875510645))","_modalscopestatu","_mountainviewpagetransit","_msg+=notification.msg+\"","_msg=\"\";","_myhomepagest","_myhomepagestate();","_myhomepagestate类是myhomepage类对应的状态类。看到这里,细心的读者可能已经发现,和myapp","_needslayout","_noblegas","_noblegases[atomicnumber]","_nodesneedingcompositingbitsupdate)","_nodesneedingcompositingbitsupdate.clear();","_nodesneedingcompositingbitsupdate.sort(","_nodesneedinglayout","_nodesneedinglayout;","_nodesneedingpaint","_nodesneedingpaint;","_offset","_offset)","_offset,","_onadd(){","_onbeginframe;","_ondrawframe;","_onitemtapped(int","_onitemtapped,","_onlocalechanged;","_onmetricschanged;","_onplatformmessage;","_onpointerdatapacket;","_ontextscalefactorchanged;","_oper","_overlayentri","_overlayentrystate(279971240))","_overlayentrystate(739137453))","_parentwidgetcst","_parentwidgetcstate();","_parentwidgetst","_parentwidgetstate();","_parentwidgetstatec","_physicalsize;","_playanimation()","_playanimation();","_progress","_pwdcontrol","_pwdcontroller,","_readcounter()","_readcounter().then((int","_renderinkfeatur","_renderinkfeatures)","_rendertheatr","_rendertheatre)","_renderviewel","_request()","_respons","_retrievedata()","_retrievedata();","_retrieveicons();","_retrieveicons():在此方法中我们通过future.delayed来模拟从异步数据源获取数据,每次获取数据需要200毫秒,获取成功后将新数据添加到_icons,然后调用setstate重新构建。","_scaffoldroutest","_scaffoldroutestate();","_scaleanimationroutest","_scaleanimationroutestate();","_scaletestroutest","_scrollnotificationtestroutest","_scrollnotificationtestroutestate();","_selectedindex","_selectedindex,","_selectioncontrol","_selectioncontroller,","_selectioncontroller.selection=textselection(","_selectioncontroller.text.length","_selectioncontroller.text=\"hello","_sendmessage()","_sendmessage,","_singleton","_singleton;","_staggerdemost","_staggerdemostate();","_start","_start,","_switchandcheckboxtestroutest","_switchandcheckboxtestroutestate();","_switchselected,//当前状态","_switchselected=true;","_switchselected=value;","_tabcontrol","_tabcontroller,","_tabcontroller.addlistener((){","_tabcontroller;","_tapboxast","_tapboxastate();","_tapboxcst","_tapboxcstate();","_tapgesturerecogn","_tapgesturerecognizer.dispose();","_taprecogn","_taprecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。","_testwidget","_testwidget(),//子widget中依赖sharedatawidget","_testwidget,在其build方法中引用sharedatawidget中的数据;同时,在其didchangedependencies()","_text","_textscalefactor;","_theatr","_themecolor","_themecolor)","_themecolor,","_themetestroutest","_themetestroutestate();","_toggl","_top","_top,","_turn","_turnboxroutest","_turnboxroutestate();","_turnboxst","_turnboxstate();","_turns,","_unamecontrol","_unamecontroller,","_unamecontroller.addlistener((){","_unamecontroller=new","_updatesystemchrome();","_valu","_value,","_value.clamp(.0,","_websocketroutest","_websocketroutestate();","_widgetsappstate(552902158))","_widgetsappstate(552902158)]","_widgetsappstate(552902158)];","_width","_width),","_width=200*details.scale.clamp(.8,","_word","_words.insertall(_words.length","_words.length,","`'you","`ctrl","`getphonemodel`","a\")","a\")),","a,","a.depth","a.depth))","abrilfatfac","absorbing:","absorbpoint","absorbpointer(","abstract","accentcolor,","accept","accessible:","account'),","accounts'),","action","actions:","action。","activ","active:","active;","activecolor:","adb","addautomatickeepal","addautomatickeepalives:该属性表示是否将列表项(子widget)包裹在automatickeepal","addcredentials(uri","additionalconstraints:","addlistener()可以给animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setstate()来触发ui重建。","addpersistentframecallback(_handlepersistentframecallback);","addproxycredentials(","addrepaintboundari","addrepaintboundaries:该属性表示是否将列表项(子widget)包裹在repaintboundary中。当可滚动widget滚动时,将列表项包裹在repaintboundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加repaintboundary反而会更高效。和addautomatickeepalive一样,如果列表项自己维护其keepalive状态,那么此参数必须置为false。","addstatuslistener()可以给animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见animationstatus定义)时会调用statuslistener。","age=172800","agent\",","agent)来看看输出的变化。","agent字段。","align(","alignment.bottomcenter,","alignment.cent","alignment.center,","alignment.center;","alignment.topcenter,","alignment.topleft,","alignment.topright,","alignment:","alignment:alignment.cent","alignmentdirectional.topstart,","alignment:此参数决定如何去对齐没有定位(没有使用positioned)或部分定位的子widget。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。","aliv","alive字段值,为了避免频繁建立连接,httpclient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。","alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。","alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep","all(doubl","allproject","alpha","alphabetic)","alphabetic;","analyze测试你的代码。这个工具(它是dartanalyzer工具的一个包装)将分析你的代码并帮助你发现可能的错误。","android","android'","android)","android.content.context","android.content.contextwrapp","android.content.contextwrapper;","android.content.int","android.content.intent;","android.content.intentfilt","android.content.intentfilter;","android.os.batterymanag","android.os.batterymanager;","android.os.build.vers","android.os.build.version;","android.os.build.version_cod","android.os.build.version_codes;","android.os.bundl","android.os.bundle;","android_hom","android和ios的应用存储目录不同,pathprovid","android平台。","android文件夹,点击","android设置","angle:","angle:math.pi/2","anim","animatedbuilder(","animatedcontain","animateddefaulttextstyl","animatedimag","animatedimage(animation:","animatedimage({key","animatedthem","animatedwidget","animatedwidget{","animatedwidget的状态对象是animatedwidget内部实现细节,不应该暴露给外部。","animation);","animation)方法,它可以获取动画当前值。","animation,","animation,);","animation.addstatuslistener((status)","animation.valu","animation.value,","animation:","animation;","animation=curvedanimation(parent:","animation\\。可以通过animation对象的value属性获取动画的当前值。","animationcontrol","animationcontroller(","animationcontroller(vsync:","animationcontroller(⏭","animationcontroller派生自animation,因此可以在需要animation对象的任何地方使用。","animationcontroller生成数字的区间可以通过lowerbound和upperbound来指定,如:","animationcontroller用于控制动画,它包含动画的启动forward()、停止stop()","animationstatus.complet","animationstatus.completed)","animationstatus.dismissed)","animationstatus.forward)","animationstatus.reverse)","animation})","animation对象本身和ui渲染没有任何关系。animation是一个抽象类,它用于保存动画的插值和状态;其中一个比较常用的animation类是animation。animation对象是一个在一段时间内依次生成一个区间(tween)之间值的类。animation对象的输出值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数。","animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。","animation)。交错动画需要注意以下几点:","any]?)","aot模式编译的,所以不支持动态化,但dart还有jit或snapshot运行方式,这些模式都是支持动态化的,后续会介绍。","aot模式运行时,javascript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,flutter使用自己的渲染引擎来绘制ui,布局数据等由dart语言直接控制,所以在布局过程中不需要像rn那样要在javascript和native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以javascript需要和native之间不停的同步布局信息,这和在浏览器中要javascript频繁操作dom所带来的问题是相同的,都会带来比较可观的性能开销。","aot,当以","apart'),","api","api、formdata、拦截器、请求取消、cookie管理、文件上传/下载、超时等。","api。","api。比如android原生应用就是指使用java或kotlin语言直接调用android","api也是调用操作系统api,所以它的性能接近原生。","api可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。","api和io","api在dart","api手动去绘制ui,缺点是必须了解canva","api是原始且独立的,这个与操作系统提供的api类似,上层ui框架设计成什么样完全取决于设计者,完全可以将ui框架设计成android风格或ios风格,但这些事google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的掌握程度。","api来完成绘制。","api来实现。子类需要实现此方法以实现自身的绘制逻辑,如renderparagraph需要实现文本绘制逻辑,而renderimage需要实现图片绘制逻辑。","api来实现具体的绘制逻辑。","api标识的属性和字符串提取到“i10n","api的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的httpclient不好用想重新实现一个,这时我们就需要使用socket。flutter的socket","api的示例,它返回的数据就是json格式的字符串,为了方便我们在代码中操作json,我们先将json格式的字符串转为dart对象,这个可以通过dart:convert中内置的json解码器json.decode()","api,并且得自己去实现绘制逻辑,而优点是强大灵活,理论上可以实现任何外观的ui。","api,然后在底层通过opengl这种跨平台的绘制库(内部会调用操作系统api)实现了一套代码跨多端。由于dart","app","app\")","app\",","app\";","app'),","app',","app)","appbar","appbar(","appbar(title:","appbar({","appbar:","appbar是一个material风格的导航栏,它可以设置标题、导航栏菜单、底部tab等。下面我们看看appbar的定义:","appdeleg","appdelegate:","appear","appendlayer(child._layer);","apphom","apphome(),","applewebkit/603.1.30","applic","application\",","application',","application(","application.","application:","application:appl","app”和“flutter应用”。","app从启动到显示到屏幕上的主流程,读者可以结合前面章节对widget、element以及renderobject的介绍来加强细节理解。","app定义主题数据(themedata),material组件库里很多widget都使用了主题数据,如导航栏颜色、标题字体、icon样式等。theme内会使用inheritedwidget来为其子树widget共享样式数据。","app最终的locale。通常在不支持的语言区域时返回一个默认的locale。","app框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。materialapp也是一个widget。","app的android安装包比ios安装包小的主要原因。","app目录","app目录,","app采用dart语言开发。dart在","app,一套代码同时运行在","arb","arb/intl_*.arb","arb/intl_messages.arb”文件中,我们看看其内容:","arb文件是标准的,其格式规范可以自行了解。通常会将arb文件交给翻译人员,当他们完成翻译后,我们再通过下面的步骤根据arb文件生成最终的dart代码。","arb目录,该目录保存我们接下来通过intl_translation命令生成的arb文件。一个简单的arb文件内容如下:","archive/#maco","archive/#window","archiving.\",","args:","around","as!","asin(stokewidth","asin(stokewidth/","assert(_lay","assert(_relayoutboundari","assert(child._lay","assert(el","assert(par","assert(renderview","assertionerror(\"error\");","assert语句被启用,并且flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。","asset","asset:","assetimag","assetimage(\"images/avatar.png\"),","assetimage('graphics/background.png'),","assetimage('icons/heart.png',","assetimage类。例如,我们可以从上面的asset声明中加载背景图片:","assets/background.png","assets/fonts/abrilfatface/abrilfatfac","assets/fonts/raleway","assets/my_icon.png","assets:","assets指定应包含在应用程序中的文件。","assets(有时称为资源)。assets是会打包到程序安装包中的,可在运行时访问。常见类型的assets包括静态数据(例如json文件)、配置文件、图标和图片(jpeg,webp,gif,动画webp","async","async/await","async{","async和await关键词支持了异步编程,运行您写出和同步代码很像的异步代码。","async用来表示函数是异步的,定义的函数会返回一个future对象,可以使用then方法添加回调函数。","atedge:是否滑到了scrol","atomicnumb","atomicnumber)","attach(scrollposit","attachrootwidget(widget","attachtorendertree(buildown","attrs.write(\"","attrs.write(gettype(v,set,name));","attrs.write(key);","attrs.writeln(\";\");","attrs=","authenticate(futur","authenticate:","authenticateproxy(","authenticate”","authorization:","auto","autofocu","autofocus:","autouncompress","autovalid","autovalidate:","autovalidate:是否自动校验输入内容;当为true时,每一个子formfield内容发生变化时都会自动校验合法性,并直接显示错误信息。否则,需要通过调用formstate.validate()来手动校验。","available.\",","avatar:","avds.","await","axi","axis.horizontal,","axis.vertical,","axisdirection.down,","axisdirection:滚动方向。","a标志:","a:包含一个用户头像,圆形,点击后跳到b路由,可以查看大图。","b)","b.depth","b.depth))","background))","background:","background;","backgroundblendmode,","backgroundcolor,","backgroundcolor:","backgroundcolor;","background、一个边框、或者一个阴影。","background:在子widget之后绘制,即背景装饰。","bad","badg","banner","barriercolor;","barrierdismissible;","barrierlabel;","based认证等,目前flutter的httpclient只支持basic和digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用basic认证还是digest认证,都应该在https协议下,这样可以防止抓包和中间人攻击。","baseline:","baseoffset:","bash、mkdir、rm、git、curl、unzip、which","basic","batteri","batterychannel","batterychannel.setmethodcallhandler({","batterylevel","batterylevel:","batterylevel;","batterymanag","batterymanager.getintproperty(batterymanager.battery_property_capacity)","batterymanager.getintproperty(batterymanager.battery_property_capacity);","begin:.0","begin:colors.green","begin:edgeinsets.only(left:","behavior","behavior:","beta","beta.zip","binarymessenger:","binarymessenger:controller];","bindingbas","binding的源码,我们可以发现这些binding中基本都是监听并处理window对象的一些事件,然后将这些事件按照framework的模型包装、抽象然后分发。可以看到widgetsflutterbinding正是粘连flutt","bit","bit(位),颜色深度越深,所能显示的色彩更加丰富靓丽。","bit)","blendmod","blendmode.difference,","blurradius:","bob","body(),","body:","body的widget树中包含了一个cent","body,如:","bold,","book","bool","bool){","border(bottom:","border,","border.all(","border:","borderradius,","borderradius.circular(20.0)),","borderradius.circular(3.0),","borderradius:","borderradiusgeometri","borderside(","borderside(color:","borderside:","boss;","boss字段:","bothdirectiontestrout","bothdirectiontestroutest","bothdirectiontestroutestate();","bottom):分别指定四个方向的补白。","bottom:","bottomappbar(","bottomappbar的shape属性决定洞的外形,circularnotchedrectangle实现了一个圆形的外形,我们也可以自定义外形,比如,flutt","bottomnavigationbar(","bottomnavigationbar:","bottomnavigationbaritem(icon:","bottom分别代表离stack左、上、右、底四边的距离。width和height用于指定定位元素的宽度和高度,注意,此处的width、height","bottom来定位widget,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。","bouncingscrollphysics:ios下弹性效果。","boundari","boxbord","boxconstraint","boxconstraints(","boxconstraints(0.0","boxconstraints(88.0","boxconstraints(88.0这是根renderobject对象的tostringdeep函数的输出。","boxconstraints(biggest)","boxconstraints(minheight:","boxconstraints(minwidth:","boxconstraints(w=411.4,","boxconstraints({","boxconstraints.expand(),","boxconstraints.expand()可以生成一个尽可能大的用以填充另一个容器的boxconstraints。除此之外还有一些其它的便捷函数,读者可以查看api文档。","boxconstraints.tight(size(200.0,","boxconstraints.tight(size(300.0,","boxconstraints.tightfor(height:","boxconstraints.tightfor(width:","boxconstraints用于设置限制条件,它的定义如下:","boxconstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的boxconstraints,如boxconstraints.tight(s","boxdecor","boxdecoration(","boxdecoration())","boxdecoration(//背景装饰","boxdecoration(backgroundcolor:","boxdecoration(color:","boxdecoration({","boxfit.cover,),","boxparentdata","boxparentdata();","boxparentdata)","boxparentdata定义如下:","boxshadow(","boxshadow,","boxshadow:","boxshap","boxshape.rectangle,","break;","brew","bridge,","bright","brightness,","brightness.dark,","brows","bu","bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。","build","build()","build();","build():此回调读者现在应该已经相当熟悉了,它主要是用于构建widget子树的,会在如下场景被调用:","build(buildcontext","build,","build.gradl","build.model;","build_runn","build_runner:","buildcontext","builder","builder(","builder(builder:","builder(context),","builder(context);","builder,","builder:","builder;","builder进行自定义。","buildowner.buildscope()","buildowner.buildscope(renderviewelement);","buildowner.finalizetree();","buildpage(buildcontext","buildtransitions(buildcontext","build时可以被同步读取。","built","bundl","bundle?)","bundle中。","bundle中。前者被认为是main","bundle中加载字符串或图片(二进制)文件。","bundle,而是使父级widget在运行时动态替换的不同的assetbundle,这对于本地化或测试场景很有用。","bus.emit(\"login\",","bus.on(\"login\",","button","buttontext","buttontheme,","buttonthemedata","byte[]","bytedata","b:显示用户头像原图,矩形;","c++实现的","c:\\users\\{user_name}\\.gradle\\gradle.properti","c:\\windows\\system32\\drivers\\etc\\","cach","cacheextent,","call,","call.method)","callback();","callback)","callback){","canbetapped)","canbetapped;","cancel","cancel;","canceled,","canupdate(...)是一个静态方法,它主要用于在widget树重新build时复用旧的widget,其实具体来说,应该是:是否用新的widget对象去更新旧ui树上所对应的element对象的配置;通过其源码我们可以看到,只要newwidget与oldwidget的runtimetype和key同时相等时就会用newwidget去更新element对象的配置,否则就会创建新的element。","canupdate(widget","canvas,","canvas.drawarc(","canvas.drawrect(offset.zero","canvas:一个画布,包括各种绘制方法,我们列出一下常用的方法:","cardcolor,","case","catch","catch(e){","catcherror回调函数将被调用;但是,并不是只有","catcherror回调才能捕获错误,then方法还有一个可选参数onerror,我们也可以它来捕获异常:","catch语句中。","caught","cb){","cd","center","center(","center(child:","center:","center三个值),不同的是crossaxisalignment的参考系是verticaldirection,即verticaldirection值为verticaldirection.down时crossaxisalignment.start指顶部对齐,verticaldirection值为verticaldirection.up时,crossaxisalignment.start指底部对齐;而crossaxisalignment.end和crossaxisalignment.start正好相反;","cert,","chang","change\");","changefirstchar(filename);","changefirstchar(str","channel","channel).setmethodcallhandl","channel).setmethodcallhandler(","channel.sink.add('hello!');","channel.sink.add(_controller.text);","channel.sink.close();","channel.stream,","channel;","channels:","channel查看所有分支,如笔者本地运行后,结果如下:","channel)将消息发送到其应用程序的所在的宿主(ios或android)应用(原生应用)。","channel),主要处理原生和flutter通信。","check","checkbox(","checkedmodebann","child","child)","child),","child);","child,","child._layer.offset","child._paintwithcontext(this,","child.hittest(result,","child.layout()","child.parentdata","child.parentdata;","child:","child:builder(builder:","child;","childaspectratio","childaspectratio:","childaspectratio:子元素在横轴长度和主轴长度的比例。由于crossaxiscount指定后子元素横轴长度就确定了,然后通过此参数值就可以确定子元素在主轴的长度。","childcount:","childparentdata","childparentdata.nextsibling;","childparentdata.offset","children","children,","children:","children:[","children是一个textspan的数组,也就是说textspan可以包括其他textspan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果,然后用textspan实现它。","childtyp","chip(","chmod","chrome浏览器和android均采用skia作为其绘图引擎,值得一提的是,由于android系统已经内置了skia,所以flutter在打包apk(android应用安装包)时,不需要再将skia打入apk中,但ios系统并未内置skia,所以构建ipa时,也必须将skia一起打包,这也是为什么flutt","chunk","circleavatar(","circleavatar(backgroundcolor:","circleavatar(child:","circularnotchedrectangle(),","clampingscrollphysics:android下微光效果。","class","class)来解决前面提到的问题,我们称之为user。在user类内部,我们有:","classname,classname,classname]);","classname=changefirstchar(v.substring(3),false);","classname=name[0].touppercase()+name.substring(1);","click","click\");","client)","client.findproxi","clipoval(","cliprect(","cocoapod","cocoapods目前不提供依赖覆盖功能。","code","code。","code之一以获得更好的开发体验。flutter官方提供了这两款编辑器插件,通过ide和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下android","code创建的flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器demo的源码,让读者对flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍flutter应用的其它概念与技术。对于接下来的示例,希望读者可以跟着笔者实际动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉dart或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。","code是一个轻量级编辑器,支持flutter运行和调试。","code根据前面“编辑器配置与使用”一章中介绍的创建flutter工程的方法创建一个新的flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的demo。","code的配置与使用","code的配置及使用(android","code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。","collectlog(line);","collectlog(str","color","color(0x77cdb175);","color(0xd0ff0000);","color(0xdd000000);","color(0xff2196f3)","color(0xff2196f3))","color(0xffeeeeee),","color(0xfffafafa)","color(0xfffafafa)))","color(0xffffff00)","color,","color.value,","color:","color:colors.black54,","color:colors.red,","color;","color];","colorblendmode:","colorblendmode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorblendmode指定混合模式,下面是一个简单的示例:","colorbrightness:","colors,","colors.amber,","colors.black","colors.black,","colors.black.withopacity(0.1),","colors.black.withopacity(0.5),","colors.black54);","colors.black54,","colors.black87","colors.blu","colors.blue)),","colors.blue,","colors.blue,),","colors.blue,);","colors.blue[200]],","colors.blue[300]],","colors.blue[700],","colors.blue],","colors.blueaccent],","colors.bluegrey,","colors.brown,),","colors.cyan,","colors.cyan[100","colors.cyan[500]],","colors.cyan],","colors.deeporange,","colors.green","colors.green);","colors.green,","colors.green,),","colors.green[200],","colors.green[700]],","colors.grey","colors.grey),//定义label字体样式","colors.grey,","colors.grey[200],","colors.grey[600],","colors.last,","colors.lightblue[100","colors.lightgreen[700]","colors.orange),","colors.orange,","colors.orange],","colors.purple,),","colors.r","colors.red),","colors.red,","colors.red,),","colors.red[50],","colors.red],","colors.t","colors.teal;","colors.teal[700],","colors.transparent)","colors.transparent,","colors.white)),","colors.white),","colors.white),),","colors.white,","colors.yellow,),","colors:","colors;","colortween","colortween(","colortween(begin:","color和","color和decoration是互斥的,实际上,当指定color时,container内会自动创建一个decoration。","column","column(","column(children:","column可以在垂直方向排列其子widget。参数和row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比row来理解,在此不再赘述。","column:","comma","command","company开发的跨平台c++图形用户界面应用程序开发框架。2008年,qt","company科技被诺基亚公司收购,qt也因此成为诺基亚旗下的编程语言工具。2012年,qt被digia收购。2014年4月,跨平台集成开发环境qt","complet","componentel","componentelement{","compositeframe()","configuration:","configurations.al","conflict","connection:","connectiontimeout","console.log(model);","const","constrainedbox","constrainedbox(","constrainedbox和sizedbox","constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的。sizedbox只是constrainedbox一个定制,本节把他们放在一起讨论。","constrainedbox用于对齐子widget添加额外的约束。例如,如果你想让子widget的最小高度是80像素,你可以使用const","constraint","constraints,","constraints.istight","constraints:","const,不是var,也不是一个类型。","consum","contain","container(","container(...),","container(child:","container(width:","container({","container:","container可以使用矩阵在三维空间中对其进行变换。","container容器","container是我们要介绍的最后一个容器类widget,它本身不对应具体的renderobject,它是decoratedbox、constrainedbox、transform、padding、align等widget的一个组合widget。所以我们只需通过一个container可以实现同时需要装饰、变换、限制的场景。下面是container的定义:","container:","contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。","content","context)","context)来获取的,我们看看其简化后的代码:","context),继承自animatedwidget的动画widget都要实现这个build方法。现在设想一下,如果statefulwidget","context,","context.findrenderobject()","context.inheritfromwidgetofexacttyp","context.inheritfromwidgetofexacttype(_inheritedtheme)","context.inheritfromwidgetofexacttype(sharedatawidget);","context.paintchild(child,","context.s","context:","contextwrapper(applicationcontext).registerreceiver(null,","contextwrapper(getapplicationcontext()).","context,它是buildcontext类的一个实例,表示构建widget的上下文,它是操作widget在树中位置的一个句柄,它包含了一些查找、遍历当前widget树的一些方法。每一个widget都有一个自己的context对象。","control","control:","controller);","controller,","controller.addlistener(()=>print(controller.offset))","controller.dispose();","controller.forward();","controller.positions.elementat(0).pixel","controller.positions.elementat(1).pixel","controller.reverse();","controller:","controller;","controller:此属性接受一个scrollcontroller对象。scrollcontroller的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的primaryscrollcontroller,如果子树中的可滚动widget没有显式的指定controller并且primary属性值为true时(默认就为true),可滚动widget会使用这个默认的primaryscrollcontroller,这种机制带来的好处是父widget可以控制子树中可滚动widget的滚动,例如,scaffold使用这种机制在ios中实现了\"回到顶部\"的手势。我们将在本章后面“滚动控制”一节详细介绍scrollcontroller。","controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则textfield内部会自动创建一个。","controls面板中的电池电量。","cookie:","cordova、ion","count","count,","counterwidget","counterwidget();","counterwidget({","counterwidget接收一个initvalue整形参数,它表示计数器的初始值。下面我们看一下state的代码:","cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。","cpu","cpu和gpu的任务是各有偏重的,cpu主要用于基本数学和逻辑计算,而gpu主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,gpu的主要作用就是确定最终输送给显示器的各个像素点的色值。","creat","createboxpainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。","createelement()","createelement();","createelement():正如前文所述“一个widget可以对应多个element”;flutt","createrenderobject(buildcontext","createscrollposition(","createstate()","createstate();","createticker(tickercallback","creator","creator:","credentials)","credentials);","crossaxisalign","crossaxisalignment.center,","crossaxisalignment.start,","crossaxisalignment:","crossaxisalignment:表示子widgets在纵轴方向的对齐方式,row的高度等于子widgets中最高的子元素高度,它的取值和mainaxisalignment一样(包含start、end、","crossaxiscount,","crossaxiscount:","crossaxiscount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即viewport横轴长度/crossaxiscount。","crossaxisspac","crossaxisspacing:","crossaxisspacing:横轴方向子元素的间距。","ctrl","ctx,","cupertino","cupertino_icons:","cupertinobutton(","cupertinocolors.activeblue,","cupertinonavigationbar(","cupertinopageroute(","cupertinopagescaffold(","cupertinoscrollbar","cupertinoscrollbar是ios风格的滚动条,如果你使用的是scrollbar,那么在ios平台它会自动切换为cupertinoscrollbar。","cupertinotestrout","current){","current=current.tolowercase();","currentindex:","cursorcolor,","cursorwidth、cursorradius和cursorcolor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。","curv","curve:","curvedanim","curvedanimation(","curvedanimation(parent:","curvedanimation和animationcontroller(下面介绍)都是animation类型。curvedanimation可以通过包装animationcontroller和curve生成一个新的动画对象","curvedanimation生成的值也可以超出0.0到1.0的范围。根据选择的曲线,curvedanimation的输出可以具有比输入更大的范围。例如,curves.elasticin等弹性曲线会生成大于或小于默认范围的值。","curves.bouncein);","curves.decelerate)","curves.eas","curves.ease)","curves.ease,","curves.easein);","curves.easeout);","curves.easeout,","customhom","custompaint","custompaint(","custompaint({","custompainter中提定义了一个虚函数paint:","custompaintrout","custompaint与canva","customscrollview","customscrollview(","customscrollviewtestrout","customscrollview是可以使用sliver来自定义滚动模型(效果)的widget。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个gridview,底部需要一个listview,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体,如果使用gridview+listview来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动widget(sliver)\"粘\"起来,而customscrollview的功能就相当于“胶水”。","c代码,使用ios电池api来获取电池电量,这和原生是相同的。","c和swift中早就很普遍,而??操作符在php","c或swift语言直接调用io","c相似,首先打开xcode中flutter应用程序的ios部分:","c编写ios代码。要使用kotlin或swift,请使用","c,如果您更喜欢swift,可以直接跳到后面swift部分。","d:\\android\\sdk","dart","dart:ui库时,调用最终会走到engine层,然后实现真正的绘制逻辑。","dartdoc","dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,,如果读者不清楚,可以查看dart语言文档,不在赘述,下面我们看看flutter中的异常捕获。","dart中有一个runzoned(...)","dart中的async/await","dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:","dart分析器大量使用了代码中的类型注释来帮助追踪问题。我们鼓励您在任何地方使用它们(避免var、无类型的参数、无类型的列表文字等),因为这是追踪问题的最快的方式。","dart包:其中一些可能包含flutter的特定功能,因此对flutter框架具有依赖性,这种包仅用于flutter,例如fluro包。","dart单线程模型","dart团队就在你身边","dart实现的","dart插件:","dart支持","dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。","dart的io库包含了文件读写的相关类,它属于dart语法标准的一部分,所以通过dart","dart类库有非常多的返回future或者stream对象的函数。","dart线程模型及异常捕获","dart而不是","dart语言开发","dart语言简介","dart运行时和编译器支持flutter的两个关键特性的组合:","data,","data:","data;","data”。","date:","datetim","datetime.now().difference(_lastpressedat)","datetime.now();","day","deactiv","deactivate()","deactivate():当state对象从树中被移除时,会调用此回调。在一些场景下,flutt","debug","debugalsopaintedparent:","debugdumpapp();","debugfillproperties(...)","debugfillproperties(diagnosticpropertiesbuild","debugger()","debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:","debugger(when:","debugpaintbaselinesenabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。","debugpaintpointersenabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。","debugprintmarkneedspaintstacks标志。","debugprintscheduleframestacks还可以用来打印导致当前帧被调度的调用堆栈。","debugshortdescription:","decor","decoratedbox","decoratedbox(","decoratedbox({","decoratedbox可以在其子widget绘制前(或后)绘制一个装饰decoration(如背景、边框、渐变等)。decoratedbox定义如下:","decoration,","decoration:","decoration:boxdecoration(color:","decoration:textdecoration.underline,","decorationimag","decorationimage(","decorationposit","decorationposition.background,","decorationstyle:","decoration:代表将要绘制的装饰,它类型为decoration,decoration是一个抽象类,它定义了一个接口","dedic","defaultassetbundl","defaultpaint(paintingcontext","defaulttextstyl","defaulttextstyle(","defer","defertochild:子widget会一个接一个的进行命中测试,如果子widget中有测试通过的,则当前widget通过,这就意味着,如果指针事件作用于子widget上时,其父(祖先)widget也肯定可以收到该事件。","delegate:","delegate类的职责是在locale改变时加载新的locale资源,所以它有一个load方法,delegate类需要继承自localizationsdelegate类,实现相应的接口,示例如下:","delet","delta:两次指针移动事件(pointermoveevent)的距离。","demo","demo\"),","demo',","demoloc","demolocalizations();","demolocalizations(locale.languagecod","demolocalizations(this.iszh);","demolocalizations);","demolocalizations.load(locale);","demolocalizationsdeleg","demolocalizationsdelegate()","demolocalizationsdelegate();","demolocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。demolocalizations的实例将会在delegate类的load方法中创建。","depend","dependencies:","dependencies:应用或包依赖的其它包或插件。","dependency_overrides:","deploy","deployment/","desc:","describeapproximatepaintclip和","description:","design","design:","design中头部伸缩的模型,具体效果,读者可以运行该示例查看。","design图标的icondata静态变量定义。","design基线网格覆盖在应用程序上可能有助于验证对齐。","design字体图标","design所有图标可以在其官网查看:https://material.io/tools/icons/","design的字体图标,在pubspec.yaml文件中的配置如下","design的应用程序。material应用程序以materialapp","design的应用程序时,","design设计规范中flatbutton类的尺寸标准)。","detach(scrollposit","detail","details)","details){","details.delta.dx;","details.delta.dy;","details:","details:nil]);","details;","details=makedetails(obj,stack);","detected!\";","dev","dev_depend","dev_dependencies:","dev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。","develop","devic","device.","device.batterylevel","device.batterymonitoringen","device.isbatterymonitoringen","device])","devicepixelratio","devicepixelratio:","diagnosis:","diagnosticabletre","diagnosticstreestyle.dense;","dialogbackgroundcolor,//对话框背景颜色","didchangedepend","didchangedependencies()","didchangedependencies():当state对象的依赖发生变化时会被调用;例如:在之前build()","didfinishlaunchingwithopt","didfinishlaunchingwithoptions:","didfinishlaunchingwithoptions:(nsdictionary*)launchopt","didfinishlaunchingwithoptions:launchoptions];","didfinishlaunchingwithoptions:方法内部创建一个fluttermethodchannel,并添加一个处理方法。","didupdatewidget","didupdatewidget():在widget重新构建时,flutt","didupdatewidget(counterwidget","didupdatewidget(turnbox","dio","dio();","dio.download(\"https://www.google.com/\",_savepath);","dio.get(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio.get(\"/test?id=12&name=wendu\")","dio.onhttpclientcr","dio.post(\"/info\",","dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio:","dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,app只有一个http数据源时,dio应该使用单例模式。","dio是一个强大的dart","dir","dir=i10n","dir=lib/i10n","direction:","directory(src);","dirti","dirtynod","dirtynodes..sort((renderobject","dirty,这样在下一个frame中便会重新layout,我们看看renderobject的markneedslayout()的部分源码:","dismiss","dispos","dispose()","dispose():当state对象从树中被永久移除时调用;通常在此回调中释放资源。","dist=\"lib/models/\";","dist=dist.replacefirst(\"%t\",_import","dist=format(template,[name,classname,classname,attrs.tostring(),","divider(height:","divider1=divider(color:","divider2=divider(color:","dividercolor,","dl.google.com","doctor","doctor’","doctor命令","doctor命令来验证是否安装成功。","doctor并按照说明解决问题.","doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutt","dom树与控件树","doubl","double.infin","double.infinity,","double[]","doubletween","down","down,","down0","down1","down;","download","dpi是设备屏幕的固件属性,如nexu","dragdowndetails.globalposition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父widget)原点(左上角)的偏移。","dragenddetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。","dragupdatedetails.delta:当用户在屏幕上滑动时,会触发多次update事件,delta指一次update事件的滑动的偏移量。","drawarc","drawcircl","drawer(","drawer:","drawerhead","drawframe()","drawframe();","drawimag","drawlin","drawov","drawpath","drawpoint","drawrect","dri","dsbridge=require(\"dsbridge\")","dsbridge项目主页查看。","dsl","dumperrortoconsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如:","durat","duration(milliseconds:","duration(seconds:","duration:","duration表示动画执行的时长,通过它我们可以控制动画的速度。","dure","dwebview","dwebview.addjavascriptobject(new","dwebview=","dynam","dynamic和object","e)","e)).tolist()),","e){","e,","e.aspascalcase).tolist()","e.delta.dx;","e.delta.dy;","e000","e90d","e914","echo","echo(text:","echo({","echorout","echoroute(this.tip);","edgeinset","edgeinsets(0.0,","edgeinsets(16.0,","edgeinsets.all(10.0)),","edgeinsets.all(15.0),","edgeinsets.all(16.0),","edgeinsets.all(20.0),","edgeinsets.all(8.0),","edgeinsets.fromltrb(20.0,.0,20.0,20.0),","edgeinsets.only(bottom:","edgeinsets.only(left:","edgeinsets.only(top:","edgeinsets.symmetric(horizontal:","edgeinsets.symmetric(vertical:","edgeinsets.zero);","edgeinsets.zero,","edgeinsets.zero;","edgeinsetsgeometri","edgeinsetsgeometry是一个抽象类,开发中,我们一般都使用edgeinsets,它是edgeinsetsgeometry的一个子类,定义了一些设置补白的便捷方法。","eheight","element","element._newwidget","element.assignowner(owner);","element.markneedsbuild();","element.mount(null,","element.mount(parentelement,newslot)","element;","element])","elementtree。如果","element与buildcontext","element和buildcontext","element就是widget在ui树具体位置的一个实例化对象,大多数element只有唯一的renderobject,但还有一些element会有多个子节点,如继承自renderobjectelement的一些类,比如multichildrenderobjectelement。最终所有element的renderobject构成一棵树,我们称之为渲染树,即rend","element的生命周期如下:","element,即","elevation:","email","email,","email;","emailaddress","embed","emit(eventname,","enabl","enabled,","enableflags(bold:","enableflags({bool","enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。","encod","encoding:","encoding的值为当前httpclient支持的压缩算法列表,目前只有\"gzip\"","encoding,如果设置为true,则请求头中cont","end:","end:colors.red,","end:edgeinsets.only(left:","endangle:","endofframe;","engin","engine与上层framework的”胶水“。","engine受显示器垂直同步信号\"vsync\"的趋势不断的触发绘制。我们之前说的flutter可以实现60fps(fram","engine提供的canva","engine提供的dart","engine的window_render方法","engine的window_scheduleframe方法","engine的一些回调。现在我们再回来看看widgetsflutterbinding混入的各种binding。通过查看这些","engine的桥梁。","engine的桥梁,主要是辅助功能的底层支持。","engine的桥梁,定义如下:","engine的渲染api","engine,最终又engine将图像画在设备屏幕上。","english_words:","enough","ensureinitialized()","entries:","error","error:","errorwidget.builder(_debugreportexception('build","errorwithcode:@\"unavailable\"","etc...)","etc...))","event","event)","eventbu","eventbus();","eventbus()=>","eventbus()始终返回都是同一个实例,读者应该理解并掌握这种方法。","eventbus._internal();","eventcallback","eventcallback(arg);","event,在移动设备上通常为触摸事件),下一节再介绍手势处理。","ewidth","examples:","exception,","exception:","execute(()=>print(\"xxx\"))","execute(var","execution,","exit","expand","expanded(","expanded({","expandedheight:","export","extend","extens","extensions:","extentafter:列表中未滑入viewport部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。","extentbefore:滑出viewport顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。","extentinside:viewport内部长度;此示例中屏幕显示的列表部分的长度。","extentoffset:","f","f(string","f(uri","f)","f])","factori","faderout","faderoute(builder:","faderoute({","fadetransition(","fall","fals","false)","false),","false);","false,","false;","family:","faq","file","file(\"$dist$name.dart\").writeasstringsync(dist);","file(\"./example/upload.txt\"),","file(\"./template.dart\").readasstringsync();","file(\"./upload.txt\"),","file('$dir/counter.txt');","file(f.path);","file.readasstring();","file/","file;","file>new","filename=changefirstchar(v.substring(1),false);","fileoperationrout","fileoperationroute({key","files\\)。","filesystemexcept","fill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。","final","final和const","findproxi","findviewbyid(r.id.dwebview);","fingerprint:","finish","finish。","first","firstchild;","fit:","fitheight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fitwidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fit:此参数用于决定没有定位的子widget如何去适应stack的大小。stackfit.loose表示使用子widget的大小,stackfit.expand表示扩伸到stack的大小。","fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在boxfit中定义,它是一个枚举类型,有如下值:","fixedcolor:","flatbutton","flatbutton(","flatbutton({","flatbutton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色:","flex","flex(","flex({","flex,","flex:","flexiblespace:","flexiblespacebar(","flexlayouttestrout","flex为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:","flex可以沿着水平或垂直方向排列子widget,如果你知道主轴方向,使用row或column会方便一些,因为row和column都继承自flex,参数基本相同,所以能使用flex的地方一定可以使用row或column。flex本身功能是很强大的,它也可以和expanded配合实现弹性布局,接下来我们只讨论flex和弹性布局相关的属性(其它属性已经在介绍row和column时介绍过了)。","flex继承自multichildrenderobjectwidget,对应的renderobject为renderflex,renderflex中实现了其布局算法。","float64list","floatingactionbutton","floatingactionbutton(","floatingactionbutton:","floatingactionbuttonlocation.centerdocked,","floatingactionbuttonlocation:","floatingactionbutton是material设计规范中的一种特殊button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过scaffold的floatingactionbutton属性来设置一个floatingactionbutton,同时通过floatingactionbuttonlocation属性来指定其在页面中悬浮的位置,这个比较简单,不在赘述。","floatingactionbutton是页面右下角的带“➕”的悬浮按钮,它的onpressed属性接受一个回调函数,代表它本点击后的处理器,本例中直接将_incrementcounter作为其处理函数。","flow","flow(","flowdeleg","flushcompositingbits()","flushlayout()","flushpaint()","flutter","flutter:","flutter\\bin","flutter\\bin的全路径,使用","flutter_in_act","flutter_in_action...","flutter_localizations:","flutter_storage_base_url=https://storage.flutt","flutter_test:","flutteract","flutteractivity()","flutterappdeleg","fluttererror.onerror","fluttererror.reporterror(details);","fluttererrordetail","fluttererrordetails(","fluttermethodcall,","fluttermethodchannel","fluttermethodchannel*","fluttermethodchannel.init(name:","flutterresult","flutterresult)","flutterstandardbiginteg","flutterstandardtypeddata","flutterviewcontrol","flutterviewcontroller*","flutterviewcontroller;","flutter与原生之间的通信依赖灵活的消息传递方式:","flutter与用于构建移动应用程序的其它大多数框架不同,因为flutter既不使用webview,也不使用操作系统的原生控件。","flutter中动画抽象","flutter中可以使用listen","flutter中很多地方使用了通知,如可滚动(scrollable)","flutter中文网社区:flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。","flutter中正是通过这种方式封装了很多动画,如:fadetransition、scaletransition、sizetransition、fractionaltranslation等,很多时候都可以复用这些预置的过渡类。","flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。","flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。","flutter中,我们可以通过image来加载并显示图片,image的数据源可以是asset、文件、内存以及网络。","flutter也提供了一套丰富的cupertino风格的widget,尽管目前还没有materi","flutter从启动到显示","flutter会调用此类加载相应的locale资源类","flutter使用skia作为其2d渲染引擎,skia是google的一个2d图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,skia是跨平台的,并提供了非常友好的api,目前googl","flutter使用了一个灵活的系统,允许您调用特定平台的api,无论在android上的java或kotlin代码中,还是ios上的objectivec或swift代码中均可用。","flutter依赖于android","flutter动画简介","flutter可以轻松实现各种动画类型,对于许多widget,特别是materi","flutter在发布时可以通过aot生成高效的arm代码以保证应用性能。而javascript则不具有这个能力。","flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建ui界面(通常是通过组合、拼装其它基础widget)。","flutter应用在启动时都会绑定一个schedulerbinding,通过schedulerbinding可以给每一次屏幕刷新添加回调,而ticker就是通过schedulerbinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用tickercallback。使用ticker(而不是timer)来驱动动画会防止屏幕外动画(动画的ui不在当前屏幕时,如锁屏时)消耗不必要的资源,因为flutter中屏幕刷新时会通知到绑定的schedulerbinding,而ticker是受schedulerbinding驱动的,由于锁屏后屏幕会停止刷新,所以ticker就不会再触发。","flutter应用程序可以包含代码和","flutter异常捕获","flutter提供了一套丰富、强大的基础widget,在基础widget库之上flutter又提供了一套material风格(android默认的视觉风格)和一套cupertino风格(ios视觉风格)的widget库。要使用基础widget库,需要先导入:","flutter提供了一套丰富的materi","flutter提供了丰富的widget,在实际的开发中你可以随意使用它们,不要怕引入过多widget库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于material和cupertino都是在基础widget库之上的,所以如果你的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。","flutter提供了丰富的组件、接口,开发者可以很快地为","flutter提供的任何具有ui外观的widget,如文本text、image都是通过相应的renderobject渲染出来的,如text是由renderparagraph渲染,而image是由renderimage渲染。renderobject是一个抽象类,它定义了一个抽象方法paint(...):","flutter插件:","flutter旨在提供流畅、高保真的的ui体验。为了实现这一点,flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而dart支持aot,在这一点上可以做的比javascript更好。","flutter是google发布的一个用于创建跨平台、高性能移动应用的框架。flutter和qt","flutter核心原理","flutter框架中的许多类都有tostring实现。按照惯例,这些输出通常包括对象的runtimetype单行输出,通常在表单中classname(mor","flutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,flutter将无法有效地工作。当然chrom","flutter框架异常捕获","flutter框架本身有着良好的分层设计,本节旨在让读者对flutter整体框架有个大概的印象,相信到现在为止,读者已经对flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下flutter的开发语言dart。","flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugprint)的功能。","flutter框架结构","flutter添加","flutter的gridview默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局:","flutter的入口在\"lib/main.dart\"的main()函数中,它是dart应用程序的起点。在flutter应用中,main()函数如下:","flutter简介","flutter运行机制","flutter还使用","flutter高,","flutter高性能主要靠两点来保证,首先,flutt","flutter默认包含了一套materi","flutter默认提供了一套丰富的material风格的ui组件。","flutter:flutter相关的配置选项。","fmt,","focu","focus","focus)","focus;","focusnod","focusnode();","focusnode);","focusnode,","focusnode.addlistener((){","focusnode1","focusnode1,//关联focusnode1","focusnode1.unfocus();","focusnode2","focusnode2,//关联focusnode2","focusnode2.unfocus();","focusnode:","focusnode和focusscopenode还有一些其它的方法,详情可以查看api文档。","focusnode绑定输入框","focusnode继承自changenotifier,通过focusnode可以监听焦点的改变事件,如:","focusnode:用于控制textfield是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。","focusscope.of(context).requestfocus(focusnode2);","focusscope.of(context);","focusscopenod","focusscopenode){","focusscopenode.requestfocus(focusnode2);","focusscopenode;","focustestrout","font","fontfamili","fontfamily,","fontfamily:","fonts/iconfont.ttf","fonts:","fontsize:","fontsize可以精确指定字体大小,而textscalefactor只能通过缩放比例来控制。","fontsize:该属性和text的textscalefactor都用于控制字体大小。但是有两给主要区别:","fonts中的字体。本节将介绍如何为flutter应用配置字体,并在渲染文本时使用它们。","fontweight.bold),","forc","foregrounddecoration,","foregroundpainter:","foreground:在子widget之上绘制,即前景。","form","form(","form({","format","format(str","formdata","formdata)","formdata.from({","formdata:","formfield","formfield({","formfieldsett","formfieldvalid","formstat","formstate).validate()){","formstate.reset():调用此方法后,会将子孙formfield的内容清空。","formstate.save():调用此方法后,会调用form子孙formfield的save回调,用于保存表单内容","formstate.validate():调用此方法后,会调用form子孙formfield的validate回调,如果有一个校验失败,则返回false,所有校验失败项都会返回用户返回的错误提示。","formstate为form的state类,可以通过form.of()或globalkey获得。我们可以通过它来对form的子孙formfield进行统一操作。我们看看其常用的三个方法:","formtestrout","form的子孙元素必须是formfield类型,formfield是一个抽象类,定义几个属性,formstate内部通过它们来完成操作,formfield部分定义如下:","form继承自statefulwidget对象,它对应的状态类为formstate。我们先看看form类的定义:","forward","fractionaltransl","frame","frame:","frame?","framecallback","framecallback:schedulerbind","framework","framework会动态设置state.widget为新的widget实例。","framework会将state对象重新插到树中,如包含此state对象的子树在树的一个位置移动到另一个位置时(可以通过globalkey来实现)。如果移除后没有重新插入到树中则紧接着会调用dispose()方法。","framework会调用widget.canupdate来检测widget树中同一位置的新旧节点,然后决定是否需要更新,如果widget.canupdate返回true则会调用此回调。正如之前所述,widget.canupdate会在新旧widget的key和runtimetype同时相等时会返回true,也就是说在在新旧widget的key和runtimetype同时相等时didupdatewidget()就会被调用。","framework会通知widget调用此回调。","framework内部正式通过tag来对应新旧路由页widget的对应关系的。","framework动态设置。注意,这种关联并非永久的,因为在应用声明周期中,ui树上的某一个节点的widget实例在重新构建时可能会变化,但state实例只会在第一次插入到树中时被创建,当在重新构建时,如果widget被修改了,flutt","framework只会调用一次该回调,所以,通常在该回调中做一些一次性的操作,如状态初始化、订阅子树的事件通知等。不能在该回调中调用buildcontext.inheritfromwidgetofexacttype(该方法用于在widget树上获取离当前widget最近的一个父级inheritfromwidget,关于inheritedwidget我们将在后面章节介绍),原因是在初始化完成后,widget树中的inheritfromwidget也可能会发生变化,所以正确的做法应该在在build()方法或didchangedependencies()中调用它。","framework在收到消息后,会重新调用其build方法重新构建widget树,从而达到更新ui的目的。","framework在构建ui树时,会先调用此方法生成对应节点的element对象。此方法是flutt","framework就会调用该方法为每一个位置生成一个独立的state实例,其实,本质上就是一个statefulelement对应一个state实例。","framework是怎么知道子widget有没有依赖inheritedwidget的?","framework状态发生改变,flutt","framework的概念是差不多的,的确如此,之所以用“ui系统”,是因为其他平台中可能不这么叫,我们只是为了概念统一,便于描述,读者不必纠结于概念本身。","framework的管理类,它跟踪哪些widget需要重新构建。","framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值即可,幸运的是,这些事情flutter已经帮我们做了。","framework自动完成的。必须要注意,","framework调用。而这个“依赖”指的就是是否使用了父widget中inheritedwidget的数据,如果使用了,则代表有依赖,如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的主题、locale等发生变化时有机会来做一些事情。","framework连接宿主操作系统的接口。我们看一下window类的部分定义:","framework隐式调用的,在我们开发过程中基本不会调用到。","friend\"),","friend\"),和第二个text原理一样,只不过是水平方向没有定位,则水平方向居中。","friends;","from,","fromltrb(doubl","fullscreendialog","fullscreendialog表示新的路由页面是否是一个全屏的模态对话框,在ios中,如果fullscreendialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。","fun","func","function","function');","function(list","function(local","futur","future.catcherror","future.delayed(duration(seconds:","future.delayed(new","future.error(\"xxx\"));","future.then","future.then((_)","future.value(499);","future.wait","future.wait([","future.wait([dio.post(\"/info\"),dio.get(\"/token\")]);","future.whencomplet","future2","future2.catcherror((e)","future3","future;","future与javascript中的promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个future只会对应一个结果,要么成功,要么失败。","gallery中material组件部分的示例。注意,笔者强烈建议用户将flutt","gallery源码:gallery是flutter官方示例app,里面有丰富的示例,读者可以在网上下载安装。gallery的源码在flutter源码“examples”目录下。","gallery示例中就有一个”钻石“形状的实现,读者感兴趣可以自行查看。","gallery示例跑起来,它是一个很全面的flutter示例,是非常好的参考demo。","gecko)","gener","generatedpluginregistrant.register(with:","generatedpluginregistrant.registerwith(this)","generatewordpairs().take(20).map((e)","gestur","gesturebinding,","gesturebinding:提供了window.onpointerdatapacket","gestureconflicttestroutest","gesturedetector","gesturedetector(","gesturedetectortestrout","gesturedetector内部是使用一个或多个gesturerecognizer来识别各种手势的,而gesturerecognizer的作用就是通过listener来将原始指针事件转换为语义手势,gesturedetector直接可以接收一个子widget。gesturerecognizer是一个抽象类,一种手势的识别器对应一个gesturerecognizer的子类,flutter实现了丰富的手势识别器,我们可以直接使用。","gesturedetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果:","gesturedetector是一个用于手势识别的功能性widget,我们通过它可以来识别各种手势,它是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别:","gesturedetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。","gesturerecogn","gestures:","gesturetapcallback","get\"","getapplicationdocumentsdirectory()).path;","getbatterylevel()","getbatterylevel():","getbatterylevel();","getbatterylevel];","getphonemodel","getphonemodel(object","getsystemservice(battery_service);","getsystemservice(context.battery_service)","gettemporarydirectory()","getter。更多关于语义化的信息可以查看api文档。","gettype(v,set","getuserinfo(id).then((userinfo){","getuserinfo(id);","getuserinfo(str","get”)","get获取项目所有的依赖包。","gif,png,bmp和wbmp)等。","git","git:","git://github.com/flutter/packages.git","git://github.com/xxx/pkg1.git","github","github项目下去下载安装包,地址:https://github.com/flutter/flutter/releas","github:如果遇到的问题在stackoverflow上也没有找到答案,可以去github","given","gle","globalkey","globalkey();","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","globalwidgetslocalizations.delegate定义widget默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。","gmt","good)","googl","google()","google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过","gpu,gpu渲染后放入帧缓冲区,然后视频控制器按照同步信号从帧缓冲区取帧数据传递给显示器显示。","gradient","gradient,","gradient:","gradientbutton","gradientbutton(","gradientbutton({","gradientbuttonrout","gradientcircularprogressind","gradientcircularprogressindicator(","gradientcircularprogressindicator({","gradientcircularprogressrout","gradientcircularprogressroutest","gradientcircularprogressroutestate();","gradl","gradle/","graphics/background.png","grid","griddelegate,","griddelegate:","gridview","gridview(","gridview({","gridview.build","gridview.builder(","gridview.count","gridview.count(","gridview.count构造函数内部使用了slivergriddelegatewithfixedcrossaxiscount,我们通过它可以快速的创建横轴固定数量子元素的gridview,上面的示例代码等价于:","gridview.ext","gridview.extent(","gridview.extent构造函数内部使用了slivergriddelegatewithmaxcrossaxisextent,我们通过它可以快速的创建纵轴子元素为固定最大长度的的gridview,上面的示例代码等价于:","gridview可以构建一个二维网格列表,其默认构造函数定义如下:","growtransit","growtransition(","growtransition({this.child,","gzip","h5+原生","h5+原生混合开发","h5+原生(cordova、ionic、微信小程序)","h=683.4)","h=683.4)。从renderpositionedbox的转储中看到是由cent","handl","handlebeginframe(null);","handledrawframe()","handledrawframe();","handlemetricschang","handler","handler\");","handletextscalefactorchang","hardwar","hdpi已包含占位符图像”ic_launcher.png”)。","head","height","height,","height.value,","height:","height:80.0,","height;","heightfactor:","height:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontsize*height。","hell","hell)","hello","hello/android/build.gradle:","hello/pubspec.yaml中:","hell)。回调地狱问题在之前javascript中非常突出,也是javascript被吐槽最多的点,但随着ecmascript6和ecmascript7标准发布后,这个问题得到了非常好的解决,而解决回调地狱的两大神器正是ecmascript6引入了promise,以及ecmascript7中引入的async/await。","here","hero","hero(","heroanimationrout","heroanimationrouteb","heroanimationrouteb(),","hero动画","hero动画的原理比较简单,flutt","hero指的是可以在路由(页面)之间“飞行”的widget,简单来说hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换,由于共享的widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会逐渐过渡,这样就会产生一个hero动画。","hidden:","hidden})","highlightcolor:","hintcolor:","hintstyle:","hinttext:","hittest","hittest()中需要将通过命中测试的节点信息添加到命中测试结果列表中,而","hittest(hittestresult","hittestbehavior.defertochild,","hittestbehavior.opaque,","hittestbehavior.translucent,","hittestchildren(),","hittestchildren()则只需要简单的返回true或false。","hittestchildren(hittestresult","hittestresult","hittestself()","hittestself(offset","hittestself(position))","home","home:","homebrew","homeview","homeview(this);","homeview(widget","horizont","horizontal:","host","host,","host:","howdi","howmany)","http/1.1\");","httpclient","httpclient();","httpclient(context:","httpclient.addcredentials(_uri,","httpclient.addcredentials(url,","httpclient.authenticate=(uri","httpclient.badcertificatecallback=(x509certif","httpclient.close();","httpclient.geturl(","httpclient.geturl(uri);","httpclientbasiccredentials(\"username\",\"password\"),","httpclientbasiccredentials(\"username\",\"pwd\"),","httpclientcredenti","httpclientdigestcredentials(\"username\",\"password\")","httpclientrequest","httpclientrespons","httpclient关于http认证的方法和属性:","httpclient有很多属性可以配置,常用的属性列表如下:","httpclient配置","https://flutter.io/setup/#android","https://goo.gl/xxqghq","https中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非ca颁发的证书进行校验。httpclient对证书校验的逻辑如下:","httptestrout","http协议是无状态的,只能由客户端主动发起,服务端再被动响应,服务端无法向客户端主动推送内容,并且一旦服务器响应结束,链接就会断开(见注解部分),所以无法进行实时通信。websocket协议正是为解决客户端与服务端实时通信而产生的技术,现在已经被主流浏览器支持,所以对于web开发者来说应该比较熟悉了,flutter也提供了专门的包来支持websocket协议。","http协议的认证(authentication)机制可以用于保护非公开资源。如果http服务器开启了认证,那么用户在发起请求时就需要携带用户凭据,如果你在浏览器中访问了启用basic认证的资源时,浏览就会弹出一个登录框,如:","http库","http网络库dio.","http请求","http请求库,支持rest","http请求认证","hybrid技术简介","i'm","i)","i/flutt","i/o","i10n","icon","icon(icons.ac_unit),","icon(icons.accessible,color:","icon(icons.add),","icon(icons.airport_shuttle),","icon(icons.all_inclusive),","icon(icons.arrow_upward),","icon(icons.beach_access),","icon(icons.business)),","icon(icons.business),","icon(icons.cake),","icon(icons.dashboard,","icon(icons.email),","icon(icons.error,color:","icon(icons.favorite),","icon(icons.fingerprint,color:","icon(icons.free_breakfast)","icon(icons.free_breakfast),","icon(icons.home)),","icon(icons.home),","icon(icons.lock)","icon(icons.lock),","icon(icons.palette)","icon(icons.person)","icon(icons.refresh,","icon(icons.school),","icon(icons.send),","icon(icons.settings),","icon(icons.share),","icon(icons.thumb_up),","icon(myicons.book,color:","icon(myicons.wechat,color:","icon:","iconbutton","iconbutton(","iconbutton(icon:","iconbutton是一个可点击的icon,不包括文字,默认没有背景,点击后会出现背景:","icondata","icondata(","icons类中包含了所有materi","icontheme,","icontheme:","iconthemedata","iconthemedata(color:","icon的默认样式","id","id){","idea。","idea开发的,所以读者也可以使用intellij","ident","identifi","ideviceinstal","ide中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import","ide配置与使用","idletimeout","id登录xcode。","id都支持开发和测试,但若想将应用分发到app","if((_formkey.currentst","if(cert.pem==pem){","if(classname.tolowercase()!=current)","if(filename.tolowercase()!=current)","if(form.of(context).validate()){","if(isactive)","if(key.startswith(\"_\"))","if(name.startswith(\"_\"))","if(nul","if(paths.last.tolowercase()!=\"json\"||name.startswith(\"_\"))","if(url.host==\"xx.com\"","if(v","if(v.startswith(\"$tag[]\")){","if(v.startswith(tag)){","ignorepoint","ignoring:","ignoringsemantics:","imag","image(","image({","image,//图片","image.asset(","image.asset(\"./images/sea.png\",","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\",","image.asset('graphics/background.png');","image.asset('icons/heart.png',","image.network(","image:","image_picker:","imagecach","imageconfiguration(bundle:","imageprovid","imagerepeat.norepeat,","imagerepeat.repeati","images/avatar.png","imagestream或","image也提供了一个快捷的构造函数image.asset用于从asset中加载、显示图片:","image也提供了一个快捷的构造函数image.network用于从网络加载、显示图片:","image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下image的主要参数:","implement","implicitli","import","inactive))","inactive;","index%2==0?divider1:divider2;","index)","index;","indexedwidgetbuild","infinitegridview","infinitelistview","inform","informationcollector","informationcollector,","informationcollector:","inherit:","inheritedwidget","inheritedwidgettestrout","inheritedwidget和react中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。inheritedwidget的在widget树中数据传递方向是从上到下的,这和notification的传递方向正好相反。","inheritedwidget是flutter中非常重要的一个功能型widget,它可以高效的将数据在widget树中向下传递、共享,这在一些需要在widget树中共享数据的场景中非常方便,如flutter中,正是通过inheritedwidget来共享应用主题(theme)和locale(当前语言环境)信息的。","initializemessages(localename).then((b)","initialscrolloffset","initialvalue,","initinstances()","initst","initstate()","initstate:当widget第一次插入到widget树时会被调用,对于每一个state对象,flutt","initvalue;","ink","inkwell(","inputborder.non","inputdecor","inputdecoration(","inputdecoration(),","inputdecoration(labeltext:","inputdecorationtheme(","inputdecorationtheme:","inputdecoration:用于控制textfield的外观显示,如提示文本、背景颜色、边框等。","inputformatters,","inputformatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。","instal","install。","instance…)。","instructions.","int","int,","int.parse(contents);","int32list","int64list","int[]","intent","intent!!.getintextra(batterymanager.extra_level,","intent.getintextra(batterymanager.extra_scale,","intentfilter(intent.action_battery_changed))","intentfilter(intent.action_battery_changed));","interfac","interface.","interval(","intl.canonicalizedlocale(name);","intl.defaultlocal","intl.message(","intl.plural(howmany,","intl.sh","intl:","intl_transl","intl_translation:","intl_translation:extract_to_arb","intl_translation:generate_from_arb","intl包来实现这些。","intl包还有一些其他的方法,读者可以自行查看其文档,本书不在赘述。","inttween(begin:","io","io.cn","io.flutter.app.flutteract","io.flutter.app.flutteractivity;","io.flutter.plugin.common.methodcall;","io.flutter.plugin.common.methodchannel","io.flutter.plugin.common.methodchannel.methodcallhandler;","io.flutter.plugin.common.methodchannel.result;","io.flutter.plugin.common.methodchannel;","io.flutter.plugins.generatedpluginregistr","io.flutter.plugins.urllauncher.urllauncherplugin访问urllauncherplugin类。","ios/runner.xcworkspac","ios文件夹,点击","iowebsocketchannel","iowebsocketchannel.connect('ws://echo.websocket.org');","io包中,下面我们看一个使用socket实现简单http请求的示例,以请求百度首页为例:","io库中提供了http请求的一些类,我们可以直接使用httpclient来发起请求。使用httpclient发起请求分为五步:","io库操作文件的api非常丰富,但本书不是介绍dart语言的,故不详细说明,读者需要的话可以自行学习。","io库来操作文件的,不过和dart","io库,无论是dart","io操作。而不是等到这个操作完成。","iphon","is!","iscomplex:是否复杂的绘制,如果是,flutter会应用一些缓存策略来减少重复渲染的开销。","isequaltostring:call.method])","isforward","isnobl","isnoble(int","isrepaintboundari","issue中找到答案。","issupported(local","iszh","item","itembuilder,","itembuilder:","itembuilder:它是列表项的构建器,类型为indexedwidgetbuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。","itemcount,","itemcount:","itemcount:列表项的数量,如果为null,则为无限列表。","itemextent,","itemextent:","itemextent:该参数如果不为null,则会强制children的\"长度\"为itemextent的值;这里的\"长度\"是指滚动方向上子widget的长度,即如果滚动方向是垂直方向,则itemextent代表子widget的高度,如果滚动方向为水平方向,则itemextent代表子widget的长度。在listview中,指定itemextent比让子widget自己决定自身长度会更高效,这是因为指定itemextent后,滚动系统可以提前知道列表的长度,而不是总是动态去计算,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。","items:","items=json.decode(jsonstr);","iter","iwonderhowlongthistakes();","i和/或","jack","jack\"),","jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子widget","jack\",","jack.","java","java.lang.boolean","java.lang.doubl","java.lang.integ","java.lang.long","java.lang.str","java.math.biginteg","java.util.arraylist","java.util.hashmap","javascript","javascript+原生渲染","javascriptcor","javascript为脚本语言,执行时需要jit,执行效率和aot代码仍有差距。","javascript之前我们先来介绍两个概念:jit和aot。","javascript基本持平。但是","javascript开发+原生渲染","javascript开发+原生渲染的方式主要优点如下:","javascript开发+原生渲染的跨平台框架原理。","javascript的弱类型一直被抓短,所以typescript、coffeescript甚至是facebook的flow(虽然并不能算javascript的一个超集,但也通过标注和打包工具提供了静态类型检查)才有市场。就笔者使用过的脚本语言中(笔者曾使用过python、php),javascript无疑是动态化支持最好的脚本语言,比如在javascript中,可以给任何对象在任何时候动态扩展属性,对于精通javascript的高手来说,这无疑是一把利剑。但是,任何事物都有两面性,javascript的强大的动态化特性也是把双刃剑,你可经常听到另一个声音,认为javascript的这种动态性糟糕透了,太过灵活反而导致代码很难预期,无法限制不被期望的修改。毕竟有些人总是对自己或别人写的代码不放心,他们希望能够让代码变得可控,并期望有一套静态类型检查系统来帮助自己减少错误。正因如此,在flutter中,dart几乎放弃了脚本语言动态化的特性,如不支持反射、也不支持动态创建函数等。并且dart在2.0强制开启了类型检查(strong","jcenter()","jit(即时编译)模式下,速度与","jsapi(),","jsapi{","jsbridge,它也是混合开发框架的核心。","json","json)","json.decode(file.readasstringsync());","json.decode(json);","json.encode(user);","json['email'];","json['name'],","json_annotation:","json_serializable:","json_serializable第一次创建类时,您会看到与下图类似的错误。","jsonmessagecodec类,或创建自己的编解码器。","jsonstr='[{\"name\":\"jack\"},{\"name\":\"rose\"}]';","json转model","jsx","jumpto()","jumpto()内部会调用所有scrollposition的animateto()","jumpto()才可以被调用。当scrol","jumpto(),以实现所有和该scrollcontroller关联的scrol","jumpto(),它们是真正来控制跳转滚动位置的方法,scrollcontroller的这两个同名方法,内部最终都会调用scrollposition的。","jumpto(doubl","keep","kept","key","key);","key){","key,","key:","key;","keyboardtype,","keyboardtype:","keyboardtype:用于设置该输入框默认的键盘输入类型,取值如下:","key})","knock","kotlin","label:","labelstyle:","labeltext:","launch()方法了。","launchoptions);","launchoptions:","layer.buildscene(builder);","layout(constraint","layout的委托","layout相关接口,子类需要通过实现它们来实现具体的布局算法,flutter中提供了两个slivergriddelegate的子类slivergriddelegatewithfixedcrossaxiscount和slivergriddelegatewithmaxcrossaxisextent,下面我们分别介绍:","leading:","leafrenderobjectel","leafrenderobjectwidget","left","left',","left,","left:","left}=1{ther","left}other{ther","left}}\",","left、top","len","len;","level","level'),","level.","level.';","level:","level变量,页面引入该文件后可以直接使用bu","lib","lib/fonts/raleway","lib/hello.dart:package的dart代码","lib/i10n/localization_intl.dart","lib/main.dart","lib/main.dart。","lib/是隐含的,所以它不应该包含在asset路径中。","lib/是隐含的,所以它不应该包含在资产路径中。","libimobiledevic","library',","library,","library:","license同意过了.","life","line","line)","line){","lineargradient(colors:","lineargradient(colors:[colors.red,colors.orange[700]]),","link","list","list();","list){","list.foreach((f)","list.length","list.remove(f);","list[i](arg);","listen","listenable:","listenable;","listener(","listener({","listeners:","listtile(","listtile(title:","listtile(title:text(\"商品列表\")),","listview","listview(","listview(key:","listview({","listview.build","listview.builder(","listview.builder(itembuilder:","listview.builder({","listview.builder适合列表项比较多(或者无限)的情况,因为只有当子widget真正显示的时候才会被创建。下面看一下listview.builder的核心参数列表:","listview.separ","listview.separated(","listview.separated可以生成列表项之间的分割器,它除了比listview.builder多了一个separatorbuilder参数,该参数是一个分割器生成器。下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。","listview3","listview公共参数已省略","listview是最常用的可滚动widget,它可以沿一个方向线性排布所有子widget。我们看看listview的默认构造函数定义:","load","load(local","loadasset()","loadingtag","loadingtag)","load方法之一产生的对象,可以指定一个buildcontext和对象的类型。例如,materi","local","locale('en',","locale('zh',","locale)","locale,","locale.countrycode.isempti","locale.languagecod","locale.tostring();","locale:","locale;","localelistresolutioncallback和localeresolutioncallback唯一的不同就在第一个参数类型,前者接收的是一个locale列表,而后者接收的是单个locale。","localenam","localename;","localequeri","locales,","locale发生变化回调","locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:","localizations.localeof(context);","localizations.of(context,","localizationsdeleg","localizationsdelegates:","localizationsdelegates列表中的元素是生成本地化值集合的工厂。globalmateriallocalizations.deleg","lockevents(()","log","logcat)。","logic","login(\"alice\",\"******\").then((id){","login(\"alice\",\"******\");","login(str","logs了查看它(基本上是一个包装adb","long[]","lowerbound:","m)","mac","maco","main()","main()的顶部设置。","mainact","mainactivity()","mainactivity.java","mainaxisalign","mainaxisalignment.center,","mainaxisalignment.end,","mainaxisalignment.spacearound,","mainaxisalignment.spaceevenly,","mainaxisalignment.start,","mainaxisalignment:","mainaxisalignment:表示子widgets在row所占用的水平空间内对齐方式,如果mainaxissize值为mainaxissize.min,则此属性无意义,因为子widgets的宽度等于row的宽度。只有当mainaxissize的值为mainaxissize.max时,此属性才有意义,mainaxisalignment.start表示沿textdirection的初始方向对齐,如textdirection取值为textdirection.ltr时,则mainaxisalignment.start表示左对齐,textdirection取值为textdirection.rtl时表示从右对齐。而mainaxisalignment.end和mainaxisalignment.start正好相反;mainaxisalignment.center表示居中对齐。读者可以这么理解:textdirection是mainaxisalignment的参考系。","mainaxiss","mainaxissize.max,","mainaxissize.max,//无效,内层colum高度为实际高度","mainaxissize.min,","mainaxissize:","mainaxissize:表示row在主轴(水平)方向占用的空间,默认是mainaxissize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,row的宽度始终等于水平方向的最大宽度;而mainaxissize.min表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则row的实际宽度等于所有子widgets占用的的水平空间;","mainaxisspac","mainaxisspacing:","mainaxisspacing:主轴方向的间距。","maintainst","maintainstate:","maintainstate;","maintainstate:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainstate为false。","main函数使用了(=>)符号,这是dart中单行函数或方法的简写。","make","makedetails(obj,","makedetails(object","manag","manager”中,点击工具栏的","mani","map","map).foreach((key,","map){","map>();","margin","margin.left;","margin.top;","margin:","markneedsbuild()","markneedsbuild();","markneedslayout()","markneedspaint()","markparentneedslayout();","master","master,flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。","matchindex","matchtextdirection:","materi","material(","materialapp","materialapp(","materialbutton","materialcolor","materialloc","materiallocalizations);","materiallocalizations.of(context).backbuttontooltip,","materialpagerout","materialpageroute(/))➩proxyanimation➩cubic(0.40,","materialpageroute(560156430)]","materialpageroute(875520219)]","materialpageroute(875520219)])","materialpageroute(875520219)];","materialpageroute(builder:","materialpageroute({","materialpageroute继承自pageroute类,pageroute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。materialpagerout","materialtype.transparency,","material库中提供了一个materialpageroute,它可以使用和平台风格一致的路由切换动画,如在ios上会左右滑动切换,而在android上会上下滑动切换。如果在android上也想使用左右切换风格,可以直接使用cupertinopageroute,","material库中提供的一个widget,","material库提供了一个scaffold","material库提供了很多widget,本节介绍一些常用的widget,其余的读者可以查看文档或flutt","material组件库中提供了一个bottomappbar","material组件库中提供了一个tabbar组件,它可以快速生成tab菜单,下面是上图对应的源码:","math.pi","math.sin(t","math;","matrices)在对child进行位置调整的时候进行了优化:在flow定位过后,如果child的尺寸或者位置发生了变化,在flowdelegate中的paintchildren()方法中调用context.paintchild","matrices),并没有实际调整widget位置。","matrix4.rotationz(.2),","matrix4.skewy(0.3),","maven","maven.aliyun.com","max","maxconnectionsperhost","maxcrossaxisextent,","maxcrossaxisextent:","maxcrossaxisextent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果viewport的横轴长度是450,那么当maxcrossaxisextent的值在区间(450/4,450/3]内的话,子元素最终实际长度都为150,而childaspectratio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和slivergriddelegatewithfixedcrossaxiscount相同。","maxlength,","maxlengthenforc","maxlength和maxlengthenforc","maxlin","maxlines:","maxlines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式textoverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;textoverflow的其它截断方式请参考sdk文档。","maxlines:输入框的最大行数,默认为1;如果为null,则无行数限制。","maxscrollextent:最大可滚动长度。","mb","mediaqueri","mediaquery.of(context).size.height","mediaquery.of(context).size.width","mediaquery.removepadding(","medium.ttf","menu","message'),","message',","message:","message:@\"电池信息不可用\"","messages.","methodcallhandler()","methodchannel('samples.flutter.io/battery');","methodchannel(flutterview,","methodchannel(getflutterview(),","methodchannelwithname:@\"samples.flutter.io/battery\"","methods.","method,如httpclient.post(...)、httpclient.delete(...)等。如果包含query参数,可以在构建uri时添加,如:","metrics:","microtask","middle:","minheight:","minwidth:","miss","mo.dart","mobile/14e304","mobile、flutter)","mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,qt","mobile做一个对比:","mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看flutter诞生过程:","mobile面对的问题flutter是否也一样,flutter会不会步入qt","moblie与flutt","modalbarri","mode","model","model=dsbridge.call(\"getphonemodel\");","model。","model化”,具体做法就是,通过预定义一些与json结构对应的model类,然后在请求到数据后再动态根据数据创建出model类的实例。这样一来,在开发阶段我们使用的是model类的实例,而不再是map/list,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(model","model在不同的文件中会被定义两次,需要开发者手动去重。","model,简称dom),是w3c组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个html或xml文档的标准接口。简单来说,dom就是文档树,与用户界面控件树对应,在前端开发中通常指html对应的渲染树,但广义的dom也可以指android中的xml布局文件对应的控件树,而术语dom操作就是指直接来操作渲染树(或控件树),","mode”,用","mode)。","mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。","mode)和可选类型(opt","mode),原先的检查模式(check","more","mother;","mother和friends四个字段,由于mother也是一个person,朋友是多个person(数组),所以我们期望生成的model是下面这样:","msg){","msg,","msg;","multichildrenderobjectel","multichildrenderobjectwidget","multilin","myanimationwidget","myapp","myapp());","myapp),然后点击","myapp类代表flutter应用,它继承了","mydraw","mydrawer(),","mydrawer({","myhomepag","myhomepage(title:","myhomepage({key","myhomepage类中并没有build方法,取而代之的是,build方法被挪到了_myhomepagestate方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。","myicon","myicons{","mylocal","mynotif","mynotification(\"hi\").dispatch(context),","mynotification(this.msg);","mypaint","mypainter(),","n","n(n>1)","name","name\"),","name,","name:","name;","name=paths.first;","name:应用或包名称。","nativ","native、weex、快应用)","native中主要有两个作用:","native只支持jsx语法。","native和weex","native和weex的渲染/排版引擎是集成到框架中的,每一个app都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到rom中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。","native和weex相比主要有两点不同:","native引擎渲染视图,这无疑能为用户提供良好的体验。","native扩展。同时","native是web开发技术栈,也只需维护一份代码,同样是跨平台框架。","native是原生控件渲染,所以性能会比混合应用中h5好很多,同时react","native类似,最大的不同是语法层面,weex支持vue语法和rax语法,rax","navig","navigationbar:","navigator.push(","navigator.push(context,","navigator.pushnamed(context,","navigatorstate(240327618;","navigator中导航到runner/runner然后通过打开assets.xcassets拖入图片,或者通过在launchscreen.storyboard中使用interfac","navigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由。navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:","nested)","networkimage(","never","new","newrout","newroute();","newvalue)","newvalue;","newwidget)","newwidget.key;","newwidget.runtimetyp","next.","next。","nicer","nil","nil));","node","node._layoutwithoutresize();","node._skippedpaintingonlayer();","node._updatecompositingbits();","node.own","none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。","notif","notification\"),","notification)","notification.metrics.maxscrollextent;","notification.metrics.pixel","notificationlisten","notificationlistener(","notificationlistener是一个widget,模板参数t是想监听的通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型的通知会被监听。notificationlistener需要一个onnotification回调函数,用于实现监听处理逻辑,该回调可以返回一个布尔值,代表是否阻止该事件继续向上冒泡,如果为true时,则冒泡终止,事件停止向上传播,如果不返回或者返回值为fals","notificationrout","notificationroutest","notificationroutestate();","notification是flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)向上传递,所有父节点都可以通过notificationlistener来监听通知,flutter中称这种通知由子向父的传递为“通知冒泡”(notif","notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作element的一个接口,它与element树上的节点是对应的,通知会从context对应的element节点向上冒泡。","nsarray","nsdictionari","nsnumber","nsstring","null","null)","null)))","null);","null,","null;","num){","number","numberwithbool:","numberwithdouble:","numberwithint:","numberwithlong:","obj,","object","obscuretext","obscuretext:","obscuretext:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。","observatori","observatory(或另一个dart调试器,例如intellij","oct","of(buildcontext","off(eventname,","offset","offset(","offset(0.0,","offset(2.0,","offset(2.0,2.0),","offset(_offset,","offset)","offset);","offset)、animateto(doubl","offset)来完成绘制,该方法源码如下:","offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。","offset.zero;","offset:","offset;","offset=offset(0.0,","offset=offset(156.7,","offsetlay","offset表示在子节点在父节点坐标系中的绘制偏移","offset:可滚动widget当前滚动的位置。","offstag","offstage:","ok","ok。","old)","old.data","olddelegate)","oldposition);","oldwidget)","oldwidget,","oldwidget.key","oldwidget.runtimetyp","on(eventname,","onbeginfram","onc","onchanged(!active);","onchanged,","onchanged:","onchanged:(value){","onchanged;","onchanged:form的任意一个子formfield内容发生变化时会触发此回调。","onchange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。","oncreate(bundl","oncreate(savedinstancestate:","ondoubletap:","ondrawfram","one:","oneditingcomplete,","oneditingcomplete和onsubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onsubmitted回调是valuechanged类型,它接收当前输入内容做为参数,而oneditingcomplete不接收参数。","onerror(details);","onerror,","onerror:","onerror:zone中未捕获异常处理回调,如果开发者提供了onerror回调或者通过zonespecification.handleuncaughterror指定了错误处理回调,那么这个zone将会变成一个error","onhorizontaldragend","onhorizontaldragend:","onhorizontaldragupdate:","onlocalechang","onlongpress:","only({left,","onmethodcall(methodcal","onmetricschang","onnotification:","onpandown:","onpanend:","onpanupdate:","onplatformmessag","onpointerdatapacket","onpointerdown:","onpointermove:","onpointerup:","onpressed:","onpressed:()=>setstate(()=>","onpressed:_onadd","onsaved,","onscaleupdate:","onsubmitted,","ontap(){","ontap,","ontap:","ontap:ontap","ontap;","ontapcancel:","ontapdown:","ontapup:","ontapup发生了冲突,但是因为是在拖动的语义中,所以onhorizontaldragend胜出,所以就会打印","ontextscalefactorchang","ontick);","onverticaldragupdate:","onwillpop,","onwillpop:","onwillpop是一个回调函数,当用户点击返回按钮时调用(包括导航返回按钮及android物理返回按钮),该回调需要返回一个future对象,如果返回的future最终值为false时,则当前路由不出栈(不会返回),最终值为true时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。","onwillpop:决定form所在的路由是否可以直接返回(如点击返回按钮),该回调返回一个future对象,如果future的最终结果是false,则当前路由不会返回;如果为true,则会返回到上一个路由。此属性通常用于拦截返回按钮。","opacity:","opaqu","opaque))","opaque;","opaque:在命中测试时,将当前widget当成不透明处理(即使本身是透明的),最终的效果相当于当前widget的整个区域都是点击区域。举个例子:","open","open…","open…\"。","oper","orientation:指针移动方向,是一个角度值。","os","os.","other:","other_package:","out,","outlinebutton","outlinebutton(","outlinebutton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱):","output","overflow.clip,","overflow:","overflow:此属性决定如何显示超出stack显示空间的子widget,值为overflow.clip时,超出部分会被剪裁(隐藏),值为overflow.vis","overlay","overlayentry@837336156(opaque:","overlaystate(619367313;","overrid","overscrollnotification:","owner,","owner._nodesneedinglayout.add(this);","owner._nodesneedingpaint.add(this);","owner.buildscope(element,","owner.lockstate(()","owner.requestvisualupdate();","packag","package1:","package:","packages/fancy_backgrounds/backgrounds/background1.png","packages/my_package/fonts/raleway","packages/package1","packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。","packages分为两类:","package中的字体","package为例,它的目录结构如下:","package也导出了一个迷你库:","package包。","package包含globalmateriallocalizations和globalwidgetslocalizations的本地化接口的多语言实现,","pad","padding(","padding(padding:","padding({","padding,","padding.","padding:","padding:padding.valu","padding;","paddingtestrout","padding可以给其子节点添加补白(填充),我们在前面很多示例中都已经使用过它了,现在来看看它的定义:","padding和margin","page'),","pageb();","pagebuilder:","pagerout","pageroutebuilder(","pagescaffold(","pagestorag","pagestoragekey(1),","pagestoragekey(2),","pagestorage是一个用于保存页面(路由)相关数据的widget,它并不会影响子树的ui外观,其实,pagestorage是一个功能型widget,它拥有一个存储桶(bucket),子树中的widget可以通过指定不同的pagestoragekey来存储各自的数据或状态。","paint","paint()","paint()..color=colors.yellow,","paint(canva","paint(paintingcontext","paint);","paint.color","paint.shad","paintchild()","paintchild(renderobject","paintchildren(flowpaintingcontext","painter:","paintingbinding,","paintingbinding:绑定绘制库,主要用于处理图片缓存。","paintingcontext.repaintcompositedchild(node);","paintingcontext代表widget的绘制上下文,通过paintingcontext.canvas可以获得canvas,绘制逻辑主要是通过canva","paintingstyle.fil","paintingstyle.strok","paint有两个参数:","palette…","palette…。","param2,","params)","parent","parent,","parent._relayoutboundary;","parent.markneedspaint();","parent.print(zone,","parent:","parentdata","parentdata:","parentdatatyp","parentusess","parentusessize,该值用于确定","parentwidget","parentwidgetc","parentwidgetst","parent,因此","parent,如此便可提高性能。","part","path","path:","path;","path=[flutter_install_path]/flutter/bin:$path","path=`pwd`/flutter/bin:$path","path=~/code/flutter_dir/flutter/bin:$path","path_provider:","paths=path.basename(f.path).split(\".\");","paused;","payload=\"...\";","pem=\"xxxxx\";//可以从文件读取","per","perform","performanceoverlay.allenabled()创建的stack上来获得相同的效果)。","performance”下,","performlayout","performlayout()","performlayout();","performlayout()两个方法中,renderbox子类需要实现这两个方法来定制自身的布局逻辑。根据layout()","performlayout()两个方法来实现,他们会在layout()中被调用。","performrebuild()","performres","performresize()","performresize()/performlayout()","performresize();","performresize()。","persistentcallback","persistentcallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。schedulerbinding.instance.addpersitentframecallback(),这个回调中处理了布局与绘制工作。","person","person();","person.fromjson(map","phone","physic","physicals","physics,","physics:此属性接受一个scrollphysics对象,它决定可滚动widget如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,flutter会根据具体平台分别使用不同的scrollphysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在ios上会出现弹性效果,而在android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定,flutt","pi","pi,","picturelay","pinned:","pipelineowner.flushcompositingbits();","pipelineowner.flushlayout();","pipelineowner.flushpaint();","pipelineowner.flushsemantics();","pixel","pixel)","pixels)","pixels:当前滚动位置。","pkg1:","platform","platform,","platform.invokemethod('getbatterylevel');","platform:","platformassetbundle@367106502(),","platformexcept","platformmessagecallback","platformmessageresponsecallback","pod","pod::spec.new","pointerdatapacketcallback","pointerev","pointer事件处理","pop(buildcontext","port){","port,","posit","position)","position));","position);","position.pixels;","position:","positioned(","positioned({","positioned;","position:它是鼠标相对于当对于全局坐标的偏移。","position:此属性决定在哪里绘制decoration,它接收decorationposition的枚举类型,该枚举类两个值:","post","postframecallback","postframecallbacks:在frame结束时只会被调用一次,调用后会被系统移除,可由","powershel","prefixicon:","pressure:按压力度,如果手机屏幕支持压力传感器(如iphone的3d","primary),),","primary,","primary=theme.of(this).primarycolor;","primarycolor,","primaryswatch,","primaryswatch:","primary:指是否使用widget树中默认的primaryscrollcontroller;当滑动方向为垂直方向(scrolldirection值为axis.vertical)并且controller没有指定时,primary默认为true.","print(\"bottomedge:","print(\"build\");","print(\"button","print(\"catch","print(\"deactive\");","print(\"depend","print(\"didchangedependencies\");","print(\"didupdatewidget\");","print(\"dispose\");","print(\"down","print(\"down\");","print(\"down0\"),","print(\"down1\"),","print(\"initstate\");","print(\"nev","print(\"onchange:","print(\"onhorizontaldragend\");","print(\"reassemble\");","print(\"success\");","print(\"unus","print(\"up\");","print(\"xxxx$locale\");","print(\"开始滚动\");","print(\"正在滚动\");","print(\"滚动停止\");","print(\"滚动到边界\");","print(\"用户手指按下:${e.globalposition}\");","print('howdy,","print('w","print()功能将输出到系统控制台,您可以使用flutt","print(_controller.offset);","print(_unamecontroller.text)","print(_unamecontroller.text);","print(cb());","print(data);","print(e)","print(e);","print(e.message);","print(e.velocity);","print(focusnode.hasfocus);","print(items[0][\"name\"]);","print(response.data.tostring());","print(response.headers);","print(results[0]+results[1]);","print(str);","print:","print、debugprint、flutt","privat","probabl","process","profil","profile替代","profile标志,以确保运行时性能特征与您的最终产品差异最小。","profile选项来运行flutt","progress","project","project’","properties)","properties.defaultdiagnosticstreestyl","provid","pub","pub_hosted_url=https://pub.flutt","public","publish","pubspec.yaml","pubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。当主资源缺少某个资源时,会按分辨率从低到高的顺序去选择","pub上有一个包“flutter_staggered_grid_view”","pub仓库","pub(https://pub.dartlang.org/","push","push(buildcontext","pushnamed(buildcontext","pwd){","qt","qt、flutter","qt低","qt是一个1991年由qt","qt简介","quarterturns:","queryparameters:","queue。从图中可以发现,微任务队列的执行优先级高于事件队列。","queue,另一个叫做“事件队列”","quick_actions插件就是一个具体的例子。","quit","r","radialgradient(","radius,","radius:","radius;","raisedbutton","raisedbutton(","raisedbutton({","raleway","randomwordswidget","ratio:","rawgesturedetector","rawgesturedetectorstate(175370983;","rawgesturedetectorstate(39068508;","rax","re","reached!\");","react","react中提出一个重要思想:状态改变则ui随之自动改变,而react框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下react中响应式原理:","react框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过diff算法,计算出树中变化的部分,然后只更新变化的部分(dom操作),从而避免整棵树重构,提高性能。","realm)","realm))","realm));","realm,","realm=\"admin\"","realm==\"admin\"){","reassembl","reassemble()","reassemble():此回调是专门为了开发调试而提供的,在热重载(hot","rebuild()","receivebatterylevel(result:","recognizer,","recognizer:","rect","rect,","rect.fromltrb(0.0,","redbox","redbox,","redbox=decoratedbox(","regexp(r\"\\s\"),","registerreceiver(null,","registrationdatemillis;","regular","regular.ttf","relayoutboundari","relayoutboundary;","relayoutboundary=up1","relayoutboundary=up2)","relayoutboundary=up3)","relayoutboundary=up4)","relayoutboundary=up5)","relayoutboundary=up6)","relayoutboundary,如果一个","relayoutboundary,如果不是就继续向","relayoutboundary,就表示它的大小变化不会再影响到","relayoutboundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。","relayoutboundary?在前面介绍element时,我们讲过当一个element标记为","release即可。","release运行您的应用程序。","reload)时会被调用,此回调在release模式下永远不会被调用。","reload)","remain","remainingemailsmessage(int","removetop:","render","render(scen","renderabsorbpoint","renderabsorbpointer)","renderbox","renderbox子类要定制布局算法不应该重写layout()方法,因为对于任何renderbox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performresize()","renderbox实际的测量和布局逻辑是在performresize()","renderconstrainedbox","renderconstrainedbox(","renderconstrainedbox)","rendercustompaint","rendercustompaint)","renderdecoratedbox","renderdecoratedbox)","renderer]","renderer];","rendererbinding,","rendererbinding:","renderfractionaltransl","renderfractionaltranslation)","renderignorepoint","renderignorepointer)","rendering层,这一层是一个抽象的布局层,它依赖于dart","renderobject","renderobject)","renderobject:","renderobjecttowidgetadapter(","renderobjecttowidgetadapter([globalobjectkey","renderobjecttowidgetel","renderobjecttowidgetelement,并且将","renderobjectwidget","renderobject。真正的绘制是通过paintingcontext.repaintcompositedchild()来绘制的,该方法最终会调用flutt","renderobject与renderbox","renderobject中有一个类似的markneedslayout()方法,它会将","renderobject为止,然后再将其标记为","renderobject再到更element的整个关联过程。我们看看attachtorendertree的源码实现:","renderobject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下:","renderobject和renderbox","renderobject就是渲染树中的一个对象,它拥有一个parent和一个parentdata","renderobject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。","renderobject,而是只重绘了需要重绘的","renderoffstag","renderoffstage)","renderpad","renderparagraph","renderpointerlisten","renderpointerlistener)","renderpositionedbox","renderpositionedbox)","renderproxybox","renderrepaintboundari","renderrepaintboundary({","renderrepaintboundary)","rendersemanticsannot","rendersemanticsannotations)","rendersemanticsgesturehandl","rendersemanticsgesturehandler)","renderstack","renderstack)","renderview","renderview(497039273)];","renderview)","renderview,","renderview.compositeframe();","renderviewelement);","rent!'),","repaint","repaintboundari","repaintboundary(","repaintboundary(child:...)),","repaintcompositedchild(child,","repeat:","repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:","replace(match","reporterror(details);","reporterror(fluttererrordetail","reporterrorandlog(details);","reporterrorandlog(fluttererrordetail","repositori","repositories…,选择","request","request.add(utf8.encode(payload));","request.close();","request.headers.add(\"us","resetepoch();","resolutionstrategi","respons","response.transform(utf8.decoder).join();","response;","response=","response=await","responsebodi","result","result(@(batterylevel));","result([fluttererror","result(fluttererror.init(code:","result(fluttermethodnotimplemented);","result(int(device.batterylevel","result)","result);","result,","result.add(boxhittestentry(this,","result.add(hittestentry(this));","result.error(\"unavailable\",","result.notimplemented()","result.notimplemented();","result.success(batterylevel)","result.success(batterylevel);","result:","result;","return","return;","revers","reverse()等方法。animationcontroller会在动画的每一帧,就会生成一个新的值。默认情况下,animationcontroller在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。","reverse:该属性api文档解释是:是否按照阅读方向相反的方向滑动,如:scrolldirection值为axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左),reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动widget的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。","right","right,","rn、weex","rootbundle.loadstring('assets/config.json');","rootbundle;","rootproject.findproject(\":url_launcher\")","rootwidget","rootwidget)","rotatedbox","rotatedbox(","rotatedbox和transform.rotate功能相似,它们都可以对子widget进行旋转变换,但是有一点不同:rotatedbox的变换是在layout阶段,会影响在子widget的位置和大小。我们将上面介绍transform.rotate时的示例改一下:","rotationtransition(","rout","route\"),","route\"。","route)","routename)","routes:{","routeset","routes;","route”按钮,依然可以打开新的路由页。","route)即给路由起一个名字,然后可以通过路由名字直接打开新的路由。这为路由管理带来了一种直观、简单的方式。","row","row(","row({","row、","row可以在水平方向排列其子widget。定义如下:","row默认为水平方向,column默认为垂直方向","run","runalignment:纵轴方向的对齐方式","runapp(","runapp(myapp()),","runapp(myapp());","runapp(new","runapp(widget","runner","runspacing:","runspacing:纵轴方向的间距","runzoned(","runzoned(()","runzoned(r","run。","run。模拟器启动并显示所选操作系统版本或设备的启动画面。","run启动flutter应用程序。","run启动应用程序,那么当它运行时,您可以打开observatori","run命令来运行应用程序。","run图标。","run时使用trac","run时带有","run运行程序。在这种模式下,dart","s","s),","s.depend","s`","s`),或者点击","safari/602.1\");","save","savedinstancestate)","saveuserinfo(str","saveuserinfo(userinfo).then((){","saveuserinfo(userinfo);","say(\"hi","say('bob',","say(str","say=","sc);","sc.settrustedcertificates(file);","sc=new","scaffold","scaffold(","scaffold.of(context).opendrawer();","scaffoldrout","scaffold、tabbar、底部导航","scaffold的drawer和enddrawer属性可以分别接受一个widget作为页面的左、右抽屉菜单,如果开发者提供了抽屉菜单,那么当用户手指重屏幕左/右向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单mydrawer,源码如下:","scale","scale:","scaleanimationrout","scene","scene)","scene.dispose();","scheduleframe()","schedulerbind","schedulerbinding,","schedulerbinding.instance.addpostframecallback()","schedulerbinding:提供了window.onbeginframe和window.ondrawframe回调,监听刷新事件,绑定framework绘制调度子系统。","schedulewarmupframe()","scheme,","scope","screen)添加到您的flutter应用程序,","screen)的中心,请导航至.../ios/runner。在assets.xcassets/launchimage.imageset,","scrollable({","scrollbar","scrollbar(","scrollbar和cupertinoscrollbar都是通过scrollcontroller来监听滚动事件来确定滚动条位置,关于scrollcontroller详细的内容我们将在后面专门一节介绍。","scrollbar是一个material风格的滚动指示器(滚动条),如果要给可滚动widget添加滚动条,只需将scrollbar作为可滚动widget的父widget即可,如:","scrollconfigur","scrollcontext","scrollcontrol","scrollcontroller();","scrollcontroller({","scrollcontrollertestrout","scrollcontrollertestroutest","scrollcontrollertestroutestate();","scrollcontroller控制原理","scrollcontroller还有一些属性和方法,我们将在后面原理部分解释。","scrollcontroller间接继承自listenable,我们可以根据scrollcontroller来监听滚动事件。如:","scrolldirect","scrollendnotification:","scrollmetrics还有一些其它属性,读者可以自行查阅api文档。","scrollnotificationtestrout","scrollphys","scrollposit","scrollposition有两个常用方法:animateto()","scrollstartnotification:","scrollupdatenotification:","sdk","sdk,","sdk:","sdk、android","sdk中getexternalstoragedirectory的返回值。","sdk中包含了两个scrollphysics的子类可以直接使用:","sdk分支","sdk和io","sdk和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括flutt","sdk和依赖包","sdk已经在打包在flutter","sdk平台工具和android","sdk开发的应用程序。原生开发有以下主要优势:","sdk开发的应用程序;而ios原生应用就是指通过object","sdk文档。","sdk有多个分支,如beta、dev、master,其中beta分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装flutter后,你可以运行flutt","sdk构建工具,这些是用flutter进行android开发所需要的。","sdk正是封装了android操作系统api,提供了一个“ui描述文件xml+java操作dom”的ui系统,而ios的uikit","sdk版本是基于你的","sdk的安装,然后再介绍一下配ide和模拟器的使用。","sdk的源码是开源的,并且注释非常详细,也有很多示例,实际上,flutter官方的sdk文档就是通过注释生成的。源码结合注释可以帮你解决大多数问题。","sdk的目录记为“flutter_install_path”,您将在步骤3中用到。","sdk的路径(如:c:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如c:\\program","sdk还是ios的uikit","sdk里了,没有必要单独安装dart。","sdk),可以使用如下命令:","sdk,其中包括了","sdk,则必须将该","sdk,只需一句命令:","sdk,在安装flutter时也需要安装相应平台的构建工具和sdk。下面我们分别介绍一下windows和macos下的环境搭建。","sdk,它实现了一套基础库,自底向上,我们来简单介绍一下:","secondaryanimation)","secondaryanimation,","second),就是指一秒钟可以触发60次重绘,fps值越大,界面就越流畅。","second),指每秒的动画帧数。很明显,帧率越高则动画就会越流畅。一般情况下,对于人眼来说,动画帧率超过16fps,就比较流畅了,超过32fps就会非常的细腻平滑,而超过32fps基本就感受不到差别了。由于动画的每一帧都是要改变ui输出,所以在一个时间段内连续的改变ui输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在ui系统中,动画的平均帧率是重要的性能指标,而在flutter中,理想情况下是可以实现60fps的,这和原生应用动画基本是持平的。","security:","securitycontext","securitycontext();","select","selector","self);","self,","semant","semanticsbinding,","semanticsbinding:语义化层与flutt","semanticsnode(0;","semibold.ttf","send","sendplatformmessage(str","sent","separatorbuilder:","servicesbinding,","servicesbinding:提供了window.onplatformmessag","set","set();","set,str","set.add('import","set=","setmethodcallhandler:^(fluttermethodcall*","setstate(()","setstate(()=>_event=event),","setstate(()=>{});","settings,","settings/","setup","setupparentdata(covari","shadowthemeonli","shakecurv","shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以flutter中禁用了dart的反射功能,而正因如此也就无法实现动态转化model的功能。","shaking,使用tre","shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tre","shape","shape:","shape:roundedrectangleborder(borderradius:","sharedatawidget","sharedatawidget(","sharedatawidget({","shelf_io,它主要是处理httprequest的。","shouldreload(demolocalizationsdeleg","shouldreload的返回值决定当loc","shouldrepaint(custompaint","show","showtotopbtn","shrinkwrap","shrinkwrap:","shrinkwrap:该属性表示是否根据子widget的总长度来设置listview的长度,默认值为fals","sign","signal","signal');","simul","singlechildrenderobjectel","singlechildrenderobjectwidget","singlechildscrollview","singlechildscrollview(","singlechildscrollview({","singlechildscrollviewtestrout","singlechildscrollview类似于android中的scrollview,它只能接收一个子widget。定义如下:","singletickerproviderstatemixin","singletickerproviderstatemixin{","site","size","size(","size(1080.0,","size(300,","size(411.4,","size)","size);","size),它可以生成给定大小的限制;const","size,","size.fromradius(radius),","size.fromradius(radius);","size.height","size.width","size.zero,","size:","sizedbox","sizedbox(","sizedbox(),","sizedbox用于给子widget指定固定的宽高,如:","sizedbypar","sizedbyparent就应该返回true,此时其大小在","size属性用来保存控件的宽和高。renderbox的layout是通过在组件树中从上往下传递boxconstraints对象的实现的。boxconstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。","size:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用sizebox包裹custompaint实现。","size:当前绘制区域大小。","skia引擎、dart运行时、文字排版引擎等。在代码调用","skip","slidetransit","sliver","sliver:","sliverappbar(","sliverchildbuilderdelegate(","sliverfixedextentlist(","slivergrid(","slivergriddeleg","slivergriddelegatewithfixedcrossaxiscount","slivergriddelegatewithfixedcrossaxiscount(","slivergriddelegatewithfixedcrossaxiscount({","slivergriddelegatewithmaxcrossaxisext","slivergriddelegatewithmaxcrossaxisextent(","slivergriddelegatewithmaxcrossaxisextent({","sliverpadding(","slivers:","sliver有细片、小片之意,在flutter中,sliver通常指具有特定滚动效果的可滚动块。可滚动widget,如listview、gridview等都有对应的sliver实现如sliverlist、slivergrid等。对于大多数sliver来说,它们和可滚动widget最主要的区别是sliver不会包含scrol","sliver系列widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“sliver都和可滚动widget对应,是由于还有一些如sliverpadding、sliverappbar等是和可滚动widget无关的,它们主要是为了结合customscrollview一起使用,这是因为customscrollview的子widget必须都是sliver。","smart'),","smile,","smith\",","smoke","snapshot)","socket","socket.close();","socket.connect(\"baidu.com\",","socket.flush();","socket.transform(utf8.decoder).join();","socket.writeln(\"connection:close\");","socket.writeln(\"get","socket.writeln(\"host:baidu.com\");","socket.writeln();","socket=await","some_package:","somefunction(doubl","someth","sourc","spacer(","spacing:","spacing:主轴方向子widget的间距","speed:","speed;","splashcolor:","spotlight","src","src.listsync();","src=\"./json\";","stack","stack(","stack({","stack)","stack));","stack);","stack){","stack,","stack:","stackfit.expand,","stackfit.loose,","stackoverflow:如果你还没听过stackoverflow,这是目前全球最大的程序员问答社区,现在也是活跃度最高的flutter问答社区。stackoverflow上面除了世界各地的flutter使用者会在上面交流之外,flutter开发团队的成员也经常会在上面回答问题。","stacktrac","stack:","staggeranim","staggeranimation(","staggeranimation({","staggeranimation中定义了三个动画,分别是对container的height、color、padding属性设置的动画,然后通过interval来为每个动画指定在整个动画过程的起始点和终点。","staggerdemo","star","startangle:","startup","startup和profile选项。","star。而今天(2018年8月16日),已经有35k的star。经历了短短一年多的时间,flutt","state","state){","state:","statefulel","statefulelement(this);","statefulwidget","statefulwidget({","statefulwidget类本身是不变的,但是","stateless","statelessel","statelesselement(this);","statelesswidget","statelesswidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它widget来构建ui,在构建过程中会递归的构建其嵌套的widget。我们看一个简单的例子:","statelesswidget类,这也就意味着应用本身也是一个widget。","state。","state中有两个常用属性:","state生命周期","state类中持有的状态在widget生命周期中可能会发生变化。","state类;","static","statu","sting","stokewidth","stokewidth));","stokewidth,","stokewidth:","stokewidth;","stoprecordingifneeded();","stops,","stops:","stops;","store,就必须注册apple开发者计划,有关详情读者可以自行了解。","str","str,","str.split(\"\")","str1","stream","stream.fromfutures([","stream:","streambuilder(","streamsink类提供了给数据源同步或异步添加事件的一般方法。","streams”中选择’dart’复选框,并执行你想测量的功能。","strict","string","string){","stringbuff","stringbuffer();","strokecap.butt","strokecap.round","strokecapround","strokecapround,","strokecapround:","strokecapround;","structur","studio","studio(或intellij)有一个插件,它可以自动将json转为model,该插件会对嵌套json也会生成model。这个特性在有些时候可能会引起重定义,如两个json都内嵌了一个user的对象时,会导致us","studio>tools>android>avd","studio。","studio不仅可以管理android","studio中打开您的flutter应用的android部分:","studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。","studio创建一个flutter项目,然后运行它,并体验“热重载”。","studio后插件生效。","studio和v","studio安装sdk并创建项目。","studio安装向导”。这将安装最新的android","studio工具栏:","studio是基于intellij","studio的全量安装。android","studio的磁盘空间).","studio的磁盘空间).","studio的编辑器视图中查看pubspec.yaml时,单击右上角的","studio问题","studio,下载地址:https://developer.android.com/studio/index.html","studio,在此不再赘述。","studio,然后执行“android","studio,读者可以先自行下载并安装android","studio:file>new>new","style'),","style,","style:","style:正在编辑的文本样式。","subscope:","sudo","super(child);","super(key:","super(widget);","super.application(application,","super.build(context,","super.deactivate();","super.debugfillproperties(properties);","super.didchangedependencies();","super.didupdatewidget(oldwidget);","super.dispose();","super.drawframe();","super.initstate();","super.oncreate(savedinstancestate)","super.oncreate(savedinstancestate);","super.reassemble();","supportedlocal","supportedlocales)","supportedlocales:","sweepgradient(","swift","switch","switch(","switch(_tabcontroller.index){","switchandcheckboxtestrout","switch和checkbox属性比较简单,读者可以查看api文档,它们都有一个activecolor属性,用于设置激活态的颜色。至于大小,到目前为止,checkbox的大小是固定的,无法自定义,而switch只能定义宽度,高度也是固定的。值得一提的是checkbox有一个属性trist","symmetric({","synchronousfuture(","system","system'","t","t)","t.join();","t;","t=\"hi","t=1000;","tab","tab(text:","tab({","tabbar","tabbar(","tabbarview","tabbarview(","tabcontrol","tabcontroller(length:","table),这样应用程序才知道哪个名称与哪个路由widget对应。路由表的定义如下:","tabs.length,","tabs.map((e)","tabs:","tag:","tag=\"\\$\";","tap;","tapboxa","tapboxa({key","tapboxb","tapboxb(","tapboxb({key","tapboxc","tapboxc(","tapboxc({key","tapboxc将其_active状态导出到其父widget中,但在内部管理其_highlight状态。这个例子有两个状态对象_parentwidgetstate和_tapboxcstate。","tapgesturerecogn","tapgesturerecognizer();","target","targetplatform","target设置页面中,确保在","task()","team","template=new","template=packag","test\",","test(callback","test(isnoble);","test),以确定指针与屏幕接触的位置存在哪些widget,","test/hello_test.dart:package的单元测试代码。","testflowdeleg","testflowdelegate(margin:","testflowdelegate({this.margin});","tests。下面我们看看如何组织package包的代码,我们以shelf","text","text\",","text(","text(\"","text(\"$index\"));","text(\"$index\"),);","text(\"1秒内连续按两次返回键退出\"),","text(\"a\")),","text(\"app","text(\"b\")),","text(\"box","text(\"cupertino","text(\"echo","text(\"hello","text(\"i","text(\"increment\"),","text(\"login\",","text(\"new","text(\"normal\"),","text(\"open","text(\"press\"),","text(\"send","text(\"submit\"),","text(\"thi","text(\"websocket(内容回显)\"),","text(\"xxx\");","text(\"xxx\"*100)","text(\"your","text(\"主题测试\")),","text(\"你好\",","text(\"左上角200*100范围内非文本区域点击\")),","text(\"滚动控制\")),","text(\"登录\"),","text(\"移动焦点\"),","text(\"获取百度首页\"),","text(\"逆时针旋转1/5圈\"),","text(\"隐藏键盘\"),","text(\"顺时针旋转1/5圈\"),","text('$_counter'),","text('a')),","text('add","text('and","text('apart","text('business')),","text('demo'),","text('domest","text('dump","text('get","text('grid","text('h')),","text('hamilton'),","text('home')),","text('i\\'m","text('j')),","text('lafayette'),","text('laurens'),","text('list","text('m')),","text('manag","text('mulligan'),","text('school')),","text('when","text('文件操作')),","text('点击了","text(_batterylevel),","text(_event?.tostring()??\"\",style:","text(_msg)","text(_operation,","text(_progress),","text(_text),","text(_text.replaceall(new","text(c,","text(demolocalizations.of(context).title),","text(e,","text(icons,","text(sharedatawidget","text(snapshot.hasdata","text(text),","text(text,","text(tip),","text(widget.act","text(widget.title),","text(wordpair.tostring()),","text)","text,","text.rich(","text.rich(textspan(","text.split(\"\")..shuffle();","text/html;charset=utf","text:","text;","textalign","textalign.center,","textalign.start,","textalign:","textalign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是text","textcolor:","textdecoration.underline)","textdecorationstyle.dash","textdirect","textdirection,","textdirection.rtl,","textdirection:","textdirection:和row、wrap的textdirection功能一样,都用于决定alignment对齐的参考系即:textdirection的值为textdirection.ltr,则alignment的start代表左,end代表右;textdirection的值为textdirection.rtl,则alignment的start代表右,end代表左。","textdirection:表示水平方向子widget的布局顺序(是从左往右还是从右往左),默认为系统当前locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。","texteditingcontrol","texteditingcontroller();","textfield","textfield(","textfield(focusnode:","textfield({","textfield用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。","textformfield(","textinputact","textinputaction,","textinputaction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看api文档,下面是当值为textinputaction.search时,原生android系统下键盘样式:","textinputtyp","textinputtype.emailaddress,","textinputtype枚举值","textoverflow.ellipsis,","textscalefactor","textscalefactor:","textscalefactor主要是用于系统字体大小设置改变时对flutter应用字体进行全局调整,而fontsize通常用于单个文本。","textscalefactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontsize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过mediaquerydata.textscalefactor获得,如果没有mediaquery,那么会默认值将为1.0。","textspan","textspan(","textspan(text:","textspan({","textstyl","textstyle(","textstyle(color:","textstyle(fontsize:","textstyle(fontweight:","textstyle,","textstyle用于指定文本显示的样式如颜色、字体、粗细、背景等。我们看一个示例:","textthem","texttheme,//","text子widget,第一个text","text属性代表该文本片段的样式和内容。","text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:","text:该","theme","theme(","theme.of(context)","theme.of(context).copywith(","theme.of(context).texttheme.display1,","theme.of(context);","theme.primarycolor];","theme.primarycolordark","theme:","themedata","themedata(","themedata({","themedata.copywith(","themedata.icontheme.copywith(","themedatatween(themedata(brightness.light","themedata是materi","themetestrout","this)","this);","this,","this.actions,","this.active:","this.align","this.alignment,","this.animation});","this.automaticallyimplylead","this.axisdirect","this.backgroundcolor","this.backgroundcolor,","this.backgroundcolor:colors.grey,","this.barriercolor,","this.barrierdismiss","this.barrierlabel,","this.behavior","this.bottom,","this.builder,","this.centertitle,","this.child","this.child,","this.color,","this.colorblendmode,","this.colorbrightness,//按钮主题,默认是浅色主题","this.colors,","this.control","this.controller,","this.crossaxisalign","this.cursorcolor,","this.cursorradius,","this.cursorwidth","this.data,","this.direct","this.direction,","this.disabledcolor,//按钮禁用时的背景颜色","this.disabledelev","this.disabledtextcolor,","this.elev","this.email);","this.fit","this.fit,//缩放模式","this.foregroundpainter,","this.height,","this.highlightcolor,","this.highlightelev","this.icon,","this.initvalue:","this.iscomplex","this.keepscrolloffset","this.key","this.leading,","this.left,","this.maintainst","this.margin,//容器外补白,不属于decoration的装饰范围","this.maxheight","this.maxwidth","this.minheight","this.minwidth","this.onchanged})","this.onpointercancel,//触摸事件取消回调","this.onpointerdown,","this.onpointermove,","this.onpointerup,//手指抬起回调","this.onpressed,","this.ontap,","this.opaqu","this.overflow","this.padding,","this.painter,","this.parent);","this.parent;","this.physics,","this.radius,","this.repeat","this.revers","this.right,","this.runalign","this.runspac","this.scrolldirect","this.shape,","this.siz","this.spac","this.spe","this.splashcolor,","this.stokewidth","this.stokewidth:","this.stops,","this.strokecapround","this.strokecapround:","this.text,","this.textcolor,","this.textdirection,","this.title,//","this.title})","this.top,","this.tot","this.totalangl","this.transform,","this.transitiondur","this.turn","this.valu","this.verticaldirect","this.viewportbuilder,","this.width,","this.willchang","this;","thought","throw","thrown","ticker","ticker))","tickercancel","tickerprovid","tickerproviderstatemixin","timeline.finishsync();","timeline.startsync('interest","timeline页面,在”record","timer.run(()","times:'","times:',","times:'`","times:'。","times:”,第二个text","timestamp)","time)即","time)即“即时编译”。aot程序的典型代表是用c/c++开发的应用,它们必须在执行前编译成机器码,而jit的代表则非常多,如javascript、python等,事实上,所有脚本语言都支持jit模式。但需要注意的是jit和aot指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以jit方式运行也可以以aot方式运行,如java、python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为aot的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于aot。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。","tip;","titl","title:","title;","todo","todo:","tojson()","toolchain","tools;","tools>android>avd","tooltip:","top","top,","top:","top:80.0,","tostring()","tostringshort()","total,","total:","total;","totalangle,","totalangle:","totalangle;","touch),此属性会更有意义,如果手机不支持,则始终为1。","tour,就开始动手写flutter了。","trace","tracecode:","track","trail","transfer","transform(","transform(doubl","transform.rotate(","transform.rotate可以对子widget进行旋转变换,如:","transform.scale(","transform.scale(scale:","transform.scale可以对子widget进行缩小或放大,如:","transform.translate(offset:","transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子widget平移指定的距离。","transform:","transformhittests:","transformlay","transform变换","transform可以在其子widget绘制时对其应用一个矩阵变换(transformation),matrix4是一个4d矩阵,通过它我们可以实现各种矩阵操作。下面是一个例子:","transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子widget应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:","transientcallbacks:用于存放一些临时回调,一般存放动画回调。可以通过schedulerbinding.instance.scheduleframecallback","transitionduration:","transitionduration;","translation:","translucent:当点击widget透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部widget透明区域时,顶部widget和底部widget都可以接收到事件,例如:","transport","tree。","tree。本节我们将重点介绍一下renderobject的作用。","tri","true","true);","true)]))","true,","true,//是否保存滚动位置","true;","true则会调用_compositechild()方法,_compositechild()源码如下:","true的renderobject","true,这样在绘制时仅会重绘自身而无需重绘它的","trust。","try{","tue,","turnbox","turnbox(","turnbox({","turnboxrout","turnbox的完整代码如下:","turns:","turns;","tween","tween(","tween(begin:","tween.anim","tween对象不存储任何状态,相反,它提供了evaluate(anim","tween指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定起始点和终止点来决定它们的开始时间和终止时间。","tween构造函数需要begin和end两个参数。tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为0.0到1.0,但这不是必须的,我们可以自定义需要的范围。","tween继承自animatable,而不是继承自animation。animatable与animation相似,不是必须输出double值。例如,colortween指定两种颜色之间的过渡。","type)","type:","typeddatawithbytes:","typeddatawithfloat64:","typeddatawithint32:","typeddatawithint64:","typedef","type)将淡出,所以在类型安全这个层面来说,dart和typescript、coffeescript是差不多的,所以单从这一点来看,dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、app开发、web开发,这就有优势了!","ui.","ui.scen","ui.scenebuild","ui.scenebuilder();","ui.window","ui.window.render(scene);","uiapplication,","uidevice*","uidevice.current;","uidevice.currentdevice;","uidevicebatterystate.unknown)","uidevicebatterystateunknown)","uint8list","ui层,rendering层会构建一个ui树,当ui树有变化时,会计算出有变化的部分,然后更新ui树,最终将ui树绘制到屏幕上,这个过程类似于react中的虚拟dom。rendering层可以说是flutt","ui层,对应的是flutter中的dart:ui包,它是flutter引擎暴露的底层ui库,提供动画、手势及绘制能力。","ui底层原理。我们也可以看到,如果要从头到尾实现一个renderobject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在widget层通过组合或者custompaint完成自定义ui。如果遇到只能定义一个新renderobject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自renderbox,这样可以帮我们减少一部分工作。","ui框架内部连接widget和renderobject的纽带,大多数时候开发者只需要关注widget层即可,但是widget层有时候并不能完全屏蔽element细节,所以framework在statelesswidget和statefulwidget中通过build方法参数将element对象也传递给了开发者,这样便可以在需要时直接操作element对象。那么现在笔者提两个问题,请读者先自己思考一下:","ui框架是至关重要的,flutter正是通过element这个纽带将widget和renderobject关联起来,了解element层不仅会帮助读者对flutt","ui框架最核心的部分,它除了确定每个ui元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。","ui框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用element对象来完成一些操作,比如获取主题theme数据,具体细节将在下文介绍。","ui框架能不做成响应式吗?","ui渲染方式","ui系统","ui系统中另一个重要的角色renderobject。","ui系统中的角色和作用,我们将在下一节介绍flutt","ui系统之前,我们先看看ui系统的基本原理,这样可以帮助读者对操作系统和系统底层ui逻辑有一个清晰的认识。","ui系统原理","ui系统和flutt","ui系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了,","ui系统来根据新的状态来重新构建ui。","ui系统的基石。最后我们在分析一下flutter应用启动和运行的整体过程。","ui组件库。material是一种标准的移动端和web端的视觉设计语言,","ui绘制区域的大小","unauthozied给客户端,并且在响应header中添加一个","unbound","unconstrainedbox","unconstrainedbox(","unconstrainedbox不会对子widget产生任何限制,它允许其子widget按照其本身大小绘制。一般情况下,我们会很少直接使用此widget,但在\"去除\"多重限制的时候也许会有帮助,我们看一下面的代码:","underlineinputborder(","unzip","up,","updat","updatebadge()","updateshouldnotify(sharedatawidget","updatetext(\"doubletap\"),","updatetext(\"longpress\"),","updatetext(\"tap\"),//点击","updatetext(str","upgrad","uploadfileinfo(new","upper=true]","upperbound:","uri","uri.parse(\"https://www.baidu.com\"));","uri=uri(scheme:","url","url,","url:","url_launcher:","urllauncherplugin类。","url的web页面(例如observatory监听http://127.0.0.1:8100/),","us","usb调试","user","user();","user(this.name,","user.dart","user.fromjson(map","user.fromjson(usermap);","user.g.dart","userag","userinfo","userinfo);","userinfo){","usermap","username,","user{","user实例","v","v)","v8的javascript引擎在内存分配上也已经做的很好,事实上dart开发团队的很多成员都是来自chrome团队的,所以在内存分配上dart并不能作为超越javascript的优势,而对于flutter来说,它需要这样的特性,而dart也正好满足而已。","val","validator,","validator:","valu","value)","value,","value:","value;","valuechang","var","vary:","var功能相似,都会在赋值时自动进行类型推断,不同在于,赋值后可以改变其类型,如:","velocity(235.5,","verif","version/10.0","version:","version_codes.lollipop)","version:应用或包的版本号。","vertic","vertical,","vertical:","verticaldirect","verticaldirection.down,","verticaldirection.up,","verticaldirection:","verticaldirection:表示row纵轴(垂直)的对齐方向,默认是verticaldirection.down,表示从上到下。","view>command","viewport","viewport视口","virtual","visit","visitchildrenforsemantics方法和semanticsannot","vm下的脚本还是flutter,都是通过dart","vm之前已经针对吞吐量进行了优化,但团队现在正在优化vm的延迟时间,这对于flutter的工作负载更为重要。”","vm在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要dart语言能流行,vm的性能就不用担心,毕竟google在go(没用vm但有gc)、javascript(v8)、dalvik(android上的java","vm是运行在pc或服务器操作系统下,而flutter是运行在移动操作系统中,他们的文件系统会有一些差异。","vm相比,flutter有一个重要差异是文件系统路径不同,这是因为dart","vm运行时不是完全相同,但是如果package中没有涉及这些存在差异的部分,那么这样的包可以同时支持flutter和dart","vm)上已经有了很多技术积淀。值得注意的是dart在flutter中已经可以将gc做到10ms以内,所以dart和java相比,决胜因素并不会是在性能方面。而在语法层面,dart要比java更有表现力,最重要的是dart对函数式编程支持要远强于java(目前只停留在lamda表达式),而dart目前真正的不足是生态,但笔者相信,随着flutter的逐渐火热,会回过头来反推dart生态加速发展,对于dart来说,现在需要的是时间。","vm,如dart","void","voidcallback","vs","vsync:","walk()","watch在项目根目录下运行来启动watcher。只需启动一次观察器,然后它就会在后台运行,这是安全的。","web_socket_channel","websocket","websocketchannel提供了一个streamsink,它将消息发给服务器。","websocketchannel提供了一个来自服务器的消息stream","websocketrout","websocket协议本质上是一个基于tcp的协议,它是先通过http协议发起一条特殊的http请求进行握手后,如果服务端支持websocket协议,则会进行协议升级。websocket会使用http协议握手后创建的tcp链接,和http协议不同的是,websocket的tcp链接是个长链接(不会断开),所以服务端与客户端就可以通过此tcp连接进行实时通信。有关websocket协议细节,读者可以看rfc文档,下面我们重点看看flutter中如何使用websocket。","webview渲染","wechat","weex","weex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和react","weight:","wendu.dsbridge.dwebview","widget","widget({","widget)","widget.act","widget.build(this);","widget.channel.stream,","widget.child,","widget.onchanged(!widget.active);","widget.speed??200),","widget.turns)","widget.turns,","widget.turns;","widgetbuild","widgetsapp","widgetsapp构造函数也有类似的参数(如果你没有使用materialapp或者widgetsapp,你可以通过将你的应用程序包装在一个stack中,","widgetsbind","widgetsbinding.instance;","widgetsbinding:提供了window.onlocalechanged、onbuildschedul","widgetsflutterbind","widgetsflutterbinding();","widgetsflutterbinding.ensureinitialized()","widgetsflutterbinding.ensureinitialized()负责初始化一个widgetsbinding的全局单例,紧接着会调用widgetsbinding的attachrootwidget方法,该方法负责将根widget添加到renderview上,代码如下:","widgets层是flutter提供的的一套基础组件库,在基础组件库之上,flutter还提供了","widgets库中提供了material风格的单选开关switch和复选框checkbox,它们都是继承自statelesswidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击switch或checkbox时,它们会触发onchanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例:","widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。","widgettre","widget、用于应用主题数据传递的theme等等。而原生开发中的控件通常只是指ui元素。在后面的内容中,我们在描述ui元素时,我们可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。","widget。","widget。我们先来看看效果:","widget一般位于widget树中其它业务组件的顶部,它的作用是定义区域locale以及设置子树依赖的本地化资源。","widget上指定渲染图像的宽度和高度,那么imag","widget与el","widget中滑动时就会分发scrollnotification,而scrollbar正是通过监听scrollnotification来确定滚动条位置的。除了scrollnotification,flutter中还有sizechangedlayoutnotification、keepalivenotif","widget中,state对象也和statefulelement具有对应关系(一对一),所以在flutter的sdk文档中,可以经常看到“从树中移除state对象”或“插入state对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。","widget中,这样会在绘制时创建一个新的绘制层(layer),其子widget将在新的layer上绘制,而父widget将在原来layer上绘制,也就是说repaintboundari","widget中;典型地,在一个懒加载列表中,如果将列表项包裹在automatickeepalive中,在该列表项滑出视口时该列表项不会被gc,它会使用keepalivenotification来保存其状态。如果列表项自己维护其keepalive状态,那么此参数必须置为false。","widget了,如:scaffold、appbar、flatbutton等。要使用materi","widget会自动加载新区域的locale值,然后重新构建使用了它们的widget。","widget会调用attach()方法,将创建的scrollposition添加到scrollcontroller的positions属性中,这一步称为“注册位置”,只有注册后animateto()","widget会重新构建,localizations.localeof(context)`","widget使用。","widget使用,scrollcontroller会为每一个scrol","widget使用,那么我们可以通过如下方式分别读取他们的滚动位置:","widget保存的滚动位置。","widget关联后才可以。","widget关联时,scrol","widget创建一个scrollposition对象,这些scrollposition保存在scrollcontroller的positions属性中(list)。scrollposition是真正保存滑动位置信息的对象,offset只是一个便捷属性:","widget创建的(如creator字段所描述的),","widget到widget树根之间任意位置都能监听。而scrollcontroller只能和具体的scrol","widget可以为materi","widget可以拥有状态,这些状态在widget生命周期中是可以变的,而stateless","widget同时插入到widget树的多个位置时,flutt","widget和设置页并不在一起。正确的做法是通过一个全局状态管理器来处理这种“相距较远”的widget之间的通信。目前主要有两种办法:","widget在渲染树的层中创建了一个renderrepaintboundary。这用于减少需要重绘的需求量。","widget在滚动时会发送scrollnotification类型的通知,scrollbar正是通过监听滚动通知来实现的。通过notificationlistener监听滚动事件和通过scrollcontroller有两个主要的不同:","widget在第一次创建时,会滚动到initialscrolloffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialscrolloffset会被忽略。","widget如何设置isrepaintboundary属性呢?其实如果使用了repaintboundari","widget实际上就是element的配置数据,widget树实际上是一个配置树,而真正的ui渲染树是由element构成;不过,由于element是通过widget生成,所以它们之间有对应关系,所以在大多数场景,我们可以宽泛地认为widget树就是指ui控件树或ui渲染树。","widget将占用与主资源相同的屏幕空间大小。","widget将要共享的widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是flutt","widget将连接到一个stream,","widget层与engine的桥梁。","widget并重建它,这样子树中通过localizations.localeof(context)","widget库","widget库中提供了丰富的输入框及表单widget。下面我们分别介绍一下。","widget库中提供了多种按钮widget如raisedbutton、flatbutton、outlinebutton等,它们都是直接或间接对rawmaterialbutton的包装定制,所以他们大多数属性都和rawmaterialbutton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有materi","widget库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个gradientbutton","widget库中,我们会在很多widget中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在material设计风格中是一种很重要的表现形式,以后在介绍其它widget时,便不再赘述。","widget库中,有一些widget可以根据实际运行平台来切换表现风格,比如materialpageroute,在路由切换时,如果是android系统,它将会使用android系统默认的页面切换动画(从底向上),如果是ios系统时,它会使用ios系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有cupertino","widget库介绍","widget库的主题数据,material库的widget需要遵守相应的设计规范,而这些规范可自定义部分都定义在themedata,所以我们可以通过themedata来自定义应用主题。我们可以通过theme.of方法来获取当前的themedata。","widget开始,","widget所在的父widgetinitst","widget支持多语言。","widget时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定pagestoragekey来分别跟踪不同scrol","widget时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供pagestoragekey。这是因为scrollable本身是一个statefulwidget,它的状态中也会保存当前滚动位置,所以,只要scrol","widget是不可变的。","widget显示_counter状态的数值。","widget显示固定文本","widget最终会通过renderparagraph对象来通过canvas实现文本绘制逻辑。","widget有一个必选的image参数,它对应一个imageprovider。下面我们分别演示一下如何从asset和网络加载图片。","widget有三个可选参数,除了可以指定文字外,还可以指定tab菜单图标,或者直接自定义widget,定义如下:","widget有两点不同:","widget本身。本例中虽然是指定了居中对齐,但因为text文本内容宽度不足一行,text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:","widget本身没有被从树上detach掉,那么其state就不会销毁(dispose),滚动位置就不会丢失。只有当widget发生结构变化,导致scrol","widget来实现的,上面的示例代码实际上等价于:","widget来指定isrepaintboundari","widget来显示它们。","widget来监听原始触摸事件,它也是一个功能性widget。","widget来监听新消息,","widget来监听自己关注的通知,这种通信方式类似于web开发中浏览器的事件冒泡,我们在flutter中沿用“冒泡”这个术语。scrol","widget树中子widget可以通过发送通知(notification)与父(包括祖先)widget通信。父widget可以通过notificationlisten","widget树的叶子节点,用于没有子节点的widget,通常基础widget都属于这一类,如text、image。","widget滚动通知的例子:","widget用于加载和查找包含本地化值的对象。应用程序通过localizations.of(context,type)来引用这些对象。","widget的locale设置发生更改时,将重建其依赖的上下文。","widget的state对象,原理可以参考本书后面“element与buildcontext”","widget的state就会销毁,这时如果想恢复滚动位置就需要指定pagestoragekey。","widget的state销毁或重新构建时才会丢失状态,这种情况就需要显式指定pagestoragekey,通过pagestorage来存储滚动位置,一个典型的场景是在使用tabbarview时,在tab发生切换时,tab页中的scrol","widget的一个实现细节","widget的位置,如:","widget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:","widget的生命周期中可能会被多次调用。例如,当一个st","widget的示例,我们实现一个简单的cupertino页面:","widget的边界(此示例中相当于列表顶或底部)。","widget相关的状态,它在st","widget简介","widget管理自己的state。","widget管理自身状态","widget类继承自diagnosticabletree,diagnosticabletree即“诊断树”,主要作用是提供调试信息。","widget能够重新build一下,但我们的app","widget自己指定,如:","widget至少由两个类组成:","widget那么丰富,但也在不断的完善中。值得一提的是在materi","widget那边就会收到通知,然后重新build一下即可。","widget都会将滚动位置offset存储到pagestorage中,当scrol","widget都滚动到指定的位置。","widget重新build时,是否调用load方法重新加载locale资源。一般情况下,locale资源只应该在locale切换时加载一次,不需要每次在loc","widget重新build时,是否调用load重新加载locale资源.","widget重新创建时会使用scrollcontroller.initialscrolloffset;scrollcontroller.keepscrolloffset为true时,scrol","widget销毁时,会调用scrollcontroller的detach()方法,将其scrollposition对象从scrollcontroller的positions属性中移除,这一步称为“注销位置”,注销后animateto()","widget首先会调用scrollcontroller的createscrollposition()方法来创建一个scrollposition来存储滚动位置信息,接着,scrol","widget)。现在,我们可以简单认为st","widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动widget(如listview、gridview等),然后介绍一下scrollable与可滚动widget的原理。可滚动widget都直接或间接包含一个scrol","widget,cent","widget,column的作用是将其所有子widget沿屏幕垂直方向依次排列,","widget,也就是说sliver本身不包含滚动交互模型","widget,但是有一些操作,如读取滚动位置offset,则需要一对一,但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个scrollcontroller同时被两个scrol","widget,其对应的renderrepaintboundary会自动将isrepaintboundary设为true的:","widget,则可以使用debugpaintlayerbordersen","widget,可以和floatingactionbutton配合实现这种\"打洞\"效果。源码如下:","widget,可帮助您构建遵循materi","widget,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:","widget,它也是material组件库提供的material风格的tab菜单。","widget,它使用keepaliveparentdatamixin(继承自parentdata)","widget,它内部就是用矩阵变换来更新ui,除此之外,flutter的动画widget中也大量使用了transform以提高性能。","widget,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。","widget,它可以结合一个画笔custompainter来实现绘制自定义图形。","widget,它和tabbarview功能相似,读者可以自行了解一下。","widget,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。","widget,它继承自formfield类,也是textfield的一个包装类,所以除了formfield定义的属性之外,它还包括textfield的属性。","widget,它表示与该state实例关联的widget实例,由flutt","widget,需要先引入它:","widget:","width),","width,//容器的宽度","width:","width;","widthfactor:","width、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。","willchange:和iscomplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。","willpopcallback","willpopscop","willpopscope(","willpopscope({","willpopscopetestrout","willpopscopetestroutest","willpopscopetestroutestate();","window","window>","window?.rootviewcontrol","windows,请确保可以在命令提示符或powershell中运行","windows:file>settings>plugins)。","window下只支持为android设备构建并运行flutter应用,而macos同时支持ios和android设备。下面分别介绍如何连接android和ios设备来运行flutter应用。","wordpair","wordpair.random();","work","workspace.","world","world!","world!\"),","world!\";","world!\",然后我们在then中接收异步结果并打印结果,代码如下:","world\")","world\"),","world\");","world\")没有指定定位,并且alignment值为alignment.center,所以,它会居中显示。第二个子widget","world\",","world\",style:","world\";","world”。","wrap","wrap(","wrap({","wrapalignment.center,","wrapalignment.start,","wrapcrossalignment.start,","www","x","x)","x509certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。","x86","x86_64","x86。","xcode","xcodebuild","y","yaml是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或json相比,它语法简单并非常容易解析,所以yaml常用于配置文件,flutter也是用yaml文件作为其配置文件,flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:","yes;","you'),","yxxfisdjfisjfgijijg","zero:","zone","zone\";","zone,","zone.\");","zonedeleg","zonespecif","zonespecification(","zonespecification,","zonespecification:","zonespecification:zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子:","zonevalues,","zonevalues:","zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如:","zone内部发生的错误是不会跨越当前error","zone的边界的,如果想跨越error","zone边界去捕获异常,可以通过共同的“源”zone来捕获,如:","zone,该error","z沿垂直方向显示的例子,由于垂直方向空间不够,所以使用singlechildscrollview。:","{","{'howmany':","{howmany}","{}","{}),","{},","|","|api名称","|s|","||","}","})","}));","}),","}).catcherror((e){","}).then((data)","}).then((data){","}).then((e){","}).then((userinfo){","}).tolist(),","}).whencomplete((){","}):","}):super(key:key);","});","}):可以设置具体某个方向的补白(可以同时指定多个方向)。","}):用于设置对称方向的补白,vertical指top和bottom,horizontal指left和right。","},","},ondone:","};","}];","}catch","}els","}else{","~/.bash_profil","~/develop","~/downloads/flutter_macos_v0.5.1","​","——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态","‘doctor’,","‘flutter:","‘flutter’,","‘install’,","‘ok’","“emul","“futur","“inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成”active“状态,framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。","“onhorizontaldragend”。如果我们的代码逻辑中,对于手指按下和抬起是强依赖的,比如在一个轮播图组件中,我们希望手指按下时,暂停轮播,而抬起时恢复轮播,但是由于轮播图组件中本身可能已经处理了拖动手势(支持手动滑动切换),甚至可能也支持了缩放手势,这时我们如果在外部再用ontapdown、ontapup来监听的话是不行的。这时我们应该怎么做?其实很简单,通过listener监听原始指针事件就行:","“packag","“www","“you","“千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了!","“去除”了父constrainedbox的限制,则最终会按照子constrainedbox的限制来绘制redbox,即90×20:","“控制面板>用户帐户>用户帐户>更改我的环境变量”","“提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为jit(just","”","•","…/2.0x/my_icon.png","…/3.0x/my_icon.png","…/graphics/background.png","…/graphics/dark/background.png","…/graphics/my_icon.png","…/icons/1.5x/heart.png","…/icons/2.0x/heart.png","…/icons/heart.png","…/image.png","…/lib/backgrounds/background1.png","…/lib/backgrounds/background2.png","…/lib/backgrounds/background3.png","…/mx/image.png","…/my_icon.png","…/nx/image.png","…/pubspec.yaml","…etc.","…},用于指定命名参数。例如:","…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):","←","→","⋯","│","│└ignorepointer(ignoring:","└_focusscope(thi","└_gesturesemantics(renderobject:","└_inkfeature([globalkey","└_modalscope([globalkey","└_modalscopestatus(active)","└_mountainviewpagetransition(animation:","└_overlayentry([globalkey","└_theatre(renderobject:","└absorbpointer(renderobject:","└animatedcontainer(duration:","└animateddefaulttextstyle(duration:","└animatedtheme(duration:","└apphome()","└banner()","└center(alignment:","└checkedmodebanner()","└constrainedbox(boxconstraints(88.0(369160267))","└constrainedbox(boxconstraints(biggest);","└container(bg:","└container(padding:","└custompaint(renderobject:","└decoratedbox(renderobject:","└defaulttextstyle(inherit:","└flatbutton()","└focus([globalkey","└focus([globalobjectkey","└fractionaltranslation(renderobject:","└gesturedetector()","└ignorepointer(ignoring:","└listener(listeners:","└localequery(null)","└material(materialtype.canvas;","└materialapp(state:","└materialbutton(state:","└mediaquery(mediaquerydata(size:","└modalbarrier()","└navigator([globalobjectkey","└notificationlistener()","└offstage(offstage:","└overlay([globalkey","└padding(renderobject:","└pagestorage([globalkey","└rawgesturedetector(state:","└repaintboundary(renderobject:","└richtext(renderobject:","└scrollconfiguration()","└semantics(container:","└semanticsnode(2;","└semanticsnode(3;","└semanticsnode(4;","└slidetransition(animation:","└stack(renderobject:","└text(\"dump","└theme(themedata(brightness.light","└title(color:","└widgetsapp([globalobjectkey","└─child","└─child:","├_overlayentry([globalkey","├semanticsnode(1;","├─child","├─onstage:","╎","▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀","▄▄▄▄▄▄▄▄","✔️","✗","、","、email","、indicatorcolor等也会受primaryswatch影响。","、layoutchangednotification等。下面是一个监听scrol","、right、","、window.ontextscalefactorchang","、反向播放","。","。renderobjectwidget类中定义了创建、更新renderobject的方法,子类必须实现他们,关于renderobject我们现在只需要知道它是最终布局、渲染ui界面的对象即可,也就是说,对于布局类widget来说,其布局算法都是通过对应的renderobject对象来实现的,所以读者如果对接下来介绍的某个布局类widget原理感兴趣,可以查看其renderobject的实现,而在本章中,为了让读者对布局类widget有个快速的认识,所以我们不会深入到renderobject的细节中区。在学习本章时,读者的重点是掌握不同布局类widget的布局特点,具体原理和细节我们会在后面高级部分介绍。","。在其build方法中分别构建了一个switch和checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setstate()通知framework重新构建ui。","。有两种主要方法允许从asset","。要测试软件包,请在test目录中添加unit","。详细说明可在android文档中找到。","。默认情况下,listview的会在滚动方向尽可能多的占用空间。当listview在一个无边界(滚动方向上)的容器中时,shrinkwrap必须为true。","一个","一个animationcontroller控制所有动画","一个isrepaintboundari","一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。","一个scrollcontroller可以同时被多个scrol","一个scrollcontroller虽然可以对应多个scrol","一个statefulwidget类。","一个statefulwidget类会对应一个state类,state表示与其对应的statefulwidget要维护的状态,state中的保存的状态信息可以:","一个tojson","一个user.fromjson","一个widget对象可以对应多个element对象。这很好理解,根据同一份配置(widget),可以创建多个实例(element)。","一个像素点能发出的所有颜色总数是显示器的一个重要指标,比如我们所说的1600万色的屏幕就是指一个像素点可以显示出1600万种颜色,而显示器颜色是有rgb三基色组成,所以1600万即2的24次方,即每个基本色(r、g、b)深度扩展至8","一个包也可以只提供字体文件而不需要在pubspec.yaml中声明。","一个完整的应用程序往往会依赖很多第三方包,正如在原生开发中,android使用gradle来管理依赖,ios用cocoapods或carthage来管理依赖,而flutter也有自己的依赖管理工具,本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。","一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(renderview)开始进行命中测试,下面是renderview的hittest()源码:","一个导航栏","一个建议是,如果所有请求都需要认证,那么应该在httpclient初始化时就调用addcredentials()来添加全局凭证,而不是去动态添加。","一图胜万言:","一定要注意,renderobject的parentdata","一旦你的flutter应用程序有一个文件位置的引用,你可以使用dart:ioapi来执行对文件系统的读/写操作。有关使用dart处理文件和目录的详细内容可以参考dart语言文档,下面我们看一个简单的例子。","一旦实现了一个包,我们可以在pub上发布它","一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。gesturedetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。gesturedetector会将要监听的widget的原点(左上角)作为本次手势的原点,当用户在监听的widget上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母a的示例:","一次性生成","一次绘制过程,我们称其为一帧。flutter","一章。flutter还有一种通用的获取statefulwidget对象state的方法:通过globalkey来获取!","一般","一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。","一般格式为","上例中的滚动通知如scrollstartnotification、scrollupdatenotification等都是继承自scrollnotification类,不同类型的通知子类会包含不同的信息,比如scrollupdatenotification有一个scrolldelta属性,它记录了移动的位移,其它通知属性读者可以自己查看sdk文档。","上例中,只有点击文本内容区域才会触发点击事件,如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为hittestbehavior.opaque。注意,该属性并不能用于在widget树中拦截(忽略)事件,它只是决定命中测试时的widget大小。","上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部widget透明区域),控制台只会打印“down0”,也就是说顶部widget没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:","上手安卓最常遇见的问题之一,错误如下图所示,此时点击超链接即可自动跳转到安装页面","上文已经提到react","上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。","上表中开发语言主要指ui的开发语言,动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是flutter的release包默认是使用dart","上述命令创建一个flutter项目,项目名为myapp,其中包含一个使用materi","上述的globalmateriallocalizations和globalwidgetslocalizations只是material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的localizations,我们将在下一节介绍其具体的实现方式。","上面build方法不接收参数,这一点和在statelesswidget和statefulwidget中build(buildcontext)方法不同。代码中需要用到buildcontext的地方直接用this代替即可,如代码注释1处theme.of(this)参数直接传this即可,因为当前对象本身就是element实例。","上面layout()源码中定义了一个relayoutboundary变量,什么是","上面代码中addlistener()函数调用了setstate(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变image的宽高,因为它的高度和宽度现在使用的是animation.valu","上面代码中build方法返回的仍然是一个widget,这是由于flutter框架中已经有了widget这一层,并且组件库都已经是以widget的形式提供了,如果在flutter框架中所有组件都像示例的homeview一样以element形式提供,那么就可以用纯element来构建ui了,homeview的build方法返回值类型就可以是element了。","上面代码中我们用到了另外几个widget,下面我们来分别介绍一下:","上面代码中,如果没有中间的unconstrainedbox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于","上面代码中,我们每点一次按钮就会分发一个mynotification类型的通知,我们在widget根上监听通知,收到通知后我们将通知通过text显示在屏幕上。","上面代码中,我们通过textspan实现了一个基础文本片段和一个链接片段,然后通过text.rich","上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过defaulttextstyl","上面代码中,由于要维护switch和checkbox状态,所以switchandcheckboxtestroute继承自statefulwidget","上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。","上面代码首先创建了一个tabcontrol","上面假定包位于git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:","上面参数分为两组:第一组是可滚动widget公共参数,前面已经介绍过,不再赘述;第二组是listview各个构造函数(listview有多个构造函数)的共同参数,我们重点来看看这些参数,:","上面只是pointerevent一些常用属性,除了这些它还有很多属性,读者可以查看api文档。","上面只是themedata的一小部分属性,完整列表读者可以查看sdk定义。上面属性中需要说明的是primaryswatch,它是主题颜色的一个\"样本\",通过这个样本可以在一些条件下生成一些其它的属性,例如,如果没有指定primarycolor,并且当前主题不是深色主题,那么primarycolor就会默认为primaryswatch指定的颜色,还有一些相似的属性如accentcolor","上面我们介绍的gridview都需要一个widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子widget数量比较少时,当子widget比较多时,我们可以通过gridview.builder来动态创建子widget。gridview.build","上面我们有父子两个constrainedbox,他们的限制条件不同,运行后效果如下:","上面的build方法中的代码可以改为:","上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给animatedbuilder后animatedbuilder再将其传递给匿名构造器,","上面的代码依次会输出:","上面的代码在javascript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为dart本身是一个强类型语言,任何变量都是有确定类型的,在dart中,当用var声明一个变量后,dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而javascript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。","上面的代码,实现了一个回显字符串的echo","上面的例子中并没有指定curve,所以放大的过程是线性的(匀速),下面我们指定一个curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initstate中的代码改为下面这样即可:","上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。","上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过websocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现streambuilder和stream都没有指定接收类型的参数,并且在创建websocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用streambuilder,因为websocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,streambuilder的snapshot.data的类型就是list,是文本时,则为string。","上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据json文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将json转为model类,下面我们看看怎么做:","上面的资源都是flutter应用中的,这些资源只有在flutter框架运行之后才能使用,如果要给我们的应用设置app图标或者添加启动图,那我们必须使用特定平台的assets。","上面示例演示了javascript调用原生api的过程,同样的,一般来说优秀的jsbridge也支持原生调用javascript,dsbridge也是支持的,如果您感兴趣,可以去github","上面说过,我们可以通过animation的addstatuslistener()方法来添加动画状态改变监听器。flutter中,有四种动画状态,在animationstatus枚举类中定义,下面我们逐个说明:","上面这个小例子的输出结果如下所示:","下一节我们再通过实现一个自绘的圆形渐变进度条的实例来帮助读者加深印象。","下滑线浅灰色,宽度1像素","下载包","下载并安装","下载文件:","下选择了你的开发团队。当你选择一个团队时,xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。","下面代码在dart中会报错,因为变量t的类型已经确定为string,","下面我们介绍一下materialpagerout","下面我们介绍一下常用的widget。","下面我们以android为例,实现一个获取手机型号的原生api供javascript调用。在这个示例中将展示javascript调用原生api的流程,读者可以直观的感受一下调用流程。我们选用笔者在github上开源的dsbridge作为jsbridge来进行通信。dsbridge是一个支持同步调用的跨平台的jsbridge,此示例中只使用其同步调用功能。","下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下:","下面我们来实现启动动画的路由:","下面我们来测试一下,为了尽可能多的展示gradientcircularprogressindicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:","下面我们来看看各个回调函数:","下面我们测试一下turnbox的功能,测试代码如下:","下面我们看一个例子,实现一个柱状图增长的动画:","下面我们看一个例子:","下面我们看一个完整的例子:","下面我们看看repaintboundary的原理,renderobject有一个isrepaintboundary属性,该属性决定这个renderobject重绘时是否独立于其父元素,如果该属性值为tru","下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如下:","下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘ui的过程,首先我们看一下我们的目标结果:","下面我们通过一个获取电池电量的插件来介绍一下flutter插件的开发流程。该插件中我们在dart中通过getbatterylevel","下面是一个不带可选参数调用这个函数的例子:","下面是一个将大写字母a","下面是在iphonex上页面效果截图:","下面是拦截应用中所有调用print输出日志的行为。","下面是用第三个参数调用这个函数的例子:","下面的代码使url_launcher插件的api在hello包中是可用的:","下面的例子将使用gesturedetector来识别点击事件,关于该gesturedetector的详细内容我们将在后面“事件处理”一章中介绍。","下面看一个例子:","下面看一个示例子:","下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样","下面,我们监听listview的滚动通知,然后显示当前滚动进度百分比:","下面,我们逐一解释一下各个字段的意义:","下,接下来我们通过一个例子来演示一下如何依赖、下载并使用第三方包。","不同的pagestoragekey,需要不同的值,这样才可以区分为不同scrol","不同的是,它可以接收多个异步操作的结果(成功或失败)。","不同的是,这个绘制边界需要由开发者通过repaintboundari","不同,在","不是很好,只有0.1.1版本.","不用显式的去添加帧监听器,然后再调用setstate()","不能自适应子widget大小,必须通过指定父容器大小或实现testflowdelegate的getsize返回固定大小。","不要按“停止”按钮;","不足:","不过,flutter官方建议使用android","与","与c/c++、java类似,flutt","业务需求变化快,开发成本变大;由于原生开发一般都要维护android、ios两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。","两个方法的源码,可以发现前者主要是执行了transientcallbacks队列,而后者执行了","两个方法,在看这两个方法之前我们首先了解一下","两种方式相比,onchanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:","中","中,","中inheritedwidget发生了变化,那么此时inheritedwidget的子widget的didchangedependencies()回调都会被调用。典型的场景是当系统语言locale或应用主题改变时,flutt","中关联的","中包含了一个inheritedwidget,然后在之后的build()","中实现,查看其源发,发现在其initinstances()方法中有如下代码:","中就确定了,在后面的","中文简体","中间的slivergrid:它用sliverpadding包裹以给slivergrid添加补白。slivergrid是一个两列,宽高比为4的网格,它有20个子widget。","中,勾选上","中,它被调用后会立即进行一次绘制(而不是等待\"vsync\"","中,有个","临时目录:","为","为flutter应用的首页,它也是一个widget。","为javascript提供运行环境。","为materi","为tapboxb","为true,则该renderobject拥有layer,直接绘制","为了使用方便,我们定义一个myicons类,功能和icons类一样:将字体文件中的所有图标都定义成静态变量:","为了将数据发送到服务器,我们会add消息给websocketchannel提供的sink。","为了尽可能小而且简单,flutter软件包中仅提供美国英语值的materiallocalizations和widgetslocalizations接口的实现。","为了方便使用,flutter提供了一个textformfield","为了方便开发者创建动画,不同的ui系统对动画都进行了一些抽象,比如在android中可以通过xml来描述一个动画然后设置给view。flutter中也对动画进行了抽象,主要涉及tween、animation、curve、controller这些角色。","为了方便示例,在本例中我们使用future.delay","为了更好的方便帮助中国开发者了解这门新技术,我们,flutter中文网,前后发起了flutter翻译计划、flutter开源计划,前者主要的任务是翻译flutter官方文档,后者则主要是开发一些常用的包来丰富flutter生态,帮助开发者提高开发效率。而时至今日,这两件事取得的效果还都不错!","为了更新显示画面,显示器是以固定的频率刷新(从gpu取数据),比如有一部手机屏幕的刷新频率是","为了避免用户误触返回按钮而导致app退出,在很多app中都拦截了用户点击返回键的按钮,当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。flutter中可以通过willpopscope来实现返回按钮拦截,我们看看willpopscope的默认构造函数:","为了防止用户误触返回键退出,我们拦截返回事件,当用户在1秒内点击两次返回按钮时,则退出,如果间隔超过1秒则不退出,并重新记时。代码如下:","为事件触发的坐标(如果有的话),返回","为什么要将build方法放在state中,而不是放在statefulwidget中?","为保存屏幕右下角带“➕”号按钮点击次数的状态。","为当前应用支持的locale列表,是开发者在materialapp中通过supportedlocales属性注册的。","为此,materialapp","为要模拟的android版本选择一个或多个系统印象,然后选择","为路由的名称,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名称入栈新路由时,应用会根据路由名称在路由表中找到对应的widgetbuilder回调函数,然后调用该回调函数生成路由widget并返回。","主要接口","主要缺点:","主资源默认对应于1.0倍的分辨率图片。看一个例子:","主轴(水平)方向间距","主轴和纵轴","主题","之前,有很多次被没用过flutter但对其保持好奇的开发者问到”flutter的性能究竟怎样?“,”开发体验真的好吗?“这类问题。当时之所以会有很多这样的问题,主要的原因就是那时flutter的成功案例太少,虽然国内闲鱼是第一个引入flutter的商业应用,但初期也只是在很少的页面使用了flutter,flutter究竟能否适合用于完整项目缺乏考验。那时,我就想如果能用flutter开发一个完整的app发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下flutter的流畅度,这样有个直观的了解后,就会容易做出判断,为此,我开发了gitme,它是一个github客户端,它支持了源码浏览、issue、label等github的大多数功能。到目前为止,通过gitme登录过github账号的用户有5000多,日活用户有500。更重要的是,有很多人正是用了gitme后,才来学flutter的。","之所以如此,是由于textfield在绘制下划线时使用的颜色是主题色里面的hintcolor,但提示文本颜色也是用的hintcolor,","之所以将dart与java和javascript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且dart","也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外,","也就不用重新布局了。","也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。","也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px;","也是用于接收异步事件数据,和futur","也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:","也许你已经猜到flutter就属于这一类跨平台技术,没错,flutter正是实现一套自绘引擎,并拥有一套自己的ui布局系统。不过,自绘制引擎的思路并不是什么新概念,flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的qt。","也需要被重新布局,那么到什么时候是个头呢?答案就是","了,这个好处和animatedwidget是一样的。","事件处理与通知","事件总线","事件总线通常用于widget之间状态共享,但关于widget之间状态共享也有一些专门的package如redux,这和web框架vue/react是一致的。通常情况下事件总线是足以满足业务需求的,如果你决定使用redux的话,一定要想清楚业务是否真的有必要用它,防止“化简为繁”、过度设计。","交错动画","从asset中加载图片","从启动到显示","从异常信息中我们可到是因为listview高度边界无法确定引起,所以解决的办法也很明显,我们需要给listview指定边界,我们通过sizedbox指定一个列表高度看看是否生效:","从网络加载图片","仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。","他们的使用方法和上面“http请求认证”一节中介绍的addcredentials和authent","代理","代码中打开抽屉菜单的方法在scaffoldstate中,通过scaffold.of(context)可以获取父级最近的scaffold","代码分为三部分:","代码大致逻辑是先判断自身是不是","代码如下:","代码很简单,就不赘述了。","代码很简单,首先判断有无溢出,如果没有则调用defaultpaint(context,","代码比较简单,我们主要是通过包装(组合)rotationtransition来实现的。","代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrievedata()的功能是模拟从数据源异步获取数据,我们使用english_words包的generatewordpairs()方法每次生成20个单词。","代码解释:","代码说明已经包含在注释里,下面我们看看运行效果:","代码运行效果:","代码:","以json_serializable的方式创建model类","以下步骤与上面使用object","以下示例构建了一个控制器、一条曲线和一个tween:","以启用","以在项目中使用这些新的依赖项.","以获得有关镜像服务器的最新动态。","任何0.4.x(x","任何appl","任意弧度;整个进度可以不是整圆。","优化后的url输入键盘;","优化后的日期输入键盘;android上会显示“:","优化后的电子邮件地址;会显示“@","优化后的电话号码输入键盘;会弹出数字键盘并显示\"*","会和一个祖先节点共用一个layer","会在widget树中从当前位置向上查找第一个类型为_inheritedtheme的widget。所以当局部使用theme后,其子树中theme.of()找到的第一个_inheritedtheme便是该theme的。","会显示“/","会被renderbox和它的子类使用.","传给它的","但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。","但是flutter中没有机制取消或停止冒泡过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的widget才能触发事件。","但是,animationcontroller具有控制动画的其他方法,例如forward()方法可以启动动画。数字的产生与屏幕刷新有关,因此每秒钟通常会产生60个数字(即60fps),在动画的每一帧,生成新的数字后,每个animation对象会调用其listener对象回调,等动画状态发生改变时(如动画结束)会调用statuslisteners监听器。","但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的api,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。","但是,读者请注意,unconstrainedbox对父限制的“去除”并非是真正的去除,上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minheight(100.0)仍然是生效的,只不过它不影响最终子元素的大小,但仍然还是占有相应的空间,可以认为此时的父constrainedbox是作用于子constrainedbox上,而redbox只受子constrainedbox限制,这一点请读者务必注意。","但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:","体积小:可以减小安装包大小。","体验热重载","作为","作为分隔符.","你也可以在控制台,定位到当前工程目录,然后手动运行flutter","你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,inkfeature是materi","你会立即在运行的应用程序中看到更新的字符串。","你可以使用","你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:","你可能多次看到过","使用","使用animatedwidget简化","使用async/await消除callback","使用dart:developer的timeline工具来包含你想测试的代码块,例如:","使用english_words包来生成随机字符串。","使用faderout","使用flatbutton也很简单,代码如下:","使用future消除callback","使用gradientbutton","使用ide插件生成model","使用intl包","使用intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用intl包我们需要添加两个依赖:","使用kotlin和使用java的步骤类似,首先在android","使用kotlin添加android平台特定的实现","使用materi","使用outlinebutton也很简单,代码如下:","使用package可以创建共享的模块化代码。一个最小的package包括:","使用raisedbutton非常简单,如:","使用redux这样的全局状态包,读者可以在pub上查看其详细信息。","使用socket","使用swift实现io","使用usb将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。","使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutt","使用websocket","使用xcode,您可以在ios设备或模拟器上运行flutter应用程序。","使用代码如下:","使用复杂.","使用字体","使用平台通道在flutter(client)和原生(host)之间传递消息,如下图所示:","使用平台通道调用原生代码","使用打包好的localizationsdeleg","使用文本样式","使用自定义字体图标","使用镜像","使用默认的","例如:","例如笔者flutter","例如,flutter中有一个动画widget的基类animatedwidget,它继承自statefulwidget类。animatedwidget中引入了一个抽象方法build(buildcontext","例如,iconbutton是一个图片按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。","例如,一个名为“fancy_backgrounds”的包,可能包含以下文件:","例如,下面代码创建一个animation对象,但不会启动它运行:","例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构:","例如,在上面的转储中,您可以看到窗口大小,size(411.4,","例如,如果应用程序目录中有以下文件:","例如:","依赖git:你也可以依赖存储在git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法","依赖下面这些命令行工具.","依赖包中的资源图片","依赖本地包","便会重新布局,我们是通过调用","便实现了跨平台。","保存用户信息","信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是schedulewarmupframe()","值得一提的是,dio内部仍然使用httpclient发起的请求,所以代理、请求认证、证书校验等和httpclient是相同的,我们可以在onhttpclientcreate回调中设置,例如:","值得注意的是,httpclient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。","值得注意的是,在materi","值得注意的是,在第二步中,状态变化后react框架并不会立即去计算并渲染dom树的变化部分,相反,react会在dom的基础上建立一个抽象层,即虚拟dom树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟dom,最后再批量同步到真实dom中,而不是每次改变都去操作一下dom。为什么不能每次改变都直接去操作dom树?这是因为在浏览器中每一次dom操作都有可能引起浏览器的重绘或回流:","值是否唯一.","假如我们不想让某个子树响应pointerevent的话,我们可以使用ignorepointer和absorbpointer,这两个widget都能阻止子树接收指针事件,不同之处在于absorbpointer本身会参与命中测试,而ignorepointer本身不会参与,这就意味着absorbpointer本身是可以接收指针事件的(但其子树不行),而ignorepointer不可以。一个简单的例子如下:","假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。","假设我们的后台服务使用的是自签名证书,证书格式是pem格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下:","假设我们要从数据源异步分批拉取一些数据,然后用listview显示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:","假设我们要给一段富文本(richtext)的不同部分分别添加点击事件处理器,但是textspan并不是一个widget,这时我们不能用gesturedetector,但textspan有一个recognizer属性,它可以接收一个gesturerecognizer,假设我们在点击时给文本变色:","假设我们需要从一个异步数据源(如网络)分批获取一些icon,然后用gridview来展示:","假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:","假设有两个路由a和b,他们的内容交互如下:","做一些事,比如:","先画背景","全局事件总线","全局状态管理","共享元素转换。下面我们通过一个示例来体验一下hero","关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在flutter中一些常见的变换效果上。","关于路由参数的详细信息读者可以自行查阅api文档,比较简单,不再赘述。","关闭client后,通过该client发起的所有请求都会中止。","关闭websocket连接","关闭websocket连接。","其中\"basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。","其中itembuilder为子widget构建器。","其中m和n是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。","其中style","其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。","其它依赖方式","其它异常捕获与日志收集","其它的值","其实context正是操作widget所对应的element的一个接口,由于widget树对应的element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。flutter中有很多“of(context)”这种方法,在使用时读者一定要注意context是否正确。","其实,无论是在javascript还是dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个promise(future)的调用链。","其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“json","内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;","再画前景,应用渐变","写一个shell(mo.sh),将生成模板和生成model串起来:","写一个自动生成模板的脚本(mo.dart),它可以根据指定的json目录,遍历生成模板,在生成时我们定义一些规则:","几乎所有的ui系统都会提供一个自绘ui的接口,这个接口通常会提供一块2d画布canvas,canvas内部封装了一些基本绘制的api,开发者可以通过canvas绘制各种自定义图形。在flutter中,提供了一个custompaint","函数","函数作为参数传递","函数作为变量","函数内部。","函数声明","分别指定四个方向的补白","分发通知。","分析","分析器","列表中,参数","列表加载","列表,可以看到此时的","则表示有","创建","创建control","创建flutter平台客户端","创建flutter应用","创建一个controller:","创建一个element实例,记为el","创建一个httpclient","创建一个新的应用程序项目","创建一个新路由,命名“newroute”","创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi","初始化flutter框架时.","初始化数据","初识flutter","到根","刷新当前终端窗口。","刷新页面将在chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。","前后路由页的共享hero的tag必须是相同的,flutt","前景画笔,会显示在子节点前面","前面讲了material组件库如何支持国际化,本节我们将介绍一下我们自己的ui中如何支持多语言。根据上节所述,我们需要实现两个类:一个delegate类一个localizations类,下面我们通过一个实例说明。","功能","功能型widget","功能型widget指的是不会影响ui布局及外观的widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的focusscope(焦点控制)、pagestorage(数据存储)、notificationlistener(事件监听)都属于功能型widget。由于widget是flutter的一等公民,功能型widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型widget。","功能型widget简介","加载","加载图片","加载文本asset","加载该图片","加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。","加载:建议使用","动态化","动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。","动态化较好,支持热更新。","动态性不足;为了保证ui绘制性能,自绘ui系统一般都会采用aot模式编译其发布包,所以应用发布后,不能像hybrid和rn那些使用javascript(jit)作为开发语言的框架那样动态下发代码。","动画","动画。","动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。","动画在终点停止","动画在起始点停止","动画基本结构","动画构建的范围缩小了,如果没有builder,setstate()将会在父widget上下文调用,这将会导致父widget的build方法重新调用,而有了builder之后,只会导致动画widget的build重新调用,这在复杂布局下性能会提高。","动画正在反向执行","动画正在正向执行","动画状态监听","动画结构","动画过程可以是匀速的、加速的或者先加速后减速等。flutter中通过curve(曲线)来描述动画过程,curve可以是线性的(curves.linear),也可以是非线性的。","动画通知","包与插件","包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用:","包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。","包含一个子widget,如:constrainedbox、decoratedbox等","包含多个子widget,一般都有一个children参数,接受一个widget数组。如row、column、stack等","包含路由的配置信息,如路由名称、是否初始路由(首页)。","包管理","包装一组函数参数,用[]标记为可选的位置参数:","升级","升级flutter","单一方向拖动","单选开关和复选框","单选框和复选框","即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如:","即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。","即可解决","即可解决。","原始指针事件处理","原生应用程序是指某一个移动平台(比如ios或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的sdk","原生开发","原生开发与跨平台技术","原生控件渲染","原生根据布局信息通过对应的原生控件渲染控件树;","原生渲染,性能相比h5提高很多。","去flutter中文网查看相关内容。","去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk","参数","参数app是一个widget,它是flutter应用启动后要展示的第一个widget。而widgetsflutterbinding正是绑定widget","参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定app的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:","反向遍历需要重绘的renderobject","发布packag","发现build传递的是this,很明显了,这个buildcontext很可能就是element类,查看element类定义,发现element类果然实现了buildcontext接口:","发生这种情况是因为localizations内部使用了inheritedwidget","发起","发起一个","发起多个并发请求:","发送","发送平台消息","取代线性布局","变体(variant)","变换transform","变量只能被设置一次,两者区别在于:const","变量声明","变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:","另一种实现可能会将高亮状态导出到父widget,同时保持_active状态为内部,但如果你要将该tapbox给其它人使用,可能没有什么意义。","另一种需要注意的是每个盒子描述的”relayoutsubtreeroot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。","另外widget类本身是一个抽象类,其中最核心的就是定义了createelement()接口,在flutter开发中,我们一般都不用直接继承widget类来实现widget,相反,我们通常会通过继承statelesswidget和statefulwidget来间接继承widget类来实现,而statelesswidget和statefulwidget都是直接继承自widget类,而这两个类也正是flutter中非常重要的两个抽象类,它们引入了两种widget模型,接下来我们将重点介绍一下这两个类。","另外,material组件库也提供了一个pageview","另外,实际场景中,json对象很少会这么简单,嵌套的json对象并不罕见,如果有什么能为我们自动处理json序列化,那将会非常好。幸运的是,有!","只会创建一次,后面会进行复用。那么buildowner是什么呢?其实他就是widget","只能通过父元素设置.","只要他们重绘时,这会使该层被一组旋转色所覆盖。","只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用","只负责布局子节点。","只需将它们替换为适当大小的图片。保留原始文件名称。","只需按照android开发人员指南中的说明,","只需要在materialapp或widgetsapp的localizationsdelegates列表中添加我们的delegate实例即可完成注册:","可以使用","可以使用getapplicationdocumentsdirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在ios上,这对应于nsdocumentdirectory。在android上,这是appdata目录。","可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现。","可以发现,renderobject中最终也是通过canvas来绘制的,那么通过实现renderobject的方式和上面介绍的通过custompaint和canvas自绘的方式有什么区别?其实答案很简单,custompaint只是为了方便开发者封装的一个代理类,它直接继承自singlechildrenderobjectwidget,通过rendercustompaint的paint方法将canvas和画笔painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在painter中)。","可以发现,子元素的大小是通过crossaxiscount和childaspectratio两个参数共同决定的。注意,这里的子元素指的是子widget的最大显示空间,注意确保子widget的实际大小不要超出子元素的空间。","可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过httpclientrequest直接设置header,不同的是通过httpclient设置的对整个httpclient都生效,而通过httpclientrequest设置的只对当前请求生效。","可以发现,直观的感觉就是margin的补白是在容器外部,而padding的补白是在容器内部,读者需要记住这个差异。事实上,container内margin和padding都是通过pad","可以发送与方法调用相对应的消息。","可以在flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如googl","可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset:","可以将其子widget树对齐到屏幕中心,","可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。","可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(callback","可以按比例“扩伸”row、column和flex子widget所占用的空间。","可以直接调用便捷方法","可以看main()函数只调用了一个runapp()方法,我们看看runapp()方法中都做了什么:","可以看出,当调用","可以看到container通过组合多种widget来实现复杂强大的功能,在flutter中,这也正是组合优先于继承的实例。","可以看到gradientbutton是由padding、center、inkwell等widget组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态、不能定义圆角等,读者可以根据实际需要来完善。","可以看到layout方法需要传入两个参数,第一个为constraints,即","可以看到widgetsflutterbinding继承自","可以看到window类包含了当前设备和系统的一些信息以及flutt","可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user","可以看到左侧菜单已经替换成功。","可以看到我们主要的任务就是实现paintchildren,它的主要任务是确定每个子widget位置。由于flow不能自适应子widget的大小,我们通过在getsize返回一个固定大小来指定flow的大小。","可以看到此时initst","可以看到该方法中主要调用了handlebeginframe()","可以看到通过intl.plural方法可以在howmany值不同时输出不同的提示信息。","可以看到,boss字段已自动添加,并自动导入了“person.dart”。","可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于floatingactionbutton的位置,上面floatingactionbutton的位置为:","可以看到,使用socket需要我们自己实现http协议细节,本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后如下:","可以看到,右边溢出部分报错。这是因为row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。flutter中通过wrap和flow来支持流式布局,将上例中的row换成wrap后溢出部分则会自动折行。下面是wrap的定义:","可以看到,在statefulwidget插入到widget树时首先initstate方法会被调用。","可以看到,在发生异常时,flutter默认的处理方式是弹一个errorwidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugreportexception()方法看看:","可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算,那么有什么方法可以自动拉升listview以填充屏幕剩余空间的方法吗?当然有!答案就是flex。前面已经介绍过在flex布局中,可以使用expanded自动拉伸组件大小的widget,我们也说过column是继承自flex的,所以我们可以直接使用column+expanded来实现,代码如下:","可以看到,我们虽然将container的高度设置为5像素,但是最终却是50像素,这正是constrainedbox的最小高度限制生效了。如果将container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,constrainedbox只限制了最小高度,并未限制最大高度。","可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。","可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白,那如果我们要实现列表铺满除过表头以外的屏幕空间呢?直观的方法是我们动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:","可以看到,由于第二个子widget没有定位,所以fit属性会对它起作用,就会占满stack。有stack子元素是堆叠的,所以第一个子widget被第二个遮住了,而第三个在最上层,所以可以正常显示。","可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承custompainter类,我们在画笔类中实现真正的绘制逻辑。","可以自定义粗细、两端是否圆角等样式。","可以装饰一个boxdecoration,","可以通过","可以通过findproxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去:","可以通过textspan和文本混用。","可以通过局部主题覆盖全局主题,正如代码中通过theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为widget中使用主题样式时是通过theme.of(buildcontext","可滚动widget","可滚动widgets简介","可滚动widget简介","可见依赖发生变化后,其didchangedependencies()会被调用。但是读者要注意,如果_testwidget的build方法中没有使用sharedatawidget的数据,那么它的didchangedependencies()将不会被调用,因为它并没有依赖sharedatawidget。","可视化调试","可让您创建一个带格式的文本。","可让您创建矩形视觉元素。contain","可访问平台全部功能(gps、摄像头);","可选命名参数在flutter中使用非常多。","可选的位置参数","可选的命名参数","右下角有一个悬浮的动作按钮","各个属性名都是自解释的,详情读者可以查看api文档,我们看一个示例:","同一个host,同时允许建立连接的最大数量。","同一个包中的源码文件之间也可以使用相对路径来导入。","同时支持分析、检查堆等。有关observatory的更多信息请参考observatori","名称","名,已有","后面是一个future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在","向persistentcallbacks队列添加了一个回调","向父级递归查找","否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。","含义","启动","启动android","启动屏幕将永远持续显示。","启动您的设备。","命中测试","命令","命令以查看是否都准备ok了:","命令以验证flutter识别您连接的android设备。","命令来下载依赖包。","命令来创建:","命名路由","命名路由的优缺点","命名路由的最大优点是直观,我们可以通过语义化的字符串来管理路由。但其有一个明显的缺点:不能直接传递路由参数。举个例子,假设有一个新路由echoroute,它的功能是接受一个字符串参数tip,然后再在屏幕中心将tip的内容显示出来,代码如下:","和","和c","和cupertino两种视觉风格的组件库。而我们flutter开发的大多数场景,只是和这两层打交道。","和didchangedependencies都没有被调用,而此时didupdatewidget被调用。","和javascript中的async/await功能和用法是一模一样的,如果你已经了解javascript中的async/await的用法,可以直接跳过本节。","和stateless","和statelesswidget一样,statefulwidget也是继承自widget类,并重写了createelement()方法,不同的是返回的el","和window一样,要在android设备上构建并运行flutter程序都需要先安装android","和上一节中介绍的相同,我们现在需要先注册demolocalizationsdelegate类,然后再通过demolocalizations.of(context)来动态获取当前locale文本。","和上一节中的步骤类似,我们仍然要实现localizations和delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。","和其它地方的意义稍微有点区别,此处用于配合left、top","和包管理一样,flutter也使用pubspec.yaml文件来管理应用程序所需的资源。举一个例子:","和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。","和服务器建立连接的超时,如果超过这个值则会抛出socketexception异常。","响应式的编程框架中都会有一个永恒的主题——“状态管理”,无论是在react/vue(两者都是支持响应式编程的web开发框架)还是flutter,他们讨论的问题和解决的思想都是一致的。所以,如果你对react/vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,st","响应式编程","唯一不同的是","回到runapp的实现中,当调用完attachrootwidget后,最后一行会调用","回调","回调中打印日志:","回调地狱(callback","回调返回值是一个遵循浏览器pac脚本格式的字符串,详情可以查看api文档,如果不需要代理,返回\"direct\"即可。","回调,","回调,绑定framework手势子系统,是framework事件模型与底层事件的绑定入口。","因此,renderparagraph有一个relayoutsubtreeroot=up8,这意味着当它renderparagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。","因此,可以看到其实dom树和控件树是等价的概念,只不过前者常用语web开发中,而后者常用于原生开发中。","国际化","国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化delegate。","图中的白线以16ms增量沿纵轴显示;","图标","图片","图片及icon","图片和icon","圆的半径","在","在2018年googl","在_myhomepagestate.build方法中的column的子widget中添加一个按钮(flatbutton)","在ab两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:","在android","在android设备上启用","在appdelegate类中添加以下新的方法:","在app中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的app中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:","在app开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。","在asset中声明","在dart中,所有的外部事件任务都在事件队列中,如io、计时器、点击、以及绘制事件等,而微任务通常来源于dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于gui应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过future.microtask(…)方法向微任务队列插入一个任务。","在flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过textstyle属性使用字体。","在flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为","在flutter中页面ui通常都是由一些低阶别的widget组合而成,当我们需要封装一些通用widget时,应该首先考虑是否可以通过组合其它widget来实现,如果可以则应优先使用组合,因为直接通过现有widget拼装会非常方便、简单、高效。","在flutter中,widget的功能是“描述一个ui元素的配置数据”,它就是说,widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。实际上,flutter中真正代表屏幕上显示元素的类是element,也就是说widget只是描述element的一个配置,有关element的详细介绍我们将在本书后面的高级部分深入介绍,读者现在只需要知道,widget只是ui元素的一个配置数据,并且一个widget可以对应多个element,这是因为同一个widget对象可以被添加到ui树的不同部分,而真正渲染时,ui树的每一个widget节点都会对应一个element对象。总结一下:","在flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)。","在flutter中,应该优先使用localelistresolutioncallback,当然你不必担心android系统的差异性,如果在低版本的android系统中,flutter会自动处理这种情况,这时locale列表只会包含一项。","在flutter中,我们可以创建一个websocketchannel连接到一台服务器:","在flutter中,组合的思想非常重要,flutter提供了非常多的基础widget,而我们的界面开发都是按照需要组合这些widget来实现各种不同的布局。","在flutter中,还有一些flutter没有为我们捕获的异常,如调用空对象方法异常、future中的异常。在dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了future的异常的:","在flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们:","在flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在flutter命令行运行flutter命令了。","在flutter开发中,iconfont和图片相比有如下优势:","在flutter框架加载时,flutter会使用本地平台机制绘制启动页。此启动页将持续到flutter渲染应用程序的第一帧时。","在flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap","在flutter项目的根目录中,导航到.../ios/runner。该目录中assets.xcassets/appicon.appiconset已经包含占位符图片。","在hello/ios/hello.podspec:","在itembuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个icon。","在javascript中调用原生api","在java和oc中,如果程序发生异常且没有被捕获,那么程序将会终止,但在dart或javascript中则不会,究其原因,这和它们的运行机制有关系,java和oc都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但dart和javascript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过dart官方提供的一张图来看看dart大致运行原理:","在java目录下打开","在kotlin目录中打开mainactivity.kt。","在lib根目录下的shelf.dart中,导出了多个lib/src目录下的dart文件:","在macos上搭建flutter开发环境","在masos下可以同时进行android和ios设备的测试。","在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset","在pubspec.yml中的flutter部分添加如下内容:","在renderparagraph中基于它的内容来决定其大小。","在runner","在state对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。","在widget","在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。","在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而defaulttextstyle正是用于设置默认文本样式的。下面我们看一个例子:","在widget生命周期中可以被改变,当state被改变时,可以手动调用其setstate()方法通知flutt","在windows上搭建flutter开发环境","在xcode中,选择导航面板左侧中的runner项目。","在“android","在“widget简介”一节,我们介绍了widget和element的关系,我们知道最终的ui树其实是由一个个独立的element节点构成。我们也知道了组件最终的layout、渲染都是通过renderobject来完成的,从创建到渲染的大体流程是:根据widget生成element,然后创建相应的renderobject并关联到element.renderobject属性上,最后再通过renderobject来完成布局排列和绘制。","在“用户变量”下检查是否有名为“path”的条目:","在一次绘制过程中,这三个回调队列会放在不同时机被执行:","在上一节我们说过每个element都对应一个renderobject,我们可以通过element.renderobject","在上面的例子中,text的所有文本内容只能按同一种样式,如果我们需要对一个text内容的不同部分按照不同的样式显示,这时就可以使用textspan,它代表文本的一个“片段”。我们看看textspan的定义:","在下面tapboxc示例中,按下时,盒子的周围会出现一个深绿色的边框。抬起时,边框消失;点击生效,盒子的颜色改变。","在之前我们已经介绍过dart语言的相关特性,读者可以翻看一下,如果你熟悉dart语法,可以跳过本节,如果你还不了解dart,不用担心,按照笔者经验,如果你有过其他编程语言经验,尤其是java和javascript的话,所以,如果你是前端或android开发者,那么将会非常容易上手dart。当然,如果你是ios开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习dart时,只是花了一个小时,看完dart官网的languag","在之前的章节中,我们已经简单介绍过statelesswidget,statelesswidget相对比较简单,它继承自widget,重写了createelement()方法:","在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。","在介绍row和colum时,如果子widget超出屏幕范围,则会报溢出错误,如:","在介绍statefulwidget时,我们提到state对象有一个回调didchangedependencies,它会在“依赖”发生变化时被flutt","在以下示例中,tapboxb通过回调将其状态导出到其父项。由于tapboxb不管理任何状态,因此它的父类为statelesswidget。","在任何系统的ui框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变ui外观,由于人眼会产生视觉暂留,最终看到的就是一个“连续”的动画,这和电影的原理是一样的,而ui的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率fps(fram","在你flutter项目目录中通过","在你的mac上,通过","在全球,随着flutter被越来越多的知名公司应用在自己的商业app中,flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当google在2018年io大会上发布了第一个preview版本后,国内刮起来一股学习flutter的热潮。","在前几节中,我们介绍了flutter中常用的可滚动widget,也说过可以用scrollcontroller来控制可滚动widget的滚动位置,本节先介绍一下scrollcontroller,然后以listview为例,展示一下scrollcontroller的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。","在前面的介绍中,我们知道flutter中几乎所有的对象都是一个widget,与原生开发中“控件”不同的是,flutter中的widget的概念更广泛,它不仅可以表示ui元素,也可以表示一些功能性的组件如:用于手势检测的","在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列”","在原生移动应用平台的衍生产物,目前支持ios和android两个平台。rn使用javascript语言,类似于html的jsx,以及css来开发移动应用,因此熟悉web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。","在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟dom映射的对象是什么?react中虚拟dom最终会映射为浏览器dom树,而rn中虚拟dom会通过","在发布之前,检查pubspec.yaml、readme.md以及changelog.md文件,以确保其内容的完整性和正确性。然后,运行","在可滚动widget的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动widget的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。","在后面的章节中我们将会举例说明。","在命令行运行","在大型应用程序中,不同模块或package可能会与自己的本地化值捆绑在一起。","在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。","在实战中,后台接口往往会返回一些结构化数据,如json、xml等,如之前我们请求github","在客户端,methodchannel","在宿主平台上,methodchannel","在工具栏中点击","在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。","在布局阶段,父节点会调用子节点的layout()方法,下面我们看看renderobject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):","在开发实现materi","在开发过程中,强烈建议您使用flutter的“调试”模式,有时也称为“checked”模式(注意:dart2.0后“checked”被废除,可以使用“strong”","在很多布局系统中都有viewport的概念,在flutter中,术语viewport(视口),如无特别说明,则是指一个widget的实际显示区域。例如,一个listview的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其viewport仍然是800像素。","在您的项目根文件夹中运行","在我们使用websocket后,要关闭连接:","在按下时添加绿色边框,当抬起时,取消高亮","在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息!","在接下来的两节中,我们会分别介绍android和ios端api的实现。","在接下来的小节中,我们先详细介绍一下element、renderobject,它们是组成flutt","在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。","在接收到滚动事件时,参数类型为scrollnotification,它包括一个metrics属性,它的类型是scrollmetrics,该属性包含当前viewport及滚动位置等信息:","在搜索框输入","在新版的android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的locale,如果某一种语言加载成功则会停止。下面是android中设置语言列表的截图:","在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与element有对应关系(一可能对多),在有些场景(flutter的sdk文档中)也代指“ui树”的意思。而在st","在本书的前面章节中,我们多次提到\"ui系统\"这个概念,本书中所指的ui系统特指:基于一个平台,在此平台上实现gui的一个系统,这里的平台特指操作系统,如android、ios或者windows、macos。我们说过各个平台ui系统的原理是相通的,也就是说无论是android还是ios,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍flutt","在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是","在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,gesturedetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:","在本章接下来的小节中,我们将通过一些实例来详细介绍自定义ui的过程,由于后两种方法本质是相同的,后续我们只介绍custompaint和canvas的方式,读者如果对自定义renderobject的方法好奇,可以查看renderparagraph或renderimage源码。","在本篇中,我们看看最后一种跨平台技术:自绘ui+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制ui,而不依赖系统原生控件,所以可以做到不同平台ui的一致性。注意,自绘引擎解决的是ui的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下:","在构建期间,flutter将asset放置到称为","在某些情况下,动画值可能会超出animationcontroller的0.0","在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。","在移动端,各个平台或ui系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。","在笔者看来,dart的设计目标应该是既对标java,也对标javascript,dart在静态语法方面和java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和javascript很像,如函数式特性、异步支持等。除了融合java和javascript语言之所长之外,dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在dart中其实看到的不仅有java和javascript的影子,它还具有其它编程语言中的身影,如命名参数在object","在终端中运行:","在终端中运行:flutter","在设备像素比率为1.8的设备上,.../2.0x/my_icon.png","在调用didchangedependencies()之后。","在调用didupdatewidget()之后。","在调用initstate()之后。","在调用setstate()之后。","在输入时,android","在运行应用程序前,请运行flutter","在这个示例中,主要dart代码是在","在这种情况下,一个单一的gesturedetector被列出,并且监听“tap”手势(“tap”是tapgesturedetector的tostringshort函数输出的)","在这种情况下,每个逻辑像素代表3.5个设备像素。","在这种情况下,由于应用程序本地定义了字体,所以在创建textstyle时可以不指定package参数:","在选择匹配当前设备分辨率的图片时,flutter会使用到asset变体(见下文),将来,flutter可能会将这种机制扩展到本地化、阅读提示等方面。","在项目中设置json_serializ","在项目目录中,您应用程序的代码位于","基于aot的发布包:","基于jit的快速开发周期:flutter在开发阶段采用,采用jit模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;","基于widgetsapp的应用程序类似,只是不需要globalmateriallocalizations.delegate。","基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!","基于此四点,尽管qt是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。","基础widget","堆叠,","声明","声明分辨率相关的图片","声明文本样式","处理包的相互依赖","处理抬起事件","处理按下事件","复写父类的方法,主要是设置诊断树的一些特性。","复杂的json对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。","外部存储目录:可以使用getexternalstoragedirectory()来获取外部存储目录,如sd卡;由于ios不支持外部目录,所以在ios下调用该方法会抛出unsupportederror异常,而在android下结果是android","多行文本,需和maxlines配合使用(设为null或大于1)","多重限制","大会上,flutter","大会上,googl","大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:","大多数应用程序都是通过materialapp为入口,但根据低级别的widgetsapp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。materialapp实际上也是widgetsapp的一个包装。","大多数路由页都会包含一个导航栏,有些路由页可能会有抽屉菜单(drawer)以及底部tab导航菜单等。如果每个页面都需要开发者自己手动去实现,这会是一件非常无聊的事。幸运的是,我们前面提到过,flutt","头部sliverappbar:sliverappbar对应appbar,两者不同之处在于sliverappbar可以集成到customscrollview。sliverappbar可以结合flexiblespacebar实现materi","好","如","如,","如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在webview中,而webview实质上就是一个浏览器内核,其javascript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于h5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的api,","如何决定使用哪种管理方法?以下原则可以帮助你决定:","如何学习flutter","如果1、2验证都失败了,如果用户提供了badcertificatecallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。","如果behavior值改为hittestbehavior.opaque,则只会打印\"down1\"。","如果custompaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在repaintboundari","如果dom只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。","如果dom树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。","如果element要重新插入到element树的其它位置,如element或element的祖先拥有一个globalkey(用于全局复用元素),那么framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderobject重新attach到渲染树。","如果json文件名以下划线“_”开始,则忽略此json文件。","如果locale为null,则表示flutter未能获取到设备的locale信息,所以我们在使用locale之前一定要先判空。","如果row里面嵌套row,或者column里面再嵌套column,那么只有对最外面的row或column会占用尽可能大的空间,里面row或column所占用的空间为实际大小,下面以column为例说明:","如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。","如果xcode中的自动签名失败,请验证项目的","如果一切正常,","如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置","如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户id,然后通过用户id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下:","如果你一次输出太多,那么android有时会丢弃一些日志行。为了避免这种情况,您可以使用flutter的foundation库中的debugprint()。","如果你使用intellij的flutter插件,那么已经自动启用了。","如果你使用不同的文件名,那您还必须更新同一目录中的contents.json文件,图片的具体尺寸可以查看苹果官方的标准。","如果你使用终端是zsh,终端启动时","如果你想在windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户path:","如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用vpn,这里需要注意的是一些代理只会代理部分app的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到pub,因此,在发布pub包时使用全局代理或全局vpn会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。","如果冲突的依赖不是一个包,而是一个特定于android的库,比如guava,那么必须将依赖重写声明添加到gradle构建逻辑中。","如果发送的数据是formdata,则dio会将请求header的contenttype设为“multipart/form","如果只靠我一个人,也只能等我有空了才能写,但是今年实在是太忙了!当然,还是有一些方法可以加快进度,比如大家一起来写,本书已经开源,有志之士都可以提pr,然后需要做好的就是review和校稿;当然还有一个不能保证一定有用的办法就是点击下面的”打赏“按钮,然后发一个大红包,这样作者拿了钱,说不定会不好意思慢慢吞吞的写,毕竟是收了钱的,哈哈。","如果图中超过这三条线之一,那么您的运行频率低于60hz。横轴代表帧。","如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。","如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。","如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上flutter中的手势识别引入了一个arena的概念,arena直译为“竞技场”的意思,每一个手势识别器(gesturerecognizer)都是一个“竞争者”(gesturearenamember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个listview,它的第一个子widget也是listview,如果现在滑动这个子listview,父listview会动吗?答案是否定的,这时只有子widget会动,因为这时子widget会胜出而获得滑动事件的处理权。","如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。","如果子元素未超出当前边界,则绘制子元素","如果已安装git","如果应用程序正在运行,请使用热重载按钮","如果异步任务发生错误,我们可以在catcherror中捕获错误,我们将上面示例改为:","如果您从未打算更改一个变量,那么使用","如果您使用flutter","如果您使用observatory进行分析,请确保通过","如果您尝试调试合成图层,例如以确定是否以及在何处添加repaintboundari","如果您尝试调试合成问题,则可以使用debugdumplayertree()。对于上面的例子,它会输出:","如果您尝试调试布局问题,那么widgets层的树可能不够详细。在这种情况下,您可以通过调用debugdumprendertree()转储渲染树。","如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。","如果您编写自己的widget,则可以通过覆盖debugfillproperties()来添加信息。","如果您编写自己的渲染对象,则可以通过覆盖debugfillproperties()将信息添加到转储。","如果您重命名.png文件,则还必须在您androidmanifest.xml的标签的android:icon属性中更新名称。","如果想自定义路由切换动画,可以使用pageroutebuilder,例如我们想以渐隐渐入动画来实现路由过渡:","如果想自定义路由切换动画,可以自己继承pageroute来实现,我们将在后面介绍动画时,实现一个自定义的路由widget。","如果想让flutter使用不同版本的android","如果我们tab页可以滑动切换的话,还需要在滑动过程中更新tabbar指示器的偏移。显然,要手动处理这些是很麻烦的,为此,material库提供了一个tabbarview组件,它可以很轻松的配合tabbar来实现同步切换和滑动状态同步,示例如下:","如果我们使用命名参数,就必须将路由提前注册到路由表中,所以就无法动态修改tip参数,如:","如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,本文将在后面介绍container时来介绍如何实现。","如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。","如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:","如果我们的flutter应用本身依赖某个包,我们需要将所依赖的包添加到depend","如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。flutter提供一些widget和类以帮助实现国际化,而flutter的库本身也是国际化的。","如果我们直接修改hintcolor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintstyle,它可以覆盖hintcolor,并且主题中可以通过inputdecorationtheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下:","如果我们需要将上面代码在现有flutter框架中跑起来,那么还是得提供一个”适配器“widget将homeview结合到现有框架中,下面customhome就相当于”适配器“:","如果是digest认证,可以创建digest认证凭据:","如果是post或put等可以携带请求体方法,可以通过httpclientrequest对象发送request","如果未在imag","如果某一个widget有多个父constrainedbox限制,那么最终会是哪个生效?我们看一个例子:","如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。","如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是intl的托底策略。","如果没有widget层,单靠element层是否可以搭建起一个可用的ui框架?如果可以应该是什么样子?","如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。","如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。","如果直到根节点也没找到一个layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。","如果第一步验证失败,但在创建httpclient时,已经通过securitycontext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。","如果系统的语言环境发生变化,widgetsapp将创建一个新的loc","如果给scaffold添加了抽屉菜单,默认情况下scaffold会自动将appbar的leading设置为菜单按钮(如上面截图所示)。如果我们想自定义菜单图标,可以手动来设置leading,如:","如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以renderflex对象为例说明:","如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。","如果要让里面的colum占满外部colum,可以使用expand","如果设备的locale区域设置发生更改,则loc","如果该条目不存在,创建一个新用户变量","如果该条目存在,","如果请求的https证书是可信ca颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。","如果这些命令中的任何一个失败并出现错误,请运行brew","如果遇到无法通过系统提供的现有widget实现的ui时,如我们需要一个渐变圆形进度条,而flutter提供的circularprogressindicator并不支持在显示精确进度时对进度条应用渐变色(其valuecolor","如果需要过滤uri,可以手动判断","如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用dart中实现的api。","如果需要,自定义命名策略也很容易。例如,如果我们正在使用的api返回带有snake_case的对象,但我们想在我们的模型中使用lowercamelcase,","如:","如:android","子widget是一个column","子widget的绘制将独立于父widget的绘制,repaintboundary会隔离其子节点和custompaint本身的绘制边界。示例如下:","字体主题,包括标题、body等文字样式","字段,例如:","字符串内容超过一行,text宽度等于屏幕宽度,第二行文本便会居中显示。","它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,flutter提供了一个renderbox类,它继承自renderobject,布局坐标系统采用笛卡尔坐标系,这和android和ios原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用renderbox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下renderbox。","它们可以通过localizations.of被获取到:","它实际上是一个imageprovider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用image.asset()方法,如:","它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。","它是一个map,","它是一个自动化的源代码生成器,可以在开发阶段为我们生成json序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生json序列化异常的风险降至最低。","安卓包配置问题","安装","安装android","安装flutter","安装flutter和dart插件","安装flutter插件","安装xcode","安装之后重新运行即可。","安装步骤:","安装目录是“~/code/flutter_dir”,那么代码为:","安装遇到问题?","完成flutter框架初始化时.","完整代码:","完整的代码:","完整的例子","官网:阅读flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新flutter发展动态的地方,由于目前flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。","定义_active:确定盒子的当前颜色的布尔值。","定义_handletap()函数,该函数在点击该盒子时更新_active,并调用setstate()更新ui。","定义一个\"模板的模板\",名为\"template.dart\":","定义一个controller:","定义一个背景蓝色,两边圆角的按钮。效果如下:","定义一个路由类faderout","定义一个通知类,要继承自notification类;","定义两个变量,用于保存用户名和密码,然后在onchange触发时,各自保存一下输入内容。","定义函数时,使用{param1,","定位到","定位到android","定位到您","实例","实例的","实例转化为一个map.","实例:turnbox","实例:圆形渐变进度条","实例:圆形渐变进度条(自绘)","实例:无限加载列表","实现","实现_handletapboxchanged(),当盒子被点击时调用的方法.","实现delegate类","实现local","实现localizations类","实现packag","实现renderobject","实现testflowdelegate:","实现widget的所有交互式行为。","实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在app","实现一个计数器","实现代码如下:","实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉ide或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。","实现:","实际上sizedbox和只是constrainedbox一个定制,上面代码等价于:","实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个textfield都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组textfield的内容,除了一个一个清除有没有什么更好的办法呢?为此,flutter提供了一个form","客户端发送http请求给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话,","客户端得到响应码后,将用户名和密码进行base64编码(格式为用户名:密码),设置请求头authorization,继续访问","客观的来讲,dart在语法层面确实比java更有表现力;在vm层面,dart","容器的大小可以通过width、height属性来指定,也可以通过constraints来指定,如果同时存在时,width、height优先。实际上container内部会根据width、height来生成一个constraints。","容器类widget","容器类widget和布局类widget都作用于其子widget,不同的是:","宿主监听平台通道,并接收该消息。然后它会调用该平台的api,并将响应发送回客户端,即应用程序的flutter部分。","密码不能小于6位,如果小于6为则提示“密码不能少于6位”。","对view的抽象也是一样的,他们都将操作系统api抽象成一个基础对象(如用于2d图形绘制的canvas),然后再定义一套规则来描述ui,如ui树结构,ui操作的单线程原则等。","对于android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。","对于buildcontext读者现在可以先作了解,随着本书后面内容的展开,也会用到context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于buildcontext更多的内容,我们也将在后面高级部分再深入介绍。","对于get请求我们可以将query参数通过对象来传递,上面的代码等同于:","对于ios,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。","对于一些widget来说,混合管理的方式非常有用。在这种情况下,widget自身管理一些内部状态,而父widget管理一些其他外部状态。","对于一些复杂或不规则的ui,我们可能无法使用现有widget组合的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等,当然有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片是实现不了的,比如要实现一个手写输入面板。这时,我们就需要来自己绘制ui外观。","对于上面的例子,它会输出:","对于只包含一个表达式的函数,可以使用简写语法","对于大多数情况,当您想要使用最新版本的xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。","对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如","对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。","对于纯dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可","对于线性布局,有主轴和纵轴之分,如果布局是沿水平方,那么主轴就指是水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类mainaxisalignment和crossaxisalignment,分别代表主轴对齐和纵轴对齐。","对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badcertificatecallback回调中:","对于问题1,答案当然是肯定的,因为我们之前说过widget树只是element树的映射,我们完全可以直接通过element来搭建一个ui框架。下面举一个例子:","对于问题2,答案当然也是肯定的,flutter","对应事件的订阅者队列","对应的","对应的element","对应请求头中的content","对应请求头中的keep","对应请求头中的user","对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。","对象:","对象加载:每个flutter应用程序都有一个rootbundle对象,","对象并不相同;另外statefulwidget类中添加了一个新的接口createstate(),下面我们看看statefulwidget的类定义:","对齐方式(来自widget如center和align)显示为黄色箭头.","导入包","导入包。","导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":","导入并创建dio实例:","导航栏右侧菜单","导航栏右边有一个分享按钮","导航栏底部菜单,通常为tab按钮组","导航栏阴影","导航返回拦截","导航返回拦截willpopscop","将","将diagnosticsproperty对象作为方法参数,并调用父类方法。","将diagnosticsproperty对象作为方法的参数,并调用父类方法。","将english_words(3.1.3版本)添加到依赖项列表,如下:","将flutter添加到path中,可以在任何终端会话中运行flutter命令。","将json字符串转为list/map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下json:","将materi","将不会被加载,解决办法就是修改","将不能再被调用。","将以下新方法添加到appdelegate.swift底部:","将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。","将动画过程定义为一个非线性曲线.","将原生api通过webview注册到jsbridge中","将在我们运行生成命令后自动生成","将字符串","将安装包zip解压到你想安装flutt","将数据发送到服务器","将数据发送到服务器。","将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。","将点击次数以字符串类型写到文件中","将给定的路由入栈(即打开新的页面),返回值是一个future对象,用以接收新路由出栈(及关闭)时的返回数据。","将虚拟dom布局信息传递给原生;","将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。","将需要绘制的比特数据发给gpu","就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满","尽可能的利用好shouldrepaint返回值;在ui树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的ui不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的ui外观;如果绘制依赖外部状态,那么我们就应该在shouldrepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。","尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializ","层","层叠布局","层叠布局stack、posit","层叠布局和web中的绝对定位、android中的frame布局是相似的,子widget可以根据到父容器四个角的位置来确定本身的位置。绝对定位允许子widget堆叠(按照代码中声明的顺序)。flutter中使用stack和positioned来实现绝对定位,stack允许子widget堆叠,而positioned可以给子widget定位(根据stack的四个角)。","展示应用第一帧时.","属性","属性及外观","属性只支持执行旋转动画时变化indicator的颜色),这时最好的方法就是通过自定义widget绘制逻辑来画出我们期望的外观。flutter中提供了custompaint和canvas供我们自绘ui外观。","嵌套json","工作原理","工具:","工具来为package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成api文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:","工具版本。","工欲善其事必先利其器,本节首先会分别介绍一下在windows和macos下flutt","已经创建过了,则将根","布局","布局消息传递;","布局类widget","布局类widgets简介","布局类widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)multichildrenderobjectwidget","布局类widget就是指直接或间接继承(包含)multichildrenderobjectwidget的widget,它们一般都会有一个children属性用于接收子widget。我们看一下继承关系","布局类widget是按照一定的排列方式来对其子widget进行排列;而容器类widget一般只是包装其子widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。","布局类widget都会包含一个或多个子widget,不同的布局类widget对子widget排版(layout)方式不同。我们在前面说过element树才是最终的绘制树,element树是通过widget树来创建的(通过widget.createelement()),widget其实就是element的配置数据。flutter中,根据widget是否需要包含子节点将widget分为了三类,分别对应三种element,如下表:","布局过程","布局限制类容器constrainedbox、sizebox","带\"*\"号的分支即你本地的flutter","常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子:","常见配置问题","常规>设备管理","平台依赖、sdk版本等,而且它也是flutter开发推荐的ide之一(当然,你也可以使用其它编辑器或ide,我们将会在后面讨论)。","平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;","平台通道","平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。","平台通道数据类型支持","平台通道消息处理回调","平移","年","并信任您的证书。","并在每次收到消息时通知flutter重新构建界面。","并在那里创建一个。","并将一个widget放在通过new","并混入了很多binding,在介绍这些binding之前我们先介绍一下window对象。我们看看window的官方解释:","并用一个text","并选择","并非是一个widget,","库中的按钮都有如下相同点:","库造成的,解决方法如下:","应用中main函数为应用程序的入口,main函数中调用了,runapp","应用入口。","应用或包的描述、简介。","应用的flutter部分通过平台通道(platform","应用结构。","应该在didchangedependencies()中做什么?","底下两层(foundation和animation、painting、gestures)在google的一些视频中被合并为一个dart","底部sliverfixedextentlist:它是一个所有子元素高度都为50像素的列表。","底部tab导航栏","底部导航","底部导航栏打一个圆形的洞","建议使用","开发dart包","开发flutter插件","开发packag","开发人员只会关心该框是否处于active状态,而不在乎高亮显示是如何管理的,所以应该让tapbox内部处理这些细节。","开发人员选项","开发效率","开发效率高","开发效率;flutter的热重载可帮助开发者快速地进行测试、构建ui、添加功能并更快地修复错误。在ios和android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。","开发者只需关注状态转移(数据),当状态发生变化,react框架会自动根据新的状态重新构建ui。","开发者可以根据实际需求来定制。","开头的任何内容都只能在调试模式下工作。","开始一直向父节点查找,直到找到","开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。","异步支持","引入","引入dio:","引入english_words包。","引入pathprovider插件;在pubspec.yaml文件中添加如下声明:","弹性布局","弹性布局flex","弹性布局允许子widget按照一定比例来分配父容器空间,弹性布局的概念在其ui系统中也都存在,如h5中的弹性盒子布局,android中的flexboxlayout。flutter中的弹性布局主要通过flex和expanded来配合实现。","强制使用","强制使用23.0版本的guava库,在hello/android/build.gradle中:","当element父widget的配置数据改变时,为了进行element复用,framework在决定重新创建element前会先尝试复用相同位置旧的element:调用element对应widget的canupdate()方法,如果返回true,则复用旧element,旧的element会使用新的widget配置数据更新,反之则会创建一个新的element,不会复用。widget.canupdate()主要是判断newwidget与oldwidget的runtimetype和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个widget时,可以通过指定不同的key来禁止复用。","当flutter提供的现有widget无法满足我们的需求,或者我们为了共享代码需要封装一些通用widget,这时我们就需要自定义widget。在flutter中自定义widget有三种方式:通过组合其它widget、自绘和实现renderobject,本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。","当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,renderobject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数renderbox子类来说如果子类只有一个子节点,那么子节点偏移一般都是offset.zero","当local","当scrollcontroller和scrol","当text发生改变时,我们调用markneedsbuild()方法将当前element标记为dirty即可,标记为dirty的element会在下一帧中重建。实际上,state.setstate()在内部也是调用的markneedsbuild()方法。","当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。","当一个路由中包含多个scrollabl","当使用dart","当内容超过显示视口(viewport)时,如果没有特殊处理,flutter则会提示overflow错误。为此,flutter提供了多种可滚动widget(scrol","当创建一个animationcontroller时,需要传递一个vsync参数,它接收一个tickerprovider类型的对象,它的主要职责是创建ticker,定义如下:","当前系统字体缩放比例。","当前系统默认的语言local","当前设备的dpi,即一个物理相许显示多少逻辑像素,数字越大,显示效果就越精细保真。","当前进度,取值范围","当同时监听ontap和ondoubletap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以gesturedetector会等一断时间来确定是否为双击事件。如果用户只监听了ontap(没有监听ondoubletap)事件时,则没有延时。","当在flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。","当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。","当在调试模式设置为true时,它将覆盖这样一个网格。","当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如padding)显示为浅蓝色,子widget周围有一个深蓝色框,","当应用中包括一些跨widget(甚至跨路由)的状态需要同步时,上面介绍的方法很难胜任了。比如,我们有一个设置页,里面可以设置应用语言,但是我们为了让设置实时生效,我们期望在语言状态发生改变时,我们的app","当您第一次attach真机设备进行ios开发时,需要同时信任你的mac和该设备上的开发证书。首次将ios设备连接到mac时,请在对话框中选择","当我们更改系统语言设置时,app中的loc","当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。","当所有编辑框都失去焦点时键盘就会收起","当指针按下时,flutter会对应用程序执行命中测试(hit","当按下、抬起、或者取消点击时更新_highlight状态,调用setstate()更新ui。","当按钮从被按下变为被释放时debugdumpapp()被调用,flatbutton对象同时调用setstate(),并将自己标记为\"dirty\"。","当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setst","当有父widget的配置数据改变时,同时其state.build返回的widget结构与之前不同,此时就需要重新构建对应的element树。为了进行element复用,在element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应widget的canupdate方法,如果返回true,则复用旧element,旧的element会使用新widget配置数据更新,反之则会创建一个新的element。widget.canupdate主要是判断newwidget与oldwidget的runtimetype和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个widget时,可以通过指定不同的key来避免复用。","当有祖先element决定要移除el","当检测到点击时,它会通知父widget。","当点击时,将状态的改变传递给父widget.","当点击盒子并且_active状态改变时调用setstate()更新ui。","当然,parentdata并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的parentdata中,如containerbox的parentdata就保存了指向兄弟节点的previoussibling和nextsibling,element.visitchildren()方法也正是通过它们来实现对子节点的遍历。再比如keepal","当状态改变时,调用setstate()更新ui.","当绘制区域大小改变回调","当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。","当需要使用这个package时,我们可以通过\"package:\"指令来指定包的入口文件:","当需要绘制的内容大小溢出当前空间时,将会执行paintoverflowindicator()","很多人可能会问flutter中有没有像java开发中的gson/jackson一样的json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在flutter中是禁用的。运行时反射会干扰dart的tre","很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,效果如下:","很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isrepaintboundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,renderobject也提供了一个markneedspaint()方法,其源码如下:","很明显,window正是flutt","很明显,由于flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintchild()来绘制子节点,同时将子节点parentdata中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintchild()。而如果子节点还有子节点时,paintchild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为:","很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorbrightness为brightness.dark,这是为了保证按钮文字颜色为浅色。","微信图标","必须指定的参数有两个:","快应用","快应用是华为、小米、oppo、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用javascript语言开发,原生控件渲染,与react","快应用自身不支持vue或react语法,其采用原生javascript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用vue语法开发(mpvue),从原理上来讲,vue的语法也可以移植到快应用上。","快速内存分配","忽略pointerev","怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio","怎么样,通过boxdecoration,我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在本章末尾来实现一个完整的gradientbutton。","思考题:diff操作和dom批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适?","思考题:flutter","思考题:为什么build方法的参数不定义成element对象,而要定义成buildcontext","思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?","思考题:对于maxwidth和maxheight,多重限制的策略是什么样的呢?","思考题:既然stream可以接收多次事件,那能不能用stream来实现一个订阅者模式的事件总线?","性能","性能好;flow是一个对child尺寸以及位置调整非常高效的控件,flow用转换矩阵(transform","性能高;由于自绘引擎是直接调用系统api来绘制ui,所以性能和原生控件接近。","总结","总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。","总结:","您也可以直接使用gridpaperwidget将这种网格覆盖在非material应用程序上","您也可以通过使用","您也可以通过打开xcode完全自定义storyboard。在project","您也可以通过设置debugpaintsizeenabled为true以可视方式调试布局问题。","您可以通过android","您应该在您的设备或模拟器上会看到启动的应用程序:","您想补充此文档?可以查看《flutter实战》开源项目\"贡献须知\"。","您现在可以在hello/android/src源码中import","您现在可以在hello/ios/classes源码中","您现在就可以在android上运行该应用程序。如果您使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","您的应用可以通过assetbundle对象访问其asset","您还可以调用debugdumpsemanticstree()获取语义树(呈现给系统可访问性api的树)的转储。","意为该节点的大小是否仅通过","我们一般很少会使用flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是wrap是否满足需求。flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。flow有如下优点:","我们之前介绍的http协议和websocket协议都属于应用层协议,除了它们,应用层协议还有很多如:smtp、ftp等,它们都是通过socket实现的。其实,操作系统中提供的原生网络请求api是标准的,在c语言的socket库中,它主要提供了端到端建立链接和发送数据的基础api,而高级编程语言中的socket库其实都是对操作系统的socket","我们之前已经介绍过rotatedbox,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转,二是当旋转的角度发生变化时,旋转角度更新过程没有动画。","我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在flutter中,我们使用ttf格式即可。","我们介绍一下scrollcontroller常用的属性和方法:","我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:","我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的tag常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给user添加一个person类型的","我们使用返回的结果,在setstate中来更新用户界面状态batterylevel。","我们修改一下上面用户登录的示例,在提交之前校验:","我们先定义一个redbox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:","我们先来看一下widget类的声明:","我们先看一个示例,后面再单独讨论一下behavior属性。","我们先看看basic认证的基本过程:","我们先运行此示例,效果图如下:","我们再看看renderbox默认的hittest()实现:","我们创建一个listview,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使listview恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:","我们发现onerror是fluttererror的一个静态属性,它有一个默认的处理方法","我们发现在调用renderbinding.drawframe()方法前会调用","我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时tapdown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onhorizontaldragend","我们发现,错误是通过fluttererror.reporterror方法上报的,继续跟踪:","我们可以看到element是flutt","我们可以看到pagebuild","我们可以看到wrap的很多属性在row(包括flex和column)中也有,如direction、crossaxisalignment、textdirection、verticaldirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍row的部分。读者可以认为wrap和flex(包括row和column)除了超出显示范围后wrap会折行外,其它行为基本相同。下面我们看一下wrap特有的几个属性:","我们可以看到,gridview和listview的大多数参数都是相同的,它们的含义也都相同,如有疑惑读者可以翻阅listview一节,在此不再赘述。我们唯一需要关注的是griddelegate参数,类型是slivergriddelegate,它的作用是控制gridview子widget如何排列(layout),slivergriddelegate是一个抽象类,定义了gridview","我们可以看到,在counterwidget从widget树中移除时,deactive和dispose会依次被调用。","我们可以看到,在绘制子节点时,如果child.isrepaintboundari","我们可以看到,实现hero动画只需要用hero","我们可以看到,无论是android","我们可以通过animation来监听动画的帧和状态变化:","我们可以通过controller.positions.length来确定controller被几个scrol","我们可以通过intl.plural(...)来实现:","我们可以通过localeresolutioncallback或localelistresolutioncallback回调来监听locale改变的事件,我们先看看localeresolutioncallback的回调函数签名:","我们可以通过scaffold的bottomnavigationbar属性来设置底部导航,如本节开始示例所示,我们通过material组件库提供的bottomnavigationbar和bottomnavigationbaritem两个widget来实现material风格的底部导航栏,可以看到代码非常简单,不在赘述。但是如果我们想实现如下效果的底部导航应该怎么做呢?","我们可以通过调用json.decode方法来解码json","我们在”事件处理与通知“一章中已经讲过flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。","我们在上一节“计数器”示例的基础上,做如下修改:","我们如何收取消息并显示它们?在这个例子中,我们将使用一个streambuild","我们始终可以通过以下方式来获取应用的当前区域locale:","我们定义一个person.json内容修改为:","我们实现一个最小高度为50,宽度尽可能大的红色容器。","我们实现一个获取百度首页html的例子,示例效果如下:","我们实现一个路由换肤功能:","我们实现一个页面,它包含:","我们对六个色块进行自定义流式布局:","我们将randomwordswidget","我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下:","我们将在介绍弹性布局时详细介绍expanded。","我们将执行动画的widget分离出来:","我们已经在custompaint一节中介绍过repaintboundary,现在我们深入的了解一些。与","我们已经知道localizations类中主要实现提供了本地化值,如文本:","我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。","我们必须要翻译title和remainingemailsmessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。","我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labeltext不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉textfield本身的下划线,然后通过container去嵌套定义样式,如:","我们按照之前经验,写出如下代码:","我们最终的异常捕获和上报代码如下:","我们来介绍一下scrollcontroller的另外三个方法:","我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。","我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面。","我们看一下之前“计数器”示例应用程序的inheritedwidget版本,需要说明的是,本例主要是为了演示inheritedwidget的功能特性,并不是计数器的推荐实现方式。","我们看一个简单的例子:","我们看一看运行结果:","我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:","我们看到默认的实现里调用了hittestself()和hittestchildren()两个方法,这两个方法默认实现如下:","我们看最后一行,通过addpersistentframecallback","我们看看custompaint构造函数:","我们看看edgeinsets提供的便捷方法:","我们看看gradientbutton实现:","我们看看themedata部分数据:","我们看看这些方法分别做了什么:","我们知道,在很多时候我们都需要使用这个context","我们给上例中的stack指定一个fit属性,然后将三个子widget的顺序调整一下:","我们虽然翻译了官方文档,但是对于海量的sdk文档,基本很难去全部翻译。而那时,电子工业出版社正好找到了我,希望我能写一本flutter实战类的书籍。","我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:","我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。","我们通常会直接使用boxdecoration,它是一个decoration的子类,实现了常用的装饰元素的绘制。","我们通过container来实现如下的卡片:","我们通过gesturedetector对container进行手势识别,触发相应事件后,在container上显示事件名,为了增大点击区域,将container设置为200×100,代码如下:","我们通过实现一个图片逐渐放大的示例来演示一下flutter中动画的基本结构:","我们通过纯粹的element来模拟一个statefulwidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是1","我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。","我们需要先注册路由表后,我们的flutter应用才能正确处理命名路由的跳转。注册方式很简单,我们回到之前“计数器”的示例,然后在myapp类的build方法中找到materialapp,添加routes属性,代码如下:","或","或事件处理器中调用它是最佳解决方案。","或以下命令找到模拟器:","或更新的版本","或更高版本","或者点击","截至2018年5月,该包支持24种语言。要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:","所有动画都由同一个animationcontroller驱动,无论动画实时持续多长时间,控制器的值必须介于0.0和1.0之间,而每个动画的间隔(interval)介于0.0和1.0之间。对于在间隔中设置动画的每个属性,请创建一个tween。","所有方向均使用相同数值的补白。","所有这些标志只能在调试模式下工作。通常,flutter框架中以“debug...”","所谓“平台特定”或“特定平台”,平台指的就是指flutter运行的平台,如android或ios,可以认为就是应用的原生部分。所以,平台通道正是flutter和原生之间通信的桥梁,它也是flutter插件的底层基础设施。","所谓命名路由(name","所谓线性布局,即指沿水平或垂直方向排布子widget。flutter中通过row和column来实现线性布局,类似于android中的linearlayout控件。row和column都继承自flex,我们将在弹性布局一节中详细介绍flex。","手势冲突","手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过listener直接识别原始指针事件来解决冲突。","手势竞争与冲突","手势识别","手势识别gesturedetector","手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数pointerdownevent、pointermoveevent、pointerupevent都是pointerevent的一个子类,pointerevent类中包括当前指针的一些信息,如:","才会被调用,而","打包包中的","打开","打开(或创建)","打开`lib/main.dart`文件","打开http连接,设置请求头","打开lib/main.dart文件。","打开抽屉菜单","打开插件首选项","打开终端并运行如下这些命令:","打开默认的xcode","执行intl.sh","执行上面代码,4秒后你会在控制台中看到“hello","执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。","执行效果如下,点击灰色矩形,就可以看到整个动画效果:","找到下面这一部分,并加上","技术支持;现在google正在大力推广flutter,flutter的作者中很多人都是来自chromium团队,并且github上活跃度很高。另一个角度,从今年上半年flutter频繁的版本发布也可以看出google对flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。","技术类型","抛出一个异常","抽屉菜单drawer","抽屉菜单通常将drawer作为根节点,它实现了material风格的菜单面板,mediaquery.removepadding可以移除抽drawer内的一些指定空白,读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页顶部由用户头像和昵称组成,底部是一个菜单列表,用listview实现,关于listview我们将在后面“可滚动widget”一节详细介绍。","拖入图片,并命名为launchimage.png、launchimage@2x.png、launchimage@3x.png。","拖动、滑动","持续生成","指定","指定放置项目的位置,然后按蓝色的确定按钮","指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的widget,然后从那里开始,事件会在widget树中向上冒泡,这些事件会从最内部的widget被分发到到widget根的路径上的所有widget,这和web开发中浏览器的事件冒泡机制相似,","按下时都会有“水波动画”。","按照惯例,widget的构造函数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查,另外,在继承widget时,第一个参数通常应该是key,如果接受子widget的child参数,那么通常应该将它放在参数列表的最后。同样是按照惯例,widget的属性应被声明为final,防止被意外改变。","按钮","按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以flatbutton为例,介绍一下常见的按钮属性,详细的信息可以查看api文档。","按钮宽高","排行榜前","掘金:掘金的flutter主页目前也收集了不少的博客文章,读者可以自行浏览。","接下来就可以通过","接下来我们以materialapp类为入口的应用来说明如何支持国际化。","接下来我们可以在widget中使用locale值:","接下来我们看看container的margin和padding属性的区别:","接下来我们通过路由名来打开新的路由页,修改flatbutton的onpressed回调代码,改为:","接下来,下载flutter_localizations库,然后指定materialapp的localizationsdelegates和supportedlocales:","接下来,在applic","接下来,在oncreate里创建methodchannel并设置一个methodcallhandler。确保使用与在flutter客户端使用的通道名称相同。","接下来,在oncreate里创建methodchannel并设置一个methodcallhandler。确保使用和flutter客户端中使用的通道名称相同的名称。","接下来,我们先对dart语法做一个简单的介绍,然后再将dart与javascript和java做一个简要的对比,方便读者更好的理解。","接下来,我们创建一个新路由,在新路由中,我们只显示一个counterwidget:","接下来,我们在lib目录下创建一个i10n的目录,该目录用于保存从arb文件生成的dart代码文件。","接下来,我们在widget树中移除counterwidget,将路由build方法改为:","接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包,确定其最新的版本号和是否支持flutter。","接下来,我们将通过创建三个简单示例tapboxa、tapboxb和tapboxc来说明管理状态的不同方式。","接下来,我们添加java代码,使用android电池api来获取电池电量。此代码和在原生android应用中编写的代码完全相同。","接下来,我们添加kotlin代码,使用android电池api来获取电池电量,这和原生开发是一样的。","接下来,我们添加object","接下来,我们添加swift代码,使用ios电池api来获取电池电量,这和原生开发是相同的。","接下来,我们看看_myhomepagestate中都包含哪些东西:","接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getbatterylevel。","接下来,执行整个任务流:","接下来,覆盖application方法并创建一个fluttermethodchannel绑定通道名称samples.flutter.io/battery:","接下来,让我们用android","控制台输出:","控制焦点","提供了window.onmetricschang","提供了我们需要连接到websocket服务器的工具.","提供代码分析","提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。","提示","提示语","插件包:一种专用的dart包,其中包含用dart代码编写的api,以及针对android(使用java或kotlin)和针对ios(使用oc或swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。","插件并点击","插件开发:android端api实现","插件开发:ios端api实现","插件开发:实现android端api","插件开发:实现ios端api","插件开发:平台通道简介","插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:","插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentdata正是一个预留变量,它正是由par","搭建flutter开发环境","操作系统:","操作系统绘制api的封装","支持flutter开发工作流","支持国际化","支持多种渐变色。","支持文件数组上传","收到滚动事件后获得的信息不同;notificationlistener在收到滚动事件时,通知中会携带当前滚动位置和viewport的一些信息,而scrollcontroller只能获取当前滚动位置。","效果如下:","效果:","数字;会弹出数字键盘","数据共享","文件","文件中,下面我们看看该示例的源码:","文件夹:包括包中公开的(public)代码,最少应有一个.dart文件","文件操作","文件操作与网络请求","文本、字体样式","文本及样式","文本输入键盘","文档.","文档对象模型(document","文档目录:","新添加的依赖","新路由继承自statelesswidget,界面很简单,在页面中间显示一句\"thi","方法","方法,","方法。setstate方法的作用是通知flutter框架,有状态发生了改变,flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面,","方法下方:","方法中将不会再被修改了,这种情况下","方法中订阅语言改变的事件,当用户在设置页切换语言后,我们触发语言改变事件,然后app","方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout()","方法内部生成的。每次热更新时,build方法都会被执行。","方法将textspan","方法时,会从当前","方法来移除它,移除后element.renderobject也会被从渲染树中移除,然后framework会调用element.deactiv","方法用来判断该","方法的部分实现(省略了无关代码):","方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。","方法,可以给执行对象指定一个zone。zone表示一个代码执行的环境范围,为了方便理解,读者可以将zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如zone中可以捕获日志输出、timer创建、微任务调度的行为,同时zone也可以捕获所有未处理的异常。下面我们看看runzoned(...)方法定义:","方法,它的功能是启动flutter应用,它接受一个widget参数,在本示例中它是myapp类的一个实例,该参数代表flutter应用。","方法,该方法的实现在","方法,这时element状态变为“inactive”状态。","旋转","无法连接。","无论是materialpageroute、cupertinopageroute,还是pageroutebuilder,它们都继承自pageroute类,而pageroutebuilder其实只是pageroute的一个包装,我们可以直接继承pageroute类来实现自定义路由,上面的例子可以通过如下方式实现:","无论是statelesswidget和statefulwidget的build方法都会传一个buildcontext对象:","日志:","时你会注意到有与缩放相关的参数)","时便会重新build,这时","时则不会。","时(如widget树结构发生了变化,导致element对应的widget被移除),这时该祖先element就会调用deactivatechild","时,performresize()","时,则冒泡继续。","时,才会触发重绘,这样便可以实现局部重绘。当","映射为原生控件树。","是","是dart所有对象的根基类,也就是说所有类型都是object的子类,所以任何类型的数据都可以赋值给object声明的对象,所以表现效果和dynamic相似。","是javascript与原生应用之间通信的桥梁,作用和jsbridge一样,事实上,在ios中,很多jsbridge的实现都是基于","是material库中提供的flutt","是material库中提供的页面脚手架,它包含导航栏和body以及floatingactionbutton(如果需要的话)。","是material组件库的一个widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:","是react","是一个javascript解释器,它在react","是一个widgetbuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。","是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的imageprovid","是不是有质感了!之所以会这样,是因为raisedbutton默认有配置阴影:","是使用","是否使用materialapp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个materi","是否在被点击的范围内,同时负责将被点击的","是否有设置代理。删除后问题即可解决。","是否自动获取焦点。","是应用的首页,它继承自statefulwidget类,表示它是一个有状态的widget(st","是必选的,它不支持通过其它方式创建组件,所以学习","是每次布局都会被调用的。sizedbypar","是芯片系列,如","显示效果如下:","显示效果:","更多","更多的配置属性读者可以参考paint类定义。","更改为","更新flutter应用程序启动图标的方式与在本机android或ios应用程序中更新启动图标的方式相同。","更新到了","更新启动页","更新应用在gpu上的渲染,此方法会直接调用flutt","更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。","更新环境变量","最内部renderpositionedbox再次松开约束,这次是将按钮中的文本居中。","最后","最后一步就是根据arb生成dart文件:","最后一步:添加多语言支持","最后再说一下为什么本书要开源。既然是电子工业出版社约的稿,就这么公开,难道将来就不会冲击实体书的销量?这个问题我是仔细考虑过的,很多写过书的人可能都知道,写技术书是不赚钱的,能收获的也就是一点点名气,而我吧却只喜欢钱,既然赚不到钱,那何不直接公开得了…当然还有另外一个原因就是要做实体书的话,最后和编辑校稿会花费很多时间,可是我实在是没时间了,很可能会放弃实体书出版,为了防止本书最后因不能正常出版而不能被大家看到,所以最终决定了开源。","最后,如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提pr。如果您想一起参与本书创作,可以参考《flutter实战》贡献指南。","最后,我们创建一个按钮,每点击一次,就将sharedatawidget的值自增:","最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。","最后,我们完成之前添加的onmethodcall方法。我们需要处理平台方法名为getbatterylevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getbatterylevel。","最后,我们完成之前添加的setmethodcallhandler方法。我们需要处理的平台方法名为getbatterylevel,所以我们在call参数中需要先判断是否为getbatterylevel。","最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。","最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。","最终效果如下:","最终显示效果是宽90,高60,也就是说是子constrainedbox的minwidth生效,而minheight是父constrainedbox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:","最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minwidth生效的是父constrainedbox,而minheight是子constrainedbox生效。","有renderobject","有一个animation参数,这是flutter路由管理器提供的,在路由切换时pagebuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。","有一个debugshowmaterialgrid参数,","有一个onpressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。","有一个底部导航","有一个抽屉菜单","有两点需要说明:","有了上面的设置,源码生成器将生成用于序列化name和email字段的json代码。","有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入flutter的世界!","有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同改变颜色,等到增长到最大高度后,我们需要在x轴上平移一段距离。这时我们就需要使用交错动画(stagger","有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用future的whencomplete回调,我们将上面示例改一下:","有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到ui界面上,应该怎么做?答案是future.wait,它接受一个future数组参数,只有数组中所有future都执行成功后,才会触发then的成功回调,只要有一个future执行失败,就会触发错误回调。下面,我们通过模拟future.delay","有关key和widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为widget显式添加key的话可能(但不一定)会使ui在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,我们只在构建列表项ui时会显式指定key。","有关上述步骤的详细信息,请参阅","有各种各样的工具和功能来帮助调试flutter应用程序。","有异常时则弹出错误提示","有很多状态,而每次状态改变都要调用build方法,由于状态是保存在state中的,如果将build方法放在statefulwidget中,那么构建时读取状态将会很不方便,试想一下,如果真的将build方法放在statefulwidget中的话,由于构建用户界面过程需要依赖state,所以build方法将必须加一个state参数,大概是下面这样:","有时代理服务器也启用了身份验证,这和http协议的认证是相似的,httpclient提供了对应的proxy认证方法和属性:","服务器会返回一个401","服务器验证用户凭据,如果通过就返回资源内容。","未读邮件数","本书后面事件处理一章中会实现一个全局事件总线。","本书后面示例中,路由默认都是通过scaffold创建。","本地化值由localizations的","本地化的代理类","本文档尚未完成,您可以:","本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改materialapp的theme属性。","本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:","本章将通过一些简单的示例来一步步介绍flutter的开发流程.","本章总结","本章目录","本篇主要介绍一下","本节主要介绍了listview的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过listview.custom来自定义,它需要实现一个sliverchilddelegate用来给listview生成列表项widget,更多详情请参考api文档。","本节主要介绍了一下flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对flutter细节的了解,再回过头来看,相信你会有更深的体会。","本节介绍一下flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像api文档一样所有属性都介绍,关于属性详细的信息请参考flutt","本节介绍了flutter","本节介绍了引用、下载、使用一个包的整体流程,并在后面介绍了多种不同的引入方式,这些是flutter开发中常用的,但dart的dependencies还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/depend","本节先来介绍一下原始指针事件(pointer","本节我们介绍了renderobject主要的功能和方法,理解这些内容可以帮助我们更好的理解flutt","本节我们先对flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下flutter官方提供的一张框架图:","本节我们实现一个圆形渐变进度条,它支持:","本节我们将实现一个turnbox,它可以以任意角度来旋转其子节点,并且在角度发生变化时可以执行一个动画过渡到新状态,同时,我们可以手动指定动画速度。","本节我们接着上一节\"获取电池电量\"插件的示例,来完成android端api的实现。以下步骤是使用java的示例,如果您更喜欢kotlin,可以直接跳到后面kotlin部分。","本节我们接着之前\"获取电池电量\"插件的示例,来完成ios端api的实现。以下步骤使用object","本节我们通过一个简单的示例说明了flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在demolocalizations类中获取title时手动的判断当前语言locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过dart","本节给大家一些学习建议,分享一下笔者在学习flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。","本节详细的介绍了element的生命周期,以及它与widget、buildcontext的关系,也介绍了element在flutt","来保存子节的keepalive状态。","来创建:","来定位他们相对于stack的上下左右四条边的位置。stacks是基于web开发中的绝对定位(absolut","来实现,该方法可以根据json字符串具体内容将其转为list或map,这样我们就可以通过他们来查找所需的值,如:","来执行","来更新ui这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。animatedwidget类封装了调用setstate()的细节,并允许我们将widget分离出来,重构后的代码如下:","来标记element为dirty的。在","来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下:","来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如:","来获取widget树中默认的focusscopenode。下面看一个示例,在此示例中创建两个textfield,第一个自动获取焦点,然后创建两个按钮:","来获取。并且我们也说过renderobject的主要职责是layout和绘制,所有的renderobject会组成一棵渲染树rend","来获取临时目录;","来获取当前buildcontext的assetbundle。","来赋值的,parent通常会通过子renderobject的parentdata存储一些和子元素相关的数据,如在stack布局中,renderstack就会将子元素的偏移数据存储在子元素的parentdata中(具体可以查看positioned实现)。","构建ui界面","构建ui界面的逻辑在build方法中,当myhomepage第一次创建时,_myhomepagestate类会被创建,当初始化完成后,flutter框架会调用widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_myhomepagestate的build方法中都干了什么事:","构建过程支持asset变体的概念:不同版本的asset可能会显示在不同的上下文中。","构建错误信息","构造函数","构造函数,","构造函数的各个参数的意义:","构造函数:","枚举值","查找,一直向上查找到是","查看“output”窗口中的输出是否有问题","标志,","标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解widget的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用widget时能够兼容或报错提示(使用assert断言函数)。","树中使用的一些类也具有tostringdeep,从该点返回整个子树的多行描述。已一些具有详细信息tostring的类会实现一个tostringshort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。","校验用户名","根widget","根据animation对象的控制方式,动画可以反向运行,甚至可以在中间切换方向。animation还可以生成除double之外的其他类型值,如:animation\\","根据你电脑屏幕大小,模拟高清屏ios设备可能会溢出屏幕。可以在模拟器的","根部的变换是应用设备像素比的变换;","框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,flutter就会自动弹出一个错误界面,这是因为flutter已经在执行build方法时添加了异常捕获,最终的源码如下:","框架代表","框架和flutter","检查renderobject是否需要重绘,然后更新renderobject.needscompositing属性,如果该属性值被标记为true则需要重绘。","概念","模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。","次'),","正如debugdumpapp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从fram","正如上文所述,","此代码只能暂时针对当前命令行窗口设置path环境变量,要想永久将flutter添加到path中请参考下面更新环境变量","此例中column包含两个","此处需要有一张插图","此外,可以使用专门的binarycodec、stringcodec和","此方法会直接调用flutter","此示例只展示了textstyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅sdk文档。值得注意的是:","此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。","此类的实例由materialapp类提供的localizationdelegate创建,","此行代码作用是导入了materi","此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china","步骤","步骤有两步:","每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是assets)。","每个person都有nam","每个委托必须定义一个异步load()","每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugprintstack()方法按需打印堆栈痕迹。","每次滚动结束,scrollabl","每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。","每点击一次按钮,计数器就会自增,控制台就会打印一句日志:","没有自己的layer,","注:","注册我们的deleg","注册路由表","注册,注意,不要在此类回调中再触发新的frame,这可以会导致循环刷新。","注意","注意:","注意animate()返回的是一个animation,而不是一个animatable。","注意,assetimag","注意,dart","注意,flutter中的很多widget是直接继承自statelesswidget或statefulwidget,然后在build()方法中构建真正的renderobjectwidget,如text,它其实是继承自statelesswidget,然后在build()方法中通过richtext来构建其子树,而richtext才是继承自leafrenderobjectwidget。所以为了方便叙述,我们也可以直接说text属于leafrenderobjectwidget(其它widget也可以这么描述),这才是本质。读到这里我们也会发现,其实statelesswidget和statefulwidget就是两个用于组合widget的基类,它们本身并不关联最终的渲染对象(renderobjectwidget)。","注意,flutter官方并没有对widget进行官方分类,我们对其分类主要是为了方便讨论和对widget功能的区分记忆。","注意,flutter的渠道版本会不停变动,请以flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去flutt","注意,http的方式除了basic认证之外还有:digest认证、client认证、form","注意,materi","注意,onhttpclientcreate会在当前dio实例内部需要创建httpclient时调用,所以通过此回调配置httpclient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。","注意,代码中的有renderview和renderviewelement两个变量,renderview是一个renderobject,它是渲染树的根,而renderviewelement是renderview对应的element对象,可见该方法主要完成了","注意,登录按钮的onpressed方法中不能通过form.of(context)来获取,原因是,此处的context为formtestroute的context,而form.of(context)是根据所指定context向根去查找,而formstate是在formtestroute的子树中,所以不行。正确的做法是通过builder来构建登录按钮,builder会将widget节点的context作为回调参数:","注意,虽然dart是先调用了opengl,opengl才会调用操作系统api,但是这仍然是原生渲染,因为opengl只是操作系统api的一个封装库,它并不像webview渲染那样需要javascript运行环境和css渲染器,所以不会有性能损失。","注意,虽然flutter的dart运行时和dart","注意,通过settrustedcertificates()设置的证书格式必须为pem或pkcs12,如果证书格式为pkcs12,则需将证书密码传入,这样则会在代码中暴露证书密码,所以客户端证书校验不建议使用pkcs12格式的证书。","注意,默认demo示例可能随着编辑器flutter插件版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。","注意:","注意:dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new","注意:http协议中虽然可以通过keep","注意:一个路由中包含多个scrollabl","注意:上面这些参数并非listview特有,在本章后面介绍的其它可滚动widget也可能会拥有这些参数,它们的含义是相同的。","注意:代码中注释的部分是不能正常工作的,因为这个context是根context,而notificationlistener是监听的子树,所以我们通过builder来构建raisedbutton,来获得按钮位置的context。","注意:使用gesturerecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。","注意:包在使用本身的资源时也应该加上package参数来获取。","注意:可滚动widget通过一个list来作为其children属性时,只适用于子widget较少的情况,这是一个通用规律,并非listview自己的特性,像gridview也是如此。","注意:在继承statefulwidget重写其方法时,对于包含@mustcallsuper标注的父类方法,都要在子类方法中先调用父类方法。","注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于","注意:由于本书并非专门介绍dart语言的书籍,所以本章主要会介绍一下在flutter开发中常用的语法特性,如果想更多了解dart,读者可以去dart官网学习,现在互联网上dart相关资料已经很多了。另外dart","注意:要使用math.pi需先进行如下导包。","注释1的\"messages_all.dart\"文件是通过intl_translation工具从arb文件生成的代码,所以在第一次运行生成命令之前,此文件不存在。注释2处的initializemessages()方法和\"messages_all.dart\"文件一样,是同时生成的。","注释3处和上一节示例代码不同,这里我们直接调用demolocalizations.load()即可。","流式布局","流式布局wrap、flow","测试代码运行后效果如下图:","混合应用的优点是动态内容是h5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。","混合开发技术点","混合管理","混合管理(父widget和子widget都管理状态)。","添加","添加flutter相关工具到path中:","添加以下路径:","添加到","添加到\"计数器\"示例的首页myhomepag","添加到text中,之所以可以这样做,是因为text其实就是richtext的一个包装,而richtext是可以显示多种样式(富文本)的widget。","添加后,执行flutter","添加回调。","添加固定表头","渐变色数组","渐变色的终止点,对应colors属性","渲染","渲染和绘制逻辑在renderbind","渲染层","渲染时需要javascript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。","源码及注释:源码注释应作为学习flutter的第一文档,flutt","源码可以看出只有","源码很简单,该方法主要任务是更新了所有被标记为“dirty”的renderobject的布局信息。主要的动作发生在node._layoutwithoutresize()方法中,该方法中会调用performlayout()进行重新布局。","源码:","滚动位置恢复","滚动监听","滚动监听及控制","滚动监听及控制scrollcontrol","灵活、组件库易维护、ui外观保真度和一致性高;由于ui渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。","灵活;由于我们需要自己实现flowdelegate的paintchildren()方法,所以我们需要自己计算每一个widget的位置,因此,可以自定义布局策略。","点击","点击container时,由于它在absorbpointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但absorbpointer本身是可以接收指针事件的,所以会输出\"up\"。如果将absorbpointer换成ignorepointer,那么两个都不会输出。","点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下:","点击、双击、长按","点击下面的\"赏\"按钮,请作者喝杯咖啡,鼓励继续创作~~","点击或指针事件回调","点击按钮则按钮文本会随机排序。","点击第一个按钮可以将焦点从第一个textfield挪到第二个textfield。","点击第二个按钮可以关闭键盘。","热重载应用,再次点击“open","热重载按钮","热重载(hot","焦点可以通过focusnode和focusscopenode来控制,默认情况下,焦点由focusscope来管理,它代表焦点控制范围,可以在这个范围内可以通过focusscopenode在输入框之间移动焦点、设置默认焦点等。我们可以通过focusscope.of(context)","然后pubspec.yaml文件中只需包含:","然后加载图像,使用:","然后将该对象用作其子对象。最终的结果是animatedbuilder返回的对象插入到widget树中。","然后我们可以通过如下方式使用它:","然后我们实现一个子widget","然后我们点击⚡️按钮热重载,控制台输出日志如下:","然后打开你应用程序的observatori","然后按回车键","然后授予执行权限:","然后暴露给webview以供javascript调用,这样一来,webview就成为了javascript与原生api之间通信的桥梁,主要负责javascript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于webview的用于在javascript与原生之间通信并实现了某种消息传输协议的工具称之为webview","然后点击","然后热重载,日志如下:","然后设置输入框controller:","然后访问","然后调用","然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;","然后选择","然后选择里面的","然后,将下面的新方法添加到activity类中的,位于oncr","然后,应用程序可以声明一个字体,如下面的示例所示:","然后,转到ios设备上的设置菜单,选择","父widget管理子widget状态。","父widget管理子widget的st","父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是","版本。","版本号可能随着时间推移会发生变化,读者可以使用最新版。","特定平台","特殊情况","状态。","状态管理","状态访问不便","环境变量设置为相应的sdk安装目录。","现在可以在hello中import","现在可以在ios上运行应用程序,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在可以在ios上运行该应用程序了,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,我们将在后面“动画”一章中实现一个完整的缩放widget。","现在就可以在android上运行该应用程序了,如果使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","现在就可以将customhome添加到widget树了,我们在一个新路由页创建它,最终效果如下:","现在我们可以在demolocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同:","现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名:","现在我们就完成了路由表的注册。","现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。","现在我们按住圆形“a”拖动然后抬起手指,控制台日志如下:","现在我们来介绍一下dart线程运行过程,如上图中所示,入口函数","现在我们看看flutter为什么选择dart语言?笔者根据官方解释以及自己对flutter的理解总结了以下几条(由于其它跨平台框架都将javascript作为其开发语言,所以主要将dart和javascript做一个对比):","现在画布有了,我们最后还缺一个画笔,flutter提供了paint类来实现画笔。在paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:","现在请读者自行查看handlebeginframe()","现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user.","现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列api供javascript调用,让javascript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。","现在,我们回答之前提出的问题,为什么build()方法在state(而不是statefulwidget)中","现在,我们将整个流程串起来:当右下角的floatingactionbutton按钮被点击之后,会调用_incrementcounter,在_incrementcounter中,首先会自增_counter计数器(状态),然后setstate会通知flutter框架状态发生变化,接着,flutter会调用build方法以新的状态重新构建ui,最终显示在设备屏幕上。","现在,我们来和qt","现在,我们重点来介绍一下behavior属性,它决定子widget如何响应命中测试,它的值类型为hittestbehavior,这是一个枚举类,有三个枚举值:","现在,无论是点击导航栏tab菜单还是在页面上左右滑动,tab页面都会切换,并且tab菜单的状态和tab页面始终保持同步。下面我们来看看代码,细心的读者可以发现,tabbar和tabbarview的controller是同一个!正是如此,tabbar和tabbarview正是通过同一个controller来实现菜单切换和滑动状态同步的。","理解state的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下state的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承statefulwidget,代码如下:","理论上可以使用任何文本编辑器与命令行工具来构建flutter应用程序。","生态系统得以快速增长,由此可见,flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!","生态;从github上来看,目前flutter活跃用户正在高速增长。从stackoverflow上提问来看,flutter社区现在已经很庞大。flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在stackoverflow或其github","生成文档","生成随机字符串","用android","用animatedbuilder重构","用animatedwidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在animatedwidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个animatedwidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而animatedbuilder正是将渲染逻辑分离出来,","用于从一个map构造出一个","用于创建和state","用于绑定平台消息通道(messag","用户名不能为空,如果为空则提示“用户名不能为空”。","用户手指按下:offset(26.3,","用途","由于android","由于dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,javascript是一个弱类型语言,也因此前端社区出现了很多给javascript代码添加静态类型检测的扩展语言和工具,如:微软的typescript以及facebook的flow。相比之下,dart本身就支持静态类型,这是它的一个重要优势。","由于flutter会同时构建android和ios两个平台的发布包,所以flutter同时依赖android","由于globalkey要保持全局唯一性,我们使用静态变量存储","由于json.decode()仅返回一个map,这意味着直到运行时我们才知道值的类型。","由于rn和react原理相通,并且flutter也是受react启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下react原理。react是一个响应式的web框架,我们先了解一下两个重要的概念:dom树与响应式编程。","由于rotatedbox是作用于layout阶段,所以widget会旋转90度(而不只是绘制的内容),decoration会作用到widget所占用的实际空间上,所以就是上图的效果。读者可以和前面transform.rotate示例对比理解。","由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,listview会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。","由于在国内访问flutter有时可能会受到限制,flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:","由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:","由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的api供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的api是比较复杂和低效的,因为操作系统提供的api往往比较基础,直接调用需要了解api的很多细节。正是因为这个原因,几乎所有用于开发gui程序的编程语言都会在操作系统之上再封装一层,将操作系统原生api封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发gui应用程序,而这一层抽象,正是我们所说的“ui”系统,如android","由于本身功能较多,这里我们只介绍其常用的api及特性。还有,请记住,futur","由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生ui系统限制,例如,在android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。","由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在ui需要变化时,可以直接通过矩阵变化来达到视觉上的ui改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的flow","由于第一个text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字有重合部分。","由于第一个子widget","画图像","画圆","画圆弧","画椭圆","画点","画矩形","画笔paint","画线","画路径","界面如下:","登录按钮","的","的column的子widget中。","的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的","的全路径作为它的值.","的大小了,于是","的大小,那么","的布局状态标记为","的必要基础。而react","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用”","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用。","的报错信息,请检查","的概念:","的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。","的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。","的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个ui系统:可以使用同一种编程语言开发,然后针对不同操作系统api抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而flutter的原理正是如此,它提供了一套dart","监听文本变化","监听文本变化也有两种方式:","监听来自服务器的消息","监听来自服务器的消息。","监听滚动通知","监听焦点变化","监听焦点状态改变事件","监听系统语言切换","目前android","目前混合开发框架的典型代表有:cordova、ion","目前,flutter中文官网日pv在5w左右,每日独立访问人数8000多。","目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为aot","目录","直接使用语句级单步调试器连接到您的应用程序。如果您使用的是intellij,则还可以使用其内置的调试器来调试您的应用程序。","相似,repaintboundary是用于在确定重绘边界的,与","相反,flutter使用自己的高性能渲染引擎来绘制widget。这样不仅可以保证在android和ios上ui的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。","相同,故不再赘述。","相对于混合应用,由于react","省略无关代码","看一个例子:","看似不起眼,实则举足轻重。由于有dart团队的积极投入,flutter团队可以获得更多、更方便的支持,正如flutter官网所述“我们正与dart社区进行密切合作,以改进dart在flutter中的使用。例如,当我们最初采用dart时,该语言并没有提供生成原生二进制文件的工具链(这对于实现可预测的高性能具有很大的帮助),但是现在它实现了,因为dart团队专门为flutter构建了它。同样,dart","看完element的生命周期,可能有些读者会有疑问,开发者会直接操作element树吗?其实对于开发者来说,大多数情况下只需要关注widget树就行,flutter框架已经将对widget树的操作映射到了element树上,这可以极大的降低复杂度,提高开发效率。但是了解element对理解整个flutt","真正的绘制逻辑","矢量的:iconfont都是矢量图标,放大不会影响其清晰度。","硬件加速.","硬件绘图基本原理","确保xcode许可协议是通过打开一次xcode或通过命令sudo","确保xcode项目的构建没有错误。","确保与在flutter客户端使用的通道名称相同。","确定您flutter","磁盘空间:","示例","示例中的spacer的功能是占用指定比例的空间,实际上它只是expanded的一个包装:","示例:","示例:javascript调用原生api获取手机型号","示例:五子棋/盘","示例:登录输入框","示例:自定义渐变按钮","社区","禁用时的阴影","移动开发技术简介","空白(如没有任何子节点的container)以灰色显示。","竞争","第一个flutter应用","第一次运行flutter命令(如flutt","第一步:创建dart包","第一步:创建必要目录","第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:","第一:qt移动开发社区太小,学习资料不足,生态不好。","第三部:添加需要国际化的属性","第三:移动端发力较晚,市场已被其它动态化框架占领(hybrid和rn)。","第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下flutter中重要的notification机制。","第二步:实现localizations和delegate类","第二:官方推广不利,支持不够。","第五步:生成dart代码","第四步:生成arb文件","第四:在移动开发中,c++开发和web开发栈相比有着先天的劣势,直接结果就是qt开发效率太低。","等回调。它flutter","等回调。它是渲染树与flutter","等待android","等待连接服务器","等待项目创建继续,并显示main.dart文件","答案就在paintchild()源码中:","简介","简化代码,并非源码","简单概括就是:组合和响应式。我们要开发一个ui界面,需要通过组合其它widget来实现,flutter中,一切都是widget,当ui要发生变化时,我们不去直接修改dom,而是通过更新状态,让flutt","简称","管理_activ","管理_active状态.","管理_highlight","管理tapboxa的状态。","管理对象表的原因。","管理状态.","管理自身状态.","类:","类不同,","类中已经有了一个build方法,正如上面所述,此时build方法需要接收一个state对象,这就意味着animatedwidget必须将自己的state对象(记为_animatedwidgetstate)提供给其子类,因为子类需要在其build方法中调用父类的build方法,代码可能如下:","类中有三个framecallback回调队列,","类似于javascript中的var,它可以接收任何类型的变量,但最大的不同是dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如:","类似于原生开发,flutter也可以为当前设备加载适合其分辨率的图像。","类型,","类型一旦确定后则不能再更改其类型。","类型安全","类类定义了许多常用的曲线,也可以创建自己的,例如:","精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。","系统可随时清除的临时目录(缓存)。在ios上,这对应于nstemporarydirectory()","系统字体缩放变化回调","系统能力调用","系统要求","约束条件为","纵轴(垂直)方向间距","线性布局row、column","线性布局row和column","组件库提供的本地化的字符串和其他值,它可以使materi","组件库的本地化字符串由materiallocalizations类定义,","组件的简单演示应用程序。","组合其它widget","组合是自定义组件最简单的方法,在任何需要自定义的场景下,都应该优先考虑是否能够通过组合来实现。而自绘和通过实现renderobject的方法本质上是一样的,都需要开发者调用canva","细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的flatbutton换成raisedbutton就行,其它代码不用改,换了之后我们看看效果:","细心的读者可能已经发现上面示例中通过addlistener()和setstate()","绘制","绘制前回调,一般会受显示器的垂直同步信号vsync驱动,当屏幕刷新时就会被调用","绘制回调","绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个widget,并设置其shouldrepaint回调值为false,然后将棋盘widget作为背景。然后将棋子的绘制放到另一个widget中,这样落子时只需要绘制棋子。","绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:","绘制的很频繁或很复杂时,可以通过repaintboundari","绘制过程","给子节点创建一个layer","给每一个动画对象指定间隔(interval)","给目标statefulwidget添加globalkey","继承statefulwidget不便","继承statelesswidget类,因为所有状态都由其父widget处理。","综上所述,可以发现,对于statefulwidget,将build方法放在state中,可以给开发带来很大的灵活性。","综上所述,我们可以看到当路由需要参数时,使用命名路由则不够灵活。","综上所述,我们的证书校验其实就是提供一个badcertificatecallback回调,下面通过一个示例来说明。","综上所述,笔者还是很看好dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。","缘起","缩放","缺少依赖库问题","缺点:","网络操作","美国英语","而boxconstraints.tightfor(width:","而package中主要的功能的源码都在src目录下。shelf","而rn中将虚拟dom映射为原生控件的过程中分两步:","而在dart中几乎是完全平移了javascript中的这两者:future相当于promise,而async/await连名字都没改。接下来我们看看通过future和async/await如何消除上面示例中的嵌套问题。","而实际上constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的,我们可以看到constrainedbox和sizedbox的createrenderobject()方法都返回的是一个renderconstrainedbox对象:","而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对dom进行操作,这会带来性能问题,而批量操作只会触发一次dom更新。","背景画笔,会显示在子节点后面;","背景色","背景装饰","脚本我们通过dart来写,源码如下:","自今年我们在github建立官方账号以来,前后开源了cookiejar、dio、flukit等多个项目,而dio在开源两周后,就迅速成为flutter第三方包中star排名第一的开源库。","自动化生成模板","自动生成model","自定义widget","自定义widget方法简介","自定义平台通道和编解码器","自定义按钮外观","自定义样式","自定义路由切换动画","自定义路由过渡动画","自定义通知","自绘","自绘ui+原生","自绘ui+原生(qt","自绘控件非常强大,理论上可以实现任何2d图形外观,实际上flutter提供的所有widget最终都是调用canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的widget的源码,找到其对应的renderobject对象,如text","至此真相大白,buildcontext就是widget对应的element,所以我们可以通过context在statelesswidget和statefulwidget的build方法中直接访问element对象。我们获取主题数据的代码theme.of(context)内部正是调用了element的inheritfromwidgetofexacttype()方法。","至此,react","至此,我们将使用intl包对app进行国际化的流程介绍完了,我们可以发现,其中第一步和第二步只在第一次需要,而我们开发时的主要的工作都是在第三步。由于最后两步在第三步完成后每次也都需要,所以我们可以将最后两步放在一个shell脚本里,当我们完成第三步或完成arb文件翻译后只需要分别执行该脚本即可。我们在根目录下创建一个intl.sh的脚本,内容为:","至此,我们已经介绍了flutter","至此,我们的脚本写好了,我们在根目录下新建一个json目录,然后把user.json移进去,然后在lib目录下创建一个models目录,用于保存最终生成的model类。现在我们只需要一句命令即可生成model类了:","获取flutter","获取formstate后,","获取一下,","获取应用目录","获取当前区域local","获取的locale就会更新。","获取的locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,这时我们就需要监听locale改变事件。","获取输入内容","获取输入内容有两种方式:","获取项目所有依赖包的最新版本。","获得焦点时focusnode.hasfocus值为true,失去焦点时为false。","菜单下设置设备比例。","菜单中的设置,确保模拟器正在使用64位设备(iphon","菜单图标","菜单文本","虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应考虑优先使用pageroutebuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候pageroutebuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承pageroute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isactive属性是否为true,代码如下:","虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。","虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果:","虽然这非常方便,但如果我们不需要每次在model类中进行更改时都要手动运行构建命令的话会更好。","衡量应用启动时间","表单form","装饰容器decoratedbox","要为ios开发flutter应用程序,您需要xcod","要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugprintmarkneedslayoutstacks和","要使用package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建textstyle的过程如下:","要使用tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。","要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或semanticsdebugg","要关闭调试模式并使用发布模式,请使用flutter","要准备在android模拟器上运行并测试flutter应用,请按照以下步骤操作:","要准备在android设备上运行并测试flutter应用,需要android","要准备在ios模拟器上运行并测试flutter应用,请按以下步骤操作:","要创建交错动画,需要使用多个动画对象","要加载依赖包中的图像,必须给assetimage提供package参数。","要加载图片,可以使用","要包含json_serializable到我们的项目中,我们需要一个常规和两个开发依赖项。简而言之,开发依赖项是不包含在我们的应用程序源代码中的依赖项,它是开发过程中的一些辅助工具、脚本,和node中的开发依赖项相似。","要包含第一张图像,必须在pubspec.yaml的assets部分中声明它:","要升级flutter","要安装并运行flutter,您的开发环境必须满足以下最低要求:","要将flutter应用安装到ios真机设备,需要一些额外的工具和一个apple帐户,还需要在xcode中进行一些设置。","要将启动屏幕(splash","要将图片添加到启动屏幕(splash","要将字体打文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如:","要序列化一个user,我们只是将该user对象传递给该json.encode方法。我们不需要手动调用tojson这个方法,因为`json.encode内部会自动调用。","要开始您的第一个ios开发项目,您可能需要使用您的appl","要想使用命名路由,我们必须先提供并注册一个路由表(rout","要执行自定义性能跟踪和测量dart任意代码段的wall/cpu时间(类似于在android上使用systrace)。","要找出相对于帧的开始/结束事件发生的位置,可以切换debugprintbeginframebanner和debugprintendframebanner布尔值以将帧的开始和结束打印到控制台。","要收集有关flutter应用程序启动所需时间的详细信息,可以在运行flutt","要查更改,请调用","要查看您的更改,请调用","要检索由localizationsdeleg","要获得应用程序性能图,请将materialapp构造函数的showperformanceoverlay参数设置为true。","要调用debugdumprendertree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。","要转储widgets库的状态,请调用debugdumpapp()。","要通过路由名称来打开新路由,可以使用:","观其发展,在2018年5月份,flutter","解决依赖冲突","解决方法如下:","解压安装包到你想安装的目录,如:","解释:第一个row很简单,默认为居中对齐;第二个row,由于mainaxissize值为mainaxissize.min,row的宽度等于两个text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个row设置textdirection值为textdirection.rtl,所以子widget会从右向左的顺序排列,而此时mainaxisalignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个row测试的是纵轴的对齐方式,由于两个子text字体不一样,所以其高度也不同,我们指定了verticaldirection值为verticaldirection.up,即从低向顶排列,而此时crossaxisalignment值为crossaxisalignment.start表示底对齐。","计数器应用示例","计数器示例","让app支持多语言","让您的应用继续运行.","让您的应用继续运行。","让我们看看如何将我们的user类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化json","讲到这里,读者可能发现flutter","设为新的,由此可以看出","设置app图标","设置controller:","设置onchange回调,如:","设置其孩子的约束为:boxconstraints(0.0flatbutton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是materi","设置它的最简单方法是在void","设置状态的自增函数。","设置给了子树column节点处,这样一来column的所有子孙text默认都会继承该样式,除非text显示指定不继承样式,如代码中注释2。示例运行效果如下:","设置默认值,并从第三个字符开始选中后面的字符","设计规范中有些是不能自定义的,如导航栏高度,themedata只包含了可自定义部分。","证书校验","试想一下,如果我们的state","该package提供了一个websocketchannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。","该streambuild","该stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与future返回单个异步响应不同,stream类可以随着时间推移传递很多事件。","该widget在应用程序的根部创建了一些有用的widget,比如一个theme,它配置了应用的主题。","该函数是该tostring方法用来填充小部件描述信息的。","该命令会同时更新flutter","该命令检查你的环境并在命令行窗口中显示报告。dart","该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。","该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为:","该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为:","该应用的state类拥有当前的应用状态。我们需要延长这一点以保持当前的电量","该方法用于添加用户凭据,如:","该方法直接调用了renderbinding的drawframe()方法:","该方法负责创建根","该方法进行了最终的绘制,可以看出它不是重绘了所有","该标志用橙色或轮廓线标出每个层的边界,或者使用debugrepaintrainbowenabled标志,","该计数器示例中,每点击一次右下角带“➕”号的悬浮按钮,屏幕中央的数字就会加1。","该调用可能失败(平台不支持平台api,例如在模拟器中运行时),所以我们将invokemethod调用包装在tri","详细的文档语法请参考dartdoc","语义","语义化","语义化即semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解ui内容。如果一个renderobject要支持语义化接口,可以实现","语法中很多地方也都借鉴了java和javascript。","语法是基于","语法而创造。与","请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。","请求","请求:","请求结束,关闭httpclient","请确保运行flutter","请阅读下面代码,想象一下运行的结果:","读取响应内容","读取点击次数(以字符串)","读者可以运行示例看看效果。","读者应该将这两点牢记在心中。","调度","调度frame,该方法执行后,onbeginframe和ondrawframe将紧接着会在合适时机被调用,","调用","调用android","调用validate()方法校验用户名密码是否合法,校验","调用widget.createel","调用函数时,可以使用指定命名参数。例如:paramname:","调用系统api渲染","调试flutter","调试flutter应用","调试动画","调试动画最简单的方法是减慢它们的速度。为此,请将timedilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。","调试应用程序层","调试性能问题","调试模式断言","资源","资源管理","起步","跟踪dart代码性能","跟踪的分支,要切换分支,可以使用flutter","跟踪输出保存为start_up_info.json,在flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:","跨平台技术简介","跨平台自绘引擎","路径可以是相对的,也可以是绝对的。","路由(route)在移动开发中通常指页面(page),这跟web开发中单页应用的route概念意义是相同的,route在android中通常指一个activity,在ios中指一个viewcontroller。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是android还是ios,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。","路由a","路由b:","路由管理","路由表","转到","输入","输入框内编辑文本在水平方向的对齐方式。","输入框及表单","输入框和表单","输入项目名称","运行","运行上面两个示例,图片加载成功后显示如下:","运行代码生成程序","运行后效果如下:","运行后点击右下角悬浮按钮则可以切换主题:","运行后界面如下:","运行后,一切都将自动执行,现在好多了,不是吗?","运行后,就可以在任意方向拖动了:","运行后:","运行启动你应用程序","运行应用程序","运行效果如下(彩色):","运行效果如下:","运行效果:","运行此命令后,会将我们之前通过intl","运行结果:","运行:","返回值是一个locale,此locale为flutt","返回的值。在android上,这是getcachedir())返回的值。","还有一个问题,通过repaintboundari","还有很多其它方法,如navigator.replace、navigator.popuntil等,详情请参考api文档或sdk源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。","这一步可以使用任意http","这一步和windows下步骤一致,不再赘述。","这一步完成后,请求信息就已经发送给服务器了,返回一个httpclientresponse对象,它包含响应头(header)和响应流(响应体的stream),接下来就可以通过读取响应流来获取响应内容。","这一类问题是由于无法连接到","这与在flutter应用程序或任何其他dart项目中引用软件包没有什么不同。","这个key属性类似于react/vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canupdate()方法中。","这个平台方法的实现只需调用我们在前一步中编写的android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的api,我们也会通知返回:","这个平台方法的实现只需调用我们在前一步中编写的ios代码,并使用result参数返回成功或错误的响应。如果调用了未定义的api,我们也会通知返回:","这个应用程序:","这个想法听起来不错,书最大的好处就是可以系统性的介绍一门新技术,但由于我平时工作太忙,周末时间已经有很多花费在维护中文网和开源项目上了,所以此事不得不推迟,而直到今天,你现在看到的,也仍然不是完整的内容,目录灰色的部分都还没有写,那什么时候能写完?","这个方法中有一个scene对象,scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将canvas画好的scene传给window.render()方法,该方法会直接将scene信息发送给flutt","这个是默认的locale资源文件,如果我们现在要支持中文简体,只需要在该文件同级目录创建一个\"intl_zh_cn.arb\"文件,然后将\"intl_messages.arb\"的内容拷贝到\"intl_zh_cn.arb\"文件,接下来将英文翻译为中文即可,翻译后的\"intl_zh_cn.arb\"文件内容如下:","这个特殊的localizations.of()表达式会经常使用,所以materiallocalizations类提供了一个便捷方法:","这也关闭了observatory调试器。一个中间模式可以关闭除observatory之外所有调试辅助工具的,称为“profil","这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入","这些例子功能是相似的","这些具有弹性空间的布局类widget可让您在水平(row)和垂直(column)方向上创建灵活的布局。其设计是基于web开发中的flexbox布局模型。","这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像","这些实现类分别称为defaultmateriallocalizations和defaultwidgetslocalizations。flutter_loc","这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件:","这些错误是完全正常的,这是因为model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法:","这会将依赖包安装到您的项目。您可以在控制台中看到以下内容:","这句命令在首次运行时会在\"lib/i10n\"目录下生成多个文件,对应多种locale,这些代码便是最终要使用的dart代码。","这可以帮助您确定某个对象是否以某种不正确的方式进行hit测试(flutter检测点击的位置是否有能响应用户操作的widget),例如,如果它实际上超出了其父项的范围,首先不会考虑通过hit测试。","这将在hello/文件夹下创建一个具有以下专用内容的package工程:","这将显示两个图表。第一个是gpu线程花费的时间,最后一个是cpu线程花费的时间。","这就是为什么如果你看转储,你会看到特定的对象标记为“dirty”。您还可以查看已注册了哪些手势监听器;","这就是为什么要用local","这应该始终在发布模式(releas","这意味着如果您不在应用程序的main()方法中调用runapp","这时,我们只需要简单修改一下json,添加一些特殊标志,重新运行mo.sh即可:","这是一个setter,类型是一个回调,当服务器需要用户凭据且该用户凭据未被添加时,httpclient会调用此回调,在这个回调当中,一般会调用addcredential()来动态添加用户凭证,例如:","这是一个“扁平化”的树,显示了通过各种构建函数投影的所有widget(如果你在widget树的根中调用tostringdeepwidget,这是你获得的树)。","这是一个封装print,它将输出限制在一个级别,避免被android内核丢弃。","这是一个很有意思,但也很有争议的问题,在了解flutter为什么选择了","这是一个纯","这是一种写法","这是因为单词对是在","这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。","这是根layer的tostringdeep输出的。","这是第二种写法","这样一来,我们app中所有调用print方法输出日志的行为都会被拦截,通过这种方式,我们也可以在应用中记录日志,等到应用触发未捕获的异常时,将异常信息和日志统一上报。zonespecification还可以自定义一些其他行为,读者可以查看api文档。","这样一来,结合上面的fluttererror.onerror我们就可以捕获我们flutter应用中全部错误了!需要注意的是,error","这样会较好,","这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。","这样很显然是不合理的,因为","这样我们就可以处理那些flutter为我们捕获的异常了,接下来我们看看如何捕获其它异常。","这样的话就只能将state的所有状态声明为公开的状态,这样才能在state类外部访问状态,但将状态设置为公开后,状态将不再具有私密性,这样依赖,对状态的修改将会变的不可控。将build()方法放在state中的话,构建过程则可以直接访问状态,这样会很方便。","这样,当在美国英语和中文简体之间切换系统语言时,app的标题将会分别为“flutt","这样,最初的示例就可以改为:","这样,调用代码就不用担心json序列化了,但是,model类还是必须的。在实践中,user.fromjson和user.tojson方法都需要单元测试到位,以验证正确的行为。","这样,调用代码现在可以具有类型安全、自动补全字段(name和email)以及编译时异常。如果我们将拼写错误字段视为int类型而不是string,","这种方式是通过拼装其它低级别的widget来组合成一个高级别的widget,例如我们之前介绍的container就是一个组合widget,它是由decoratedbox、constrainedbox、transform、padding、align等组成。","这种方法不是使用应用程序构建的默认asset","这类框架主要原理就是将app的一部分需要动态变动的内容通过h5来实现,通过原生的网页加载控件webview","这触发了一次性构建,我们可以在需要时为我们的model生成json序列化代码,它通过我们的源文件,找出需要生成model类的源文件(包含@jsonserializable标注的)来生成对应的.g.dart文件。一个好的建议是将所有model类放在一个单独的目录下,然后在该目录下执行命令。","这里缺一张生命周期图","这里,我们使用文件来保存数据:","进入","进入flutter引擎时.","进入了","进入了正式版(1.0)发布前的最后阶段。","进入当前所在项目名/android","进度条的总弧度,2*pi为整圆,小于2*pi则不是整圆","进度条背景色","进行","进行关联,即创建出","进行重绘,而context.paintchild在重绘时使用了转换矩阵(transform","进阶","连接android模拟器","连接android真机设备","连接ios模拟器","连接ios真机设备","连接不上android","连接到websocket服务器","连接到websocket服务器。","连接的设备名是","连接设备运行flutter应用","追加","选择","选择一个设备并选择","选择一个运行该应用的android设备。如果没有列出可用,请选择","通常,可以使用defaultassetbundle.of()在应用运行时来间接加载asset(例如json文件),而在widget上下文之外,或其它assetbundle句柄不可用时,可以使用rootbundle直接加载这些asset,例如:","通知notif","通过","通过_formkey.currentst","通过android","通过animatedbuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个growtransition来说明,它可以对子widget实现放大动画:","通过builder来获取raisedbutton所在widget树的真正context(element)","通过context.canvas可以取到canvas对象,接下来就可以调用canva","通过controller监听,如:","通过controller直接获取。","通过controller获取输入框内容","通过formdata上传多个文件:","通过future回调中再返回future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:","通过globalkey来获取state对象","通过httpclientrequest可以设置请求header,如:","通过httpclient发起http请求","通过json.decode()","通过notificationlistener可以在从scrol","通过rootbundl","通过switch和checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父widget来管理状态,然后当用户点击时,再通过事件通知给父widget,这样是合理的,因为switch和checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义widget时也应该思考一下哪种状态的管理方式最为合理。","通过tabbar我们只能生成一个静态的菜单,如果要实现tab页,我们可以通过tabcontroller去监听tab菜单的切换去切换tab页,代码如:","通过上一节介绍,我们可以发现直接使用httpclient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、cookie管理等就会非常繁琐。幸运的是,dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。","通过上面介绍,相信你对dart应该有了一个初步的印象,由于笔者平时也使用java和javascript,下面笔者根据自己的经验,结合java和javascript,谈一下自己的看法。","通过上面示例,我们发现有多重限制时,对于minwidth和minheight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。","通过了命中测试,需要响应事件,反之则认为当前renderbox没有命中。在继承renderbox时,可以直接重写hittest()方法,也可以重写","通过后再提交数据。","通过在我们的项目根目录下运行:","通过它可以轻松访问主资源包,直接使用package:flutter/services.dart中全局静态的rootbundle对象来加载asset即可。","通过将singletickerproviderstatemixin添加到state的定义中,然后将state对象作为vsync的值,这在后面的例子中可以见到。","通过检查模拟器","通过组合现有widget实现","通过组合现有widget实现自定义widget","通过组合的方式定义widget和我们之前写界面并无差异,不过在抽离出单独的widget时我们要考虑代码规范性,如必要参数要用@requir","通过路由名打开新路由页","通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,flutter封装了一个icondata和icon来专门显示字体图标,上面的例子也可以用如下方式实现:","通过这种widget组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。","通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个json在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。","通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;","速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;","遵循xcode签名流程来配置您的项目:","那statelesswidget和statefulwidget的build方法传入的context对象是哪个实现了buildcontext的类。我们顺藤摸瓜,发现调用时发生在statelesswidget和statefulwidget对应的statelesselement和statefulelement的build方法中,以statelesselement为例:","那么buildcontext到底是什么呢,查看其定义,发现其是一个抽象接口类:","那么我们可以使用@jsonkey标注:","那么我们的代码就不会通过编译,而不是在运行时崩溃。","那么有什么方法可以彻底去除父boxconstraints的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的widget时,如果对子widget指定限制时一定要注意,因为一旦指定限制条件,子widget如果要进行相关自定义大小时将可能非常困难,因为子widget在不更改父widget的代码的情况下无法彻底去除其限制条件。","那么这两个graphics/background.png和graphics/dark/background.png","那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。","部分。","都将包含在您的asset","配置xcode命令行工具以使用新安装的xcode版本","配置与使用","采用dart语言开发","采用web开发技术栈,社区庞大、上手快、开发成本相对较低。","重启android","重启windows以应用此更改.","重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在app启动后用户再改变系统语言时load方法将不会被调用,所以locale资源将不会被加载。事实上,每当locale改变时flutter都会再调用load方法加载新的locale,无论shouldreload返回true还是false。","重新创建时再恢复。如果scrollcontroller.keepscrolloffset为false,则滚动位置将不会被存储,scrol","重新启动","重新运行mo.sh,生成的user.dart如下:","重绘","针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指android和ios两个平台),根据其原理,主要分为三类:","锁定事件","间接继承自element类,与statefulwidget相对应(作为其配置数据)。statefulelement中可能会多次调用createstate()来创建状态(state)对象。","间接继承自element类,与statelesswidget相对应(作为其配置数据)。","队列。","除了flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:","除了pushnamed方法,还有pushreplacementnamed等其他管理命名路由的方法,读者可以自行查看api文档。","除了上面提到的methodchannel,还可以使用basicmessagechannel,它支持使用自定义消息编解码器进行基本的异步消息传递。","除了通用属性,我们重点看一下reverse和primary两个属性:","随着学习flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时有些吃力,而这主要的原因是没有一个资料去系统的学习flutter。","需要安装两个插件:","需要注意的是,scrollcontroller的animateto()","需要注意的是:由于renderbinding只是一个mixin,而with它的是widgetbinding,所以我们需要看看widgetbinding中是否重写该方法,查看widgetbinding的drawframe()方法源码:","需要注意的有三点:","页面标题","项目下提issue。","颜色固定黑色\")","颜色跟随主题\")","首先创建一个新的应用程序:","首先在android","首先在原生中实现获取手机型号的api","首先打开xcode中flutter应用程序的ios部分:","首先,在项目根目录下创建一个i10n","首先,我们构建通道。我们使用methodchannel调用一个方法来返回电池电量。","首先,我们通过继承inheritedwidget,将当前计数器点击次数保存在sharedatawidget的data属性中:","首先,添加需要导入的依赖。","首次推出了一款新的用于创建跨平台、高性能的移动应用框架——flutter。","首页","验证avd配置是否正确,然后选择","验证“flutter/bin”是否已在path中:","验证无误后,我们就可以运行发布命令了:","验证配置","高","高度增长到300后,开始沿x轴向右平移100像素;这个过程占用整个动画时间的40%。","高性能","默认不支持","默认情况下,animationcontroller对象值的范围是0.0到1.0。如果我们需要不同的范围或不同的数据类型,则可以使用tween来配置动画以生成不同的范围或数据类型的值。例如,像下面示例,tween生成从","默认情况下,flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他materialapp属性,并包含一个名为“flutter_localizations”的包。","默认情况下,flutter使用的android","默认情况下,模板支持使用java编写android代码,或使用object","默认构造函数","默认构造函数有一个children参数,它接受一个widget列表(list)。这种方式适合只有少量的子widget的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建。实际上通过此方式创建的listview和使用singlechildscrollview+column的方式没有本质的区别。下面是一个例子:","默认的样式风格,我们使用material作为本路由的根。","!=","(ahead","(int","(react","(下面讨论)。","(主资源),后者被认为是一种变体(variant)。","(如果已经安装了brew,跳过此步骤)。","(或者更具体地说,如果您不调用window.render去响应window.ondrawframe)的话,","(非首次绘制),该方法会将被标记为“dirty”",")",")=>",")是google官方的dart",")的任何时间调用此方法(在调用runapp()之后)。",",mount方法中首先调用elment所对应widget的createrenderobject方法创建与element相关联的renderobject对象,然后调用element.attachrenderobject方法将element.renderobject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。",",也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。",",使用json字符串作为参数:",",其中",",则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢?",",在其中添加:sourc",",在搜索结果列表中选择",",如assetimage是实现了从asset中加载图片的imageprovider,而networkimage实现了从网络加载图片的imageprovider。",",如果一个应用的大多数功能都是h5实现的话,我们称其为web",",如果在then中返回的是一个future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。",",如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过renderobject的parentdata属性来保存的。在renderbox中,其parentdata属性默认是一个boxparentdata对象,该属性只能通过父节点的setupparentdata()方法来设置:",",如此递归完成整个ui的布局。",",它实现了一个交错gridview的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。",",它是用于控制/监听tab菜单切换。然后通过tabbar生成了一个底部菜单栏,tabbar的tabs属性接受一个widget数组,表示每一个tab子菜单,我们可以自定义,也可以像示例中一样直接使用tab",",当build函数引用了inheritedwidget时,会创建对inheritedwidget的隐式依赖关系。当inheritedwidget发生更改时,即loc",",当盒子被点击时调用。",",所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。",",打开appdelegate.m",",正因如此,customscrollview才可以将多个sliver\"粘\"在一起,这些sliver共用customscrollview的scrollable,最终实现统一的滑动效果。",",灰色为false。",",然后再上面绘制子节点",",然后将",",然后打开appdelegate.swift",",表示是否为三态,其默认值为fals",",这时checkbox有两种状态即“选中”和“不选中”,对应的value值为true和fals",",这样其他开发者就可以轻松使用它。",",采用混合模式开发的app我们称之为混合应用或hybrid",",重启",":maxlength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxlengthenforced决定当输入文本长度超过maxlength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。",":子widgets数组。",":由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。",";如果其值为true时,value的值会增加一个状态null,读者可以自行了解。",";而容器类widget一般只需要接受一个子widget(child),他们直接或间接继承自(或包含)singlechildrenderobjectwidget。","?这主要是为了开发的灵活性。如果将build()方法在statefulwidget中则会有两个问题:","~/.bash_profil","~/.zshrc"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"缘起","keywords":"","body":"\n\n缘起\n在全球,随着Flutter被越来越多的知名公司应用在自己的商业APP中,Flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当Google在2018年IO大会上发布了第一个Preview版本后,国内刮起来一股学习Flutter的热潮。\n为了更好的方便帮助中国开发者了解这门新技术,我们,Flutter中文网,前后发起了Flutter翻译计划、Flutter开源计划,前者主要的任务是翻译Flutter官方文档,后者则主要是开发一些常用的包来丰富Flutter生态,帮助开发者提高开发效率。而时至今日,这两件事取得的效果还都不错!\n目前,Flutter中文官网日PV在5W左右,每日独立访问人数8000多。\n自今年我们在github建立官方账号以来,前后开源了cookieJar、dio、flukit等多个项目,而dio在开源两周后,就迅速成为Flutter第三方包中Star排名第一的开源库。\n之前,有很多次被没用过Flutter但对其保持好奇的开发者问到”Flutter的性能究竟怎样?“,”开发体验真的好吗?“这类问题。当时之所以会有很多这样的问题,主要的原因就是那时Flutter的成功案例太少,虽然国内闲鱼是第一个引入Flutter的商业应用,但初期也只是在很少的页面使用了Flutter,Flutter究竟能否适合用于完整项目缺乏考验。那时,我就想如果能用Flutter开发一个完整的APP发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下Flutter的流畅度,这样有个直观的了解后,就会容易做出判断,为此,我开发了Gitme,它是一个Github客户端,它支持了源码浏览、Issue、Label等Github的大多数功能。到目前为止,通过Gitme登录过Github账号的用户有5000多,日活用户有500。更重要的是,有很多人正是用了Gitme后,才来学flutter的。\n虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。\n随着学习Flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时有些吃力,而这主要的原因是没有一个资料去系统的学习Flutter。\n我们虽然翻译了官方文档,但是对于海量的SDK文档,基本很难去全部翻译。而那时,电子工业出版社正好找到了我,希望我能写一本Flutter实战类的书籍。\n这个想法听起来不错,书最大的好处就是可以系统性的介绍一门新技术,但由于我平时工作太忙,周末时间已经有很多花费在维护中文网和开源项目上了,所以此事不得不推迟,而直到今天,你现在看到的,也仍然不是完整的内容,目录灰色的部分都还没有写,那什么时候能写完?\n如果只靠我一个人,也只能等我有空了才能写,但是今年实在是太忙了!当然,还是有一些方法可以加快进度,比如大家一起来写,本书已经开源,有志之士都可以提PR,然后需要做好的就是Review和校稿;当然还有一个不能保证一定有用的办法就是点击下面的”打赏“按钮,然后发一个大红包,这样作者拿了钱,说不定会不好意思慢慢吞吞的写,毕竟是收了钱的,哈哈。\n最后再说一下为什么本书要开源。既然是电子工业出版社约的稿,就这么公开,难道将来就不会冲击实体书的销量?这个问题我是仔细考虑过的,很多写过书的人可能都知道,写技术书是不赚钱的,能收获的也就是一点点名气,而我吧却只喜欢钱,既然赚不到钱,那何不直接公开得了…当然还有另外一个原因就是要做实体书的话,最后和编辑校稿会花费很多时间,可是我实在是没时间了,很可能会放弃实体书出版,为了防止本书最后因不能正常出版而不能被大家看到,所以最终决定了开源。\n最后,如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提PR。如果您想一起参与本书创作,可以参考《Flutter实战》贡献指南。\n最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。\n"},"chapter1/":{"url":"chapter1/","title":"起步","keywords":"","body":"本章目录\n\n移动开发技术简介\nFlutter简介 \n搭建Flutter开发环境 \nDart语言简介 \n\n"},"chapter1/mobile_development_intro.html":{"url":"chapter1/mobile_development_intro.html","title":"移动开发技术简介","keywords":"","body":"移动开发技术简介\n原生开发与跨平台技术\n原生开发\n原生应用程序是指某一个移动平台(比如iOS或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的SDK API。比如Android原生应用就是指使用Java或Kotlin语言直接调用Android SDK开发的应用程序;而iOS原生应用就是指通过Objective-C或Swift语言直接调用iOS SDK开发的应用程序。原生开发有以下主要优势:\n\n可访问平台全部功能(GPS、摄像头);\n速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;\n\n主要缺点:\n\n平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;\n内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;\n\n在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。 但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:\n\n动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。\n业务需求变化快,开发成本变大;由于原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。\n\n总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。\n跨平台技术简介\n针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指Android和iOS两个平台),根据其原理,主要分为三类:\n\nH5+原生(Cordova、Ionic、微信小程序)\nJavaScript开发+原生渲染 (React Native、Weex、快应用)\n自绘UI+原生(QT for mobile、Flutter)\n\n在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。\nHybrid技术简介\nH5+原生混合开发\n这类框架主要原理就是将APP的一部分需要动态变动的内容通过H5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(ios)来加载(以后若无特殊说明,我们用WebView来统一指代android和ios中的网页加载控件)。这样一来,H5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在Android和iOS两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发 ,采用混合模式开发的APP我们称之为混合应用或Hybrid APP ,如果一个应用的大多数功能都是H5实现的话,我们称其为Web APP 。\n目前混合开发框架的典型代表有:Cordova、Ionic 和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。\n混合开发技术点\n如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在WebView中,而WebView实质上就是一个浏览器内核,其JavaScript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于H5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的API, 然后暴露给WebView以供JavaScript调用,这样一来,WebView就成为了JavaScript与原生API之间通信的桥梁,主要负责JavaScript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于WebView的用于在JavaScript与原生之间通信并实现了某种消息传输协议的工具称之为WebView JavaScript Bridge, 简称 JsBridge,它也是混合开发框架的核心。\n示例:JavaScript调用原生API获取手机型号\n下面我们以Android为例,实现一个获取手机型号的原生API供JavaScript调用。在这个示例中将展示JavaScript调用原生API的流程,读者可以直观的感受一下调用流程。我们选用笔者在Github上开源的dsBridge作为JsBridge来进行通信。dsBridge是一个支持同步调用的跨平台的JsBridge,此示例中只使用其同步调用功能。\n\n首先在原生中实现获取手机型号的API getPhoneModel\nclass JSAPI{\n @JavascriptInterface\n public Object getPhoneModel(Object msg){\n return Build.MODEL;\n }\n}\n\n\n将原生API通过WebView注册到JsBridge中\nimport wendu.dsbridge.DWebView\n...\n//DWebView继承自WebView,由dsBridge提供 \nDWebView dwebView= (DWebView) findViewById(R.id.dwebview);\n//注册原生API到JsBridge\ndwebView.addJavascriptObject(new JsAPI(), null);\n\n\n在JavaScript中调用原生API\nvar dsBridge=require(\"dsbridge\")\n//直接调用原生API `getPhoneModel`\nvar model=dsBridge.call(\"getPhoneModel\");\n//打印机型\nconsole.log(model);\n\n\n\n上面示例演示了JavaScript调用原生API的过程,同样的,一般来说优秀的JsBridge也支持原生调用JavaScript,dsBridge也是支持的,如果您感兴趣,可以去github dsBridge项目主页查看。\n现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列API供JavaScript调用,让JavaScript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。\n总结\n混合应用的优点是动态内容是H5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。\nReact Native和Weex\n本篇主要介绍一下 JavaScript开发+原生渲染的跨平台框架原理。\nReact Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和Android两个平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。\n由于RN和React原理相通,并且Flutter也是受React启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下React原理。React是一个响应式的Web框架,我们先了解一下两个重要的概念:Dom树与响应式编程。\nDOM树与控件树\n文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的标准接口。简单来说,DOM就是文档树,与用户界面控件树对应,在前端开发中通常指HTML对应的渲染树,但广义的DOM也可以指Android中的XML布局文件对应的控件树,而术语DOM操作就是指直接来操作渲染树(或控件树), 因此,可以看到其实DOM树和控件树是等价的概念,只不过前者常用语Web开发中,而后者常用于原生开发中。\n响应式编程\nReact中提出一个重要思想:状态改变则UI随之自动改变,而React框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下React中响应式原理:\n\n开发者只需关注状态转移(数据),当状态发生变化,React框架会自动根据新的状态重新构建UI。\nReact框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过Diff算法,计算出树中变化的部分,然后只更新变化的部分(DOM操作),从而避免整棵树重构,提高性能。\n\n值得注意的是,在第二步中,状态变化后React框架并不会立即去计算并渲染DOM树的变化部分,相反,React会在DOM的基础上建立一个抽象层,即虚拟DOM树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟DOM,最后再批量同步到真实DOM中,而不是每次改变都去操作一下DOM。为什么不能每次改变都直接去操作DOM树?这是因为在浏览器中每一次DOM操作都有可能引起浏览器的重绘或回流:\n\n如果DOM只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。\n如果DOM树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。\n\n而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对DOM进行操作,这会带来性能问题,而批量操作只会触发一次DOM更新。\n\n思考题:Diff操作和DOM批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适?\n此处需要有一张插图\n\nReact Native\n上文已经提到React Native 是React 在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟DOM映射的对象是什么?React中虚拟DOM最终会映射为浏览器DOM树,而RN中虚拟DOM会通过 JavaScriptCore 映射为原生控件树。\nJavaScriptCore 是一个JavaScript解释器,它在React Native中主要有两个作用:\n\n为JavaScript提供运行环境。\n是JavaScript与原生应用之间通信的桥梁,作用和JsBridge一样,事实上,在iOS中,很多JsBridge的实现都是基于 JavaScriptCore 。\n\n而RN中将虚拟DOM映射为原生控件的过程中分两步:\n\n布局消息传递; 将虚拟DOM布局信息传递给原生;\n原生根据布局信息通过对应的原生控件渲染控件树;\n\n至此,React Native 便实现了跨平台。 相对于混合应用,由于React Native是原生控件渲染,所以性能会比混合应用中H5好很多,同时React Native是Web开发技术栈,也只需维护一份代码,同样是跨平台框架。\nWeex\nWeex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和React Native类似,最大的不同是语法层面,Weex支持Vue语法和Rax语法,Rax 的 DSL 语法是基于 React JSX 语法而创造。与 React 不同,在 Rax 中 JSX 是必选的,它不支持通过其它方式创建组件,所以学习 JSX 是使用 Rax 的必要基础。而React Native只支持JSX语法。\n快应用\n快应用是华为、小米、OPPO、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用JavaScript语言开发,原生控件渲染,与React Native和Weex相比主要有两点不同:\n\n快应用自身不支持Vue或React语法,其采用原生JavaScript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用Vue语法开发(mpvue),从原理上来讲,Vue的语法也可以移植到快应用上。\nReact Native和Weex的渲染/排版引擎是集成到框架中的,每一个APP都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到ROM中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。\n\n总结\nJavaScript开发+原生渲染的方式主要优点如下:\n\n采用Web开发技术栈,社区庞大、上手快、开发成本相对较低。\n原生渲染,性能相比H5提高很多。\n动态化较好,支持热更新。\n\n不足:\n\n渲染时需要JavaScript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。\nJavaScript为脚本语言,执行时需要JIT,执行效率和AOT代码仍有差距。\n由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。\n\nQT Moblie与Flutter\n在本篇中,我们看看最后一种跨平台技术:自绘UI+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。注意,自绘引擎解决的是UI的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下:\n\n性能高;由于自绘引擎是直接调用系统API来绘制UI,所以性能和原生控件接近。\n\n灵活、组件库易维护、UI外观保真度和一致性高;由于UI渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。\n\n\n不足:\n\n动态性不足;为了保证UI绘制性能,自绘UI系统一般都会采用AOT模式编译其发布包,所以应用发布后,不能像Hybrid和RN那些使用JavaScript(JIT)作为开发语言的框架那样动态下发代码。\n\n也许你已经猜到Flutter就属于这一类跨平台技术,没错,Flutter正是实现一套自绘引擎,并拥有一套自己的UI布局系统。不过,自绘制引擎的思路并不是什么新概念,Flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的QT。\nQT简介\nQt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,QT虽然在PC端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到QT的声音,但一直很弱,无论QT本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:\n第一:QT移动开发社区太小,学习资料不足,生态不好。\n第二:官方推广不利,支持不够。\n第三:移动端发力较晚,市场已被其它动态化框架占领(Hybrid和RN)。\n第四:在移动开发中,C++开发和Web开发栈相比有着先天的劣势,直接结果就是QT开发效率太低。\n基于此四点,尽管QT是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。\nFlutter简介\n“千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了!\nFlutter是Google发布的一个用于创建跨平台、高性能移动应用的框架。Flutter和QT mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,QT mobile面对的问题Flutter是否也一样,Flutter会不会步入QT mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看Flutter诞生过程:\n\n2017 年 Google I/O 大会上,Google 首次推出了一款新的用于创建跨平台、高性能的移动应用框架——Flutter。\n2018年2月,Flutter发布了第一个Beta版本,同年五月, 在2018年Google I/O 大会上,Flutter 更新到了 beta 3 版本。\n2018年6月,Flutter发布了首个预览版本,这意味着 Flutter 进入了正式版(1.0)发布前的最后阶段。\n\n观其发展,在2018年5月份,Flutter 进入了 GitHub stars 排行榜前 100 名,已有 27k star。而今天(2018年8月16日),已经有35K的Star。经历了短短一年多的时间,Flutter 生态系统得以快速增长,由此可见,Flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!\n现在,我们来和QT mobile做一个对比:\n\n生态;从Github上来看,目前Flutter活跃用户正在高速增长。从Stackoverflow上提问来看,Flutter社区现在已经很庞大。Flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在Stackoverflow或其github issue中找到答案。\n技术支持;现在Google正在大力推广Flutter,Flutter的作者中很多人都是来自Chromium团队,并且github上活跃度很高。另一个角度,从今年上半年Flutter频繁的版本发布也可以看出Google对Flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。\n开发效率;Flutter的热重载可帮助开发者快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了Flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。\n\n基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!\n本章总结\n本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:\n\n\n\n技术类型\nUI渲染方式\n性能\n开发效率\n动态化\n框架代表\n\n\n\n\nH5+原生\nWebView渲染\n一般\n高\n✔️\nCordova、Ionic\n\n\nJavaScript+原生渲染\n原生控件渲染\n好\n高\n✔️\nRN、Weex\n\n\n自绘UI+原生\n调用系统API渲染\n好\nFlutter高, QT低\n默认不支持\nQT、Flutter\n\n\n\n上表中开发语言主要指UI的开发语言,动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是Flutter的Release包默认是使用Dart AOT模式编译的,所以不支持动态化,但Dart还有JIT或snapshot运行方式,这些模式都是支持动态化的,后续会介绍。\n"},"chapter1/flutter_intro.html":{"url":"chapter1/flutter_intro.html","title":"Flutter简介","keywords":"","body":"初识Flutter\nFlutter简介\nFlutter 是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加 native扩展。同时 Flutter还使用 Native引擎渲染视图,这无疑能为用户提供良好的体验。\n跨平台自绘引擎\nFlutter与用于构建移动应用程序的其它大多数框架不同,因为Flutter既不使用WebView,也不使用操作系统的原生控件。 相反,Flutter使用自己的高性能渲染引擎来绘制widget。这样不仅可以保证在Android和iOS上UI的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。\nFlutter使用Skia作为其2D渲染引擎,Skia是Google的一个2D图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,Skia是跨平台的,并提供了非常友好的API,目前Google Chrome浏览器和Android均采用Skia作为其绘图引擎,值得一提的是,由于Android系统已经内置了Skia,所以Flutter在打包APK(Android应用安装包)时,不需要再将Skia打入APK中,但iOS系统并未内置Skia,所以构建iPA时,也必须将Skia一起打包,这也是为什么Flutter APP的Android安装包比iOS安装包小的主要原因。\n高性能\nFlutter高性能主要靠两点来保证,首先,Flutter APP采用Dart语言开发。Dart在 JIT(即时编译)模式下,速度与 JavaScript基本持平。但是 Dart支持 AOT,当以 AOT模式运行时,JavaScript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,Flutter使用自己的渲染引擎来绘制UI,布局数据等由Dart语言直接控制,所以在布局过程中不需要像RN那样要在JavaScript和Native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以JavaScript需要和Native之间不停的同步布局信息,这和在浏览器中要JavaScript频繁操作DOM所带来的问题是相同的,都会带来比较可观的性能开销。\n采用Dart语言开发\n这是一个很有意思,但也很有争议的问题,在了解Flutter为什么选择了 Dart而不是 JavaScript之前我们先来介绍两个概念:JIT和AOT。\n目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为AOT (Ahead of time)即 “提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为JIT(Just-in-time)即“即时编译”。AOT程序的典型代表是用C/C++开发的应用,它们必须在执行前编译成机器码,而JIT的代表则非常多,如JavaScript、python等,事实上,所有脚本语言都支持JIT模式。但需要注意的是JIT和AOT指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以JIT方式运行也可以以AOT方式运行,如Java、Python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为AOT的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于AOT。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。\n现在我们看看Flutter为什么选择Dart语言?笔者根据官方解释以及自己对Flutter的理解总结了以下几条(由于其它跨平台框架都将JavaScript作为其开发语言,所以主要将Dart和JavaScript做一个对比):\n\n开发效率高\nDart运行时和编译器支持Flutter的两个关键特性的组合:\n基于JIT的快速开发周期:Flutter在开发阶段采用,采用JIT模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;\n基于AOT的发布包: Flutter在发布时可以通过AOT生成高效的ARM代码以保证应用性能。而JavaScript则不具有这个能力。\n\n高性能\nFlutter旨在提供流畅、高保真的的UI体验。为了实现这一点,Flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而Dart支持AOT,在这一点上可以做的比JavaScript更好。\n\n快速内存分配\nFlutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,Flutter将无法有效地工作。当然Chrome V8的JavaScript引擎在内存分配上也已经做的很好,事实上Dart开发团队的很多成员都是来自Chrome团队的,所以在内存分配上Dart并不能作为超越JavaScript的优势,而对于Flutter来说,它需要这样的特性,而Dart也正好满足而已。\n\n类型安全\n由于Dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,JavaScript是一个弱类型语言,也因此前端社区出现了很多给JavaScript代码添加静态类型检测的扩展语言和工具,如:微软的TypeScript以及Facebook的Flow。相比之下,Dart本身就支持静态类型,这是它的一个重要优势。\n\nDart团队就在你身边\n看似不起眼,实则举足轻重。由于有Dart团队的积极投入,Flutter团队可以获得更多、更方便的支持,正如Flutter官网所述“我们正与Dart社区进行密切合作,以改进Dart在Flutter中的使用。例如,当我们最初采用Dart时,该语言并没有提供生成原生二进制文件的工具链(这对于实现可预测的高性能具有很大的帮助),但是现在它实现了,因为Dart团队专门为Flutter构建了它。同样,Dart VM之前已经针对吞吐量进行了优化,但团队现在正在优化VM的延迟时间,这对于Flutter的工作负载更为重要。” \n\n\n总结\n本节主要介绍了一下Flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对Flutter细节的了解,再回过头来看,相信你会有更深的体会。\nFlutter框架结构\n本节我们先对Flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到Flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下Flutter官方提供的一张框架图:\n\nFlutter Framework\n这是一个纯 Dart实现的 SDK,它实现了一套基础库,自底向上,我们来简单介绍一下:\n\n底下两层(Foundation和Animation、Painting、Gestures)在Google的一些视频中被合并为一个dart UI层,对应的是Flutter中的dart:ui包,它是Flutter引擎暴露的底层UI库,提供动画、手势及绘制能力。\n\nRendering层,这一层是一个抽象的布局层,它依赖于dart UI层,Rendering层会构建一个UI树,当UI树有变化时,会计算出有变化的部分,然后更新UI树,最终将UI树绘制到屏幕上,这个过程类似于React中的虚拟DOM。Rendering层可以说是Flutter UI框架最核心的部分,它除了确定每个UI元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。\n\nWidgets层是Flutter提供的的一套基础组件库,在基础组件库之上,Flutter还提供了 Material 和Cupertino两种视觉风格的组件库。而我们Flutter开发的大多数场景,只是和这两层打交道。\n\n\nFlutter Engine\n这是一个纯 C++实现的 SDK,其中包括了 Skia引擎、Dart运行时、文字排版引擎等。在代码调用 dart:ui库时,调用最终会走到Engine层,然后实现真正的绘制逻辑。\n总结\nFlutter框架本身有着良好的分层设计,本节旨在让读者对Flutter整体框架有个大概的印象,相信到现在为止,读者已经对Flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下Flutter的开发语言Dart。\n如何学习Flutter\n本节给大家一些学习建议,分享一下笔者在学习Flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。\n资源\n\n官网:阅读Flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新Flutter发展动态的地方,由于目前Flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。\n\n源码及注释:源码注释应作为学习Flutter的第一文档,Flutter SDK的源码是开源的,并且注释非常详细,也有很多示例,实际上,Flutter官方的SDK文档就是通过注释生成的。源码结合注释可以帮你解决大多数问题。\n\nGithub:如果遇到的问题在StackOverflow上也没有找到答案,可以去github flutter 项目下提issue。\nGallery源码:Gallery是Flutter官方示例APP,里面有丰富的示例,读者可以在网上下载安装。Gallery的源码在Flutter源码“examples”目录下。\n\n社区\n\nStackOverflow:如果你还没听过StackOverflow,这是目前全球最大的程序员问答社区,现在也是活跃度最高的Flutter问答社区。StackOverflow上面除了世界各地的Flutter使用者会在上面交流之外,Flutter开发团队的成员也经常会在上面回答问题。\nFlutter中文网社区:Flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了Flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。\n掘金:掘金的Flutter主页目前也收集了不少的博客文章,读者可以自行浏览。\n\n总结\n有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入Flutter的世界!\n"},"chapter1/install_flutter.html":{"url":"chapter1/install_flutter.html","title":"搭建Flutter开发环境","keywords":"","body":"安装Flutter\n工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。\n搭建Flutter开发环境\n由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Flutter时也需要安装相应平台的构建工具和SDK。下面我们分别介绍一下Windows和macOS下的环境搭建。\n使用镜像\n由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:\nexport PUB_HOSTED_URL=https://pub.flutter-io.cn\nexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn\n注意: 此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china 以获得有关镜像服务器的最新动态。\n在Windows上搭建Flutter开发环境\n系统要求\n要安装并运行Flutter,您的开发环境必须满足以下最低要求:\n\n操作系统: Windows 7 或更高版本 (64-bit)\n\n磁盘空间: 400 MB (不包括Android Studio的磁盘空间).\n\n工具: Flutter 依赖下面这些命令行工具.\n\nPowerShell 5.0 或更新的版本\n\nGit for Windows (Git命令行工具);\n\n\n如果已安装Git for Windows,请确保可以在命令提示符或PowerShell中运行 git 命令\n\n\n获取Flutter SDK\n\n去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#windows\n\n\n\n 注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。\n\n将安装包zip解压到你想安装Flutter SDK的路径(如:C:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如C:\\Program Files\\)。\n\n在Flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在Flutter命令行运行flutter命令了。\n\n\n更新环境变量\n如果你想在Windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户PATH:\n\n转到 “控制面板>用户帐户>用户帐户>更改我的环境变量”\n在“用户变量”下检查是否有名为“Path”的条目:\n如果该条目存在, 追加 flutter\\bin的全路径,使用 ; 作为分隔符.\n如果该条目不存在,创建一个新用户变量 Path ,然后将 flutter\\bin 的全路径作为它的值.\n\n\n\n重启Windows以应用此更改.\n运行 flutter doctor命令\n在Flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们:\nflutter doctor\n\n该命令检查你的环境并在命令行窗口中显示报告。Dart SDK已经在打包在Flutter SDK里了,没有必要单独安装Dart。 仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。\n例如:\n[-] Android toolchain - develop for Android devices\n • Android SDK at D:\\Android\\sdk\n ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ\n • Try re-installing or updating your Android SDK,\n visit https://flutter.io/setup/#android-setup for detailed instructions.\n第一次运行flutter命令(如flutter doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutter doctor命令来验证是否安装成功。\nAndroid设置\nFlutter依赖于Android Studio的全量安装。Android Studio不仅可以管理Android 平台依赖、SDK版本等,而且它也是Flutter开发推荐的IDE之一(当然,你也可以使用其它编辑器或IDE,我们将会在后面讨论)。\n安装Android Studio\n\n下载并安装 Android Studio,下载地址:https://developer.android.com/studio/index.html 。\n启动Android Studio,然后执行“Android Studio安装向导”。这将安装最新的Android SDK、Android SDK平台工具和Android SDK构建工具,这些是用Flutter进行Android开发所需要的。\n\n安装遇到问题?\n如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。\n在macOS上搭建Flutter开发环境\n在masOS下可以同时进行Android和iOS设备的测试。\n系统要求\n要安装并运行Flutter,您的开发环境必须满足以下最低要求:\n\n操作系统: macOS (64-bit)\n磁盘空间: 700 MB (不包括Xcode或Android Studio的磁盘空间).\n工具: Flutter 依赖下面这些命令行工具.\nbash、mkdir、rm、git、curl、unzip、which\n\n\n\n获取Flutter SDK\n\n去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#macos\n注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。\n\n解压安装包到你想安装的目录,如:\ncd ~/development\nunzip ~/Downloads/flutter_macos_v0.5.1-beta.zip\n\n\n添加flutter相关工具到path中:\nexport PATH=`pwd`/flutter/bin:$PATH\n\n此代码只能暂时针对当前命令行窗口设置PATH环境变量,要想永久将Flutter添加到PATH中请参考下面更新环境变量 部分。\n\n\n运行 flutter doctor命令\n这一步和Windows下步骤一致,不再赘述。\n更新环境变量\n将Flutter添加到PATH中,可以在任何终端会话中运行flutter命令。\n对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如\n\n确定您Flutter SDK的目录记为“FLUTTER_INSTALL_PATH”,您将在步骤3中用到。\n\n打开(或创建) $HOME/.bash_profile。文件路径和文件名可能在你的电脑上不同.\n\n添加以下路径:\nexport PATH=[FLUTTER_INSTALL_PATH]/flutter/bin:$PATH\n\n例如笔者Flutter 安装目录是“~/code/flutter_dir”,那么代码为:\nexport PATH=~/code/flutter_dir/flutter/bin:$PATH\n\n运行 source $HOME/.bash_profile 刷新当前终端窗口。\n\n注意: 如果你使用终端是zsh,终端启动时 ~/.bash_profile 将不会被加载,解决办法就是修改 ~/.zshrc ,在其中添加:source ~/.bash_profile\n\n\n验证“flutter/bin”是否已在PATH中:\necho $PATH\n\n\n安装 Xcode\n要为iOS开发Flutter应用程序,您需要Xcode 9.0或更高版本:\n\n安装Xcode 9.0或更新版本(通过链接下载或苹果应用商店).\n配置Xcode命令行工具以使用新安装的Xcode版本 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 对于大多数情况,当您想要使用最新版本的Xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。\n确保Xcode许可协议是通过打开一次Xcode或通过命令sudo xcodebuild -license同意过了.\n\n使用Xcode,您可以在iOS设备或模拟器上运行Flutter应用程序。\n安装Android Studio\n和Window一样,要在Android设备上构建并运行Flutter程序都需要先安装Android Studio,读者可以先自行下载并安装Android Studio,在此不再赘述。\n升级 Flutter\nFlutter SDK分支\nFlutter SDK有多个分支,如beta、dev、master,其中beta分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装flutter后,你可以运行flutter channel查看所有分支,如笔者本地运行后,结果如下:\nFlutter channels:\n beta\n dev\n* master\n带\"*\"号的分支即你本地的Flutter SDK 跟踪的分支,要切换分支,可以使用flutter channel beta 或 flutter channel master,Flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。\n升级Flutter SDK和依赖包\n要升级flutter sdk,只需一句命令:\nflutter upgrade\n\n该命令会同时更新Flutter SDK和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括Flutter SDK),可以使用如下命令:\n\nflutter packages get获取项目所有的依赖包。\nflutter packages upgrade 获取项目所有依赖包的最新版本。\n\n \nIDE配置与使用\n理论上可以使用任何文本编辑器与命令行工具来构建Flutter应用程序。 不过,Flutter官方建议使用Android Studio和VS Code之一以获得更好的开发体验。Flutter官方提供了这两款编辑器插件,通过IDE和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下Android Studio和VS Code的配置及使用(Android Studio和VS Code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。\nAndroid Studio 配置与使用\n由于Android Studio是基于IntelliJ IDEA开发的,所以读者也可以使用IntelliJ IDEA。\n安装Flutter和Dart插件\n需要安装两个插件:\n\nFlutter插件: 支持Flutter开发工作流 (运行、调试、热重载等)。\nDart插件: 提供代码分析 (输入代码时进行验证、代码补全等)。\n\n安装步骤:\n\n启动Android Studio。\n打开插件首选项 (macOS:Preferences>Plugins, Windows:File>Settings>Plugins)。\n选择 Browse repositories…,选择 flutter 插件并点击 install。\n重启Android Studio后插件生效。\n\n接下来,让我们用Android Studio创建一个Flutter项目,然后运行它,并体验“热重载”。\n创建Flutter应用\n\n选择 File>New Flutter Project 。\n选择 Flutter application 作为 project 类型, 然后点击 Next。\n输入项目名称 (如 myapp),然后点击 Next。\n点击 Finish。\n等待Android Studio安装SDK并创建项目。\n\n上述命令创建一个Flutter项目,项目名为myapp,其中包含一个使用Material 组件的简单演示应用程序。\n在项目目录中,您应用程序的代码位于 lib/main.dart。\n运行应用程序\n\n定位到Android Studio工具栏:\n\n\n在 target selector 中, 选择一个运行该应用的Android设备。如果没有列出可用,请选择 Tools>Android>AVD Manager 并在那里创建一个。\n\n在工具栏中点击 Run图标。\n\n如果一切正常, 您应该在您的设备或模拟器上会看到启动的应用程序:\n\n\n\n体验热重载\nFlutter 可以通过 热重载(hot reload) 实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉IDE或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。\n 1. 打开`lib/main.dart`文件\n 2. 将字符串\n `'You have pushed the button this many times:'` 更改为\n `'You have clicked the button this many times:'`\n 3. 不要按“停止”按钮; 让您的应用继续运行.\n 4. 要查更改,请调用 **Save** (`cmd-s` / `ctrl-s`),或者点击 **热重载按钮** (带有闪电⚡️图标的按钮)。\n 你会立即在运行的应用程序中看到更新的字符串。\nVS Code的配置与使用\nVS Code是一个轻量级编辑器,支持Flutter运行和调试。\n安装flutter插件\n\n启动 VS Code。\n调用 View>Command Palette…。\n输入 ‘install’, 然后选择 Extensions: Install Extension action。\n在搜索框输入 flutter ,在搜索结果列表中选择 ‘Flutter’, 然后点击 Install。\n选择 ‘OK’ 重新启动 VS Code。\n验证配置\n调用 View>Command Palette…\n输入 ‘doctor’, 然后选择 ‘Flutter: Run Flutter Doctor’ action。\n查看“OUTPUT”窗口中的输出是否有问题\n\n\n\n创建Flutter应用\n\n启动 VS Code\n调用 View>Command Palette…\n输入 ‘flutter’, 然后选择 ‘Flutter: New Project’ action\n输入 Project 名称 (如myapp), 然后按回车键\n指定放置项目的位置,然后按蓝色的确定按钮\n等待项目创建继续,并显示main.dart文件\n\n体验热重载\n\n打开lib/main.dart文件。\n将字符串\n'You have pushed the button this many times:' 更改为\n'You have clicked the button this many times:'。\n不要按“停止”按钮; 让您的应用继续运行。\n要查看您的更改,请调用 Save (cmd-s / ctrl-s), 或者点击 热重载按钮 (绿色圆形箭头按钮)。\n\n你会立即在运行的应用程序中看到更新的字符串。\n连接设备运行Flutter应用\nWindow下只支持为Android设备构建并运行Flutter应用,而macOS同时支持iOS和Android设备。下面分别介绍如何连接Android和iOS设备来运行flutter应用。\n连接Android模拟器\n要准备在Android模拟器上运行并测试Flutter应用,请按照以下步骤操作:\n\n启动 Android Studio>Tools>Android>AVD Manager 并选择 Create Virtual Device.\n\n选择一个设备并选择 Next。\n\n为要模拟的Android版本选择一个或多个系统印象,然后选择 Next. 建议使用 x86 或 x86_64 image .\n\n在 “Emulated Performance”下, 选择 Hardware - GLES 2.0 以启用 硬件加速.\n\n验证AVD配置是否正确,然后选择 Finish。\n有关上述步骤的详细信息,请参阅 Managing AVDs.\n\n在“Android Virtual Device Manager”中,点击工具栏的 Run。模拟器启动并显示所选操作系统版本或设备的启动画面。\n\n运行 flutter run 启动您的设备。 连接的设备名是 Android SDK built for ,其中 platform 是芯片系列,如 x86。\n\n\n连接Android真机设备\n要准备在Android设备上运行并测试Flutter应用,需要Android 4.1(API level 16)或更高版本的Android设备.\n\n在Android设备上启用 开发人员选项 和 USB调试 。详细说明可在Android文档中找到。\n使用USB将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。\n在命令行运行 flutter devices 命令以验证Flutter识别您连接的Android设备。\n运行启动你应用程序 flutter run。\n\n默认情况下,Flutter使用的Android SDK版本是基于你的 adb 工具版本。 如果想让Flutter使用不同版本的Android SDK,则必须将该 ANDROID_HOME 环境变量设置为相应的SDK安装目录。\n连接iOS模拟器\n要准备在iOS模拟器上运行并测试Flutter应用,请按以下步骤操作:\n\n在你的MAC上,通过 Spotlight 或以下命令找到模拟器:\nopen -a Simulator\n\n\n通过检查模拟器 Hardware > Device 菜单中的设置,确保模拟器正在使用64位设备(iPhone 5s或更高版本)。\n\n根据你电脑屏幕大小,模拟高清屏iOS设备可能会溢出屏幕。可以在模拟器的 Window> Scale 菜单下设置设备比例。\n\n运行 flutter run启动flutter应用程序。\n\n\n连接iOS真机设备\n要将Flutter应用安装到iOS真机设备,需要一些额外的工具和一个Apple帐户,还需要在Xcode中进行一些设置。\n\n安装 homebrew (如果已经安装了brew,跳过此步骤)。\n\n打开终端并运行如下这些命令:\nbrew update\nbrew install --HEAD libimobiledevice\nbrew install ideviceinstaller ios-deploy cocoapods\npod setup\n\n如果这些命令中的任何一个失败并出现错误,请运行brew doctor并按照说明解决问题.\n\n遵循Xcode签名流程来配置您的项目:\n\n在你Flutter项目目录中通过 open ios/Runner.xcworkspace 打开默认的Xcode workspace.\n\n在Xcode中,选择导航面板左侧中的Runner项目。\n\n在Runner target设置页面中,确保在 General > Signing > Team 下选择了你的开发团队。当你选择一个团队时,Xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。\n\n要开始您的第一个iOS开发项目,您可能需要使用您的Apple ID登录Xcode。\n\n任何Apple ID都支持开发和测试,但若想将应用分发到App Store,就必须注册Apple开发者计划,有关详情读者可以自行了解。\n\n当您第一次attach真机设备进行iOS开发时,需要同时信任你的Mac和该设备上的开发证书。首次将iOS设备连接到Mac时,请在对话框中选择 Trust。 \n\n然后,转到iOS设备上的设置菜单,选择 常规>设备管理 并信任您的证书。\n\n如果Xcode中的自动签名失败,请验证项目的 General > Identity > Bundle Identifier 值是否唯一.\n\n\n运行 flutter run启动flutter应用程序。\n\n\n\n\n"},"chapter1/configuration.html":{"url":"chapter1/configuration.html","title":"常见配置问题","keywords":"","body":"常见配置问题\nAndroid Studio问题\n缺少依赖库问题\n上手安卓最常遇见的问题之一,错误如下图所示,此时点击超链接即可自动跳转到安装页面\n\n安装之后重新运行即可。\n\n连接不上Android Repository\n这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入 File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites 列表,可以看到此时的 Android Repository 无法连接。\n\n解决方法如下:\n\n进入 C:\\windows\\system32\\drivers\\etc\\ \n打开 hosts 文件\n添加 203.208.41.32 dl.google.com 即可解决\n\n安卓包配置问题\n一般格式为\nCould not HEAD **\nCould not Get **\n如:Android Studio Could not GET gradle-3.2.0.pom\n这一类问题是由于无法连接到 Maven 库造成的,解决方法如下:\n\n进入当前所在项目名/android\n\n打开 build.gradle \n\n找到下面这一部分,并加上 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } \nallprojects {\n repositories {\n google()\n jcenter()\n }\n}\n\n\n进入 File/ Settings/ Build, Execution, Deployment/ Gradle/ Android Studio 中,勾选上 Enable embedded Maven repository ,重启 Android Studio 即可解决。\n\n注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于 Could not HEAD maven.aliyun.com 的报错信息,请检查 C:\\Users\\{user_name}\\.gradle\\gradle.properties 是否有设置代理。删除后问题即可解决。\n\n\n\n"},"chapter1/dart.html":{"url":"chapter1/dart.html","title":"Dart语言简介","keywords":"","body":"Dart语言简介\n在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果你熟悉Dart语法,可以跳过本节,如果你还不了解Dart,不用担心,按照笔者经验,如果你有过其他编程语言经验,尤其是Java和JavaScript的话,所以,如果你是前端或Android开发者,那么将会非常容易上手Dart。当然,如果你是iOS开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习Dart时,只是花了一个小时,看完Dart官网的Language Tour,就开始动手写Flutter了。\n在笔者看来,Dart的设计目标应该是既对标Java,也对标JavaScript,Dart在静态语法方面和Java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和JavaScript很像,如函数式特性、异步支持等。除了融合Java和JavaScript语言之所长之外,Dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在Dart中其实看到的不仅有Java和JavaScript的影子,它还具有其它编程语言中的身影,如命名参数在Objective-C和Swift中早就很普遍,而??操作符在Php 7.0语法中就已经存在了,因此我们可以看到Google对Dart语言给予厚望,是想把Dart打造成一门集百家之所长的编程语言。\n接下来,我们先对Dart语法做一个简单的介绍,然后再将Dart与JavaScript和Java做一个简要的对比,方便读者更好的理解。\n\n注意:由于本书并非专门介绍Dart语言的书籍,所以本章主要会介绍一下在Flutter开发中常用的语法特性,如果想更多了解Dart,读者可以去Dart官网学习,现在互联网上Dart相关资料已经很多了。另外Dart 2.0已经正式发布,所以本书所有示例均采用Dart 2.0语法。\n\n变量声明\n\nvar\n类似于JavaScript中的var,它可以接收任何类型的变量,但最大的不同是Dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如:\nvar t;\nt=\"hi world\";\n// 下面代码在dart中会报错,因为变量t的类型已经确定为String,\n// 类型一旦确定后则不能再更改其类型。\nt=1000;\n\n上面的代码在JavaScript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为Dart本身是一个强类型语言,任何变量都是有确定类型的,在Dart中,当用var声明一个变量后,Dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而JavaScript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。\n\ndynamic和Object\nDynamic和Object 与 var功能相似,都会在赋值时自动进行类型推断,不同在于,赋值后可以改变其类型,如:\ndynamic t;\nt=\"hi world\";\n//下面代码没有问题\nt=1000;\n\nObject 是dart所有对象的根基类,也就是说所有类型都是Object的子类,所以任何类型的数据都可以赋值给Object声明的对象,所以表现效果和dynamic相似。\n\nfinal和const\n如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型。 一个 final 变量只能被设置一次,两者区别在于:const 变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:\n//可以省略String这个类型声明\nfinal str = \"hi world\";\n//final String str = \"hi world\"; \nconst str1 = \"hi world\";\n//const String str1 = \"hi world\";\n\n\n\n函数\nDart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型Function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。\n\n函数声明\nbool isNoble(int atomicNumber) {\n return _nobleGases[atomicNumber] != null;\n}\n\ndart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:\ntypedef bool CALLBACK();\n\n//不指定返回类型,此时默认为dynamic,不是bool\nisNoble(int atomicNumber) {\n return _nobleGases[atomicNumber] != null;\n}\n\nvoid test(CALLBACK cb){\n print(cb()); \n}\n//报错,isNoble不是bool类型\ntest(isNoble);\n\n\n对于只包含一个表达式的函数,可以使用简写语法\nbool isNoble (int atomicNumber )=> _nobleGases [ atomicNumber ] != null ;\n\n\n函数作为变量\nvar say= (str){\n print(str);\n};\nsay(\"hi world\");\n\n\n函数作为参数传递\nvoid execute(var callback){\n callback();\n}\nexecute(()=>print(\"xxx\"))\n\n\n可选的位置参数\n包装一组函数参数,用[]标记为可选的位置参数:\nString say(String from, String msg, [String device]) {\n var result = '$from says $msg';\n if (device != null) {\n result = '$result with a $device';\n }\n return result;\n}\n\n下面是一个不带可选参数调用这个函数的例子:\nsay('Bob', 'Howdy'); //结果是: Bob says Howdy\n\n下面是用第三个参数调用这个函数的例子:\nsay('Bob', 'Howdy', 'smoke signal'); //结果是:Bob says Howdy with a smoke signal\n\n\n可选的命名参数\n定义函数时,使用{param1, param2, …},用于指定命名参数。例如:\n//设置[bold]和[hidden]标志\nvoid enableFlags({bool bold, bool hidden}) {\n // ... \n}\n\n调用函数时,可以使用指定命名参数。例如:paramName: value\nenableFlags(bold: true, hidden: false);\n\n可选命名参数在Flutter中使用非常多。\n\n\n异步支持\nDart类库有非常多的返回Future或者Stream对象的函数。 这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像 IO操作。而不是等到这个操作完成。\nasync和await关键词支持了异步编程,运行您写出和同步代码很像的异步代码。\nFuture\nFuture与JavaScript中的Promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个Future只会对应一个结果,要么成功,要么失败。\n由于本身功能较多,这里我们只介绍其常用的API及特性。还有,请记住,Future 的所有API的返回值仍然是一个Future对象,所以可以很方便的进行链式调用。\nFuture.then\n为了方便示例,在本例中我们使用Future.delayed 创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi world!\",然后我们在then中接收异步结果并打印结果,代码如下:\nFuture.delayed(new Duration(seconds: 2),(){\n return \"hi world!\";\n}).then((data){\n print(data);\n});\n\nFuture.catchError\n如果异步任务发生错误,我们可以在catchError中捕获错误,我们将上面示例改为:\nFuture.delayed(new Duration(seconds: 2),(){\n //return \"hi world!\";\n throw AssertionError(\"Error\"); \n}).then((data){\n //执行成功会走到这里 \n print(\"success\");\n}).catchError((e){\n //执行失败会走到这里 \n print(e);\n});\n\n在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是 catchError回调函数将被调用;但是,并不是只有 catchError回调才能捕获错误,then方法还有一个可选参数onError,我们也可以它来捕获异常:\nFuture.delayed(new Duration(seconds: 2), () {\n //return \"hi world!\";\n throw AssertionError(\"Error\");\n}).then((data) {\n print(\"success\");\n}, onError: (e) {\n print(e);\n});\n\nFuture.whenComplete\n有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用Future的whenComplete回调,我们将上面示例改一下:\nFuture.delayed(new Duration(seconds: 2),(){\n //return \"hi world!\";\n throw AssertionError(\"Error\");\n}).then((data){\n //执行成功会走到这里 \n print(data);\n}).catchError((e){\n //执行失败会走到这里 \n print(e);\n}).whenComplete((){\n //无论成功或失败都会走到这里\n});\n\nFuture.wait\n有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到UI界面上,应该怎么做?答案是Future.wait,它接受一个Future数组参数,只有数组中所有Future都执行成功后,才会触发then的成功回调,只要有一个Future执行失败,就会触发错误回调。下面,我们通过模拟Future.delayed 来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下:\nFuture.wait([\n // 2秒后返回结果 \n Future.delayed(new Duration(seconds: 2), () {\n return \"hello\";\n }),\n // 4秒后返回结果 \n Future.delayed(new Duration(seconds: 4), () {\n return \" world\";\n })\n]).then((results){\n print(results[0]+results[1]);\n}).catchError((e){\n print(e);\n});\n\n执行上面代码,4秒后你会在控制台中看到“hello world”。\nAsync/await\nDart中的async/await 和JavaScript中的async/await功能和用法是一模一样的,如果你已经了解JavaScript中的async/await的用法,可以直接跳过本节。\n回调地狱(Callback hell)\n如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现Future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户Id,然后通过用户Id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下:\n//先分别定义各个异步任务\nFuture login(String userName, String pwd){\n ...\n //用户登录\n};\nFuture getUserInfo(String id){\n ...\n //获取用户信息 \n};\nFuture saveUserInfo(String userInfo){\n ...\n // 保存用户信息 \n};\n\n接下来,执行整个任务流:\nlogin(\"alice\",\"******\").then((id){\n //登录成功后通过,id获取用户信息 \n getUserInfo(id).then((userInfo){\n //获取用户信息后保存 \n saveUserInfo(userInfo).then((){\n //保存用户信息,接下来执行其它操作\n ...\n });\n });\n})\n\n可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(Callback hell)。回调地狱问题在之前JavaScript中非常突出,也是JavaScript被吐槽最多的点,但随着ECMAScript6和ECMAScript7标准发布后,这个问题得到了非常好的解决,而解决回调地狱的两大神器正是ECMAScript6引入了Promise,以及ECMAScript7中引入的async/await。 而在Dart中几乎是完全平移了JavaScript中的这两者:Future相当于Promise,而async/await连名字都没改。接下来我们看看通过Future和async/await如何消除上面示例中的嵌套问题。\n使用Future消除callback hell\nlogin(\"alice\",\"******\").then((id){\n return getUserInfo(id);\n}).then((userInfo){\n return saveUserInfo(userInfo);\n}).then((e){\n //执行接下来的操作 \n}).catchError((e){\n //错误处理 \n print(e);\n});\n\n正如上文所述, “Future 的所有API的返回值仍然是一个Future对象,所以可以很方便的进行链式调用” ,如果在then中返回的是一个Future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。\n使用async/await消除callback hell\n通过Future回调中再返回Future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:\ntask() async {\n try{\n String id = await login(\"alice\",\"******\");\n String userInfo = await getUserInfo(id);\n await saveUserInfo(userInfo);\n //执行接下来的操作 \n } catch(e){\n //错误处理 \n print(e); \n } \n}\n\n\nasync用来表示函数是异步的,定义的函数会返回一个Future对象,可以使用then方法添加回调函数。\nawait 后面是一个Future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在 async 函数内部。\n\n可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。\n\n其实,无论是在JavaScript还是Dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个Promise(Future)的调用链。\n\nStream\nStream 也是用于接收异步事件数据,和Future 不同的是,它可以接收多个异步操作的结果(成功或失败)。 也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。 Stream 常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子:\nStream.fromFutures([\n // 1秒后返回结果\n Future.delayed(new Duration(seconds: 1), () {\n return \"hello 1\";\n }),\n // 抛出一个异常\n Future.delayed(new Duration(seconds: 2),(){\n throw AssertionError(\"Error\");\n }),\n // 3秒后返回结果\n Future.delayed(new Duration(seconds: 3), () {\n return \"hello 3\";\n })\n]).listen((data){\n print(data);\n}, onError: (e){\n print(e.message);\n},onDone: (){\n\n});\n\n上面的代码依次会输出:\nI/flutter (17666): hello 1\nI/flutter (17666): Error\nI/flutter (17666): hello 3\n代码很简单,就不赘述了。\n\n思考题:既然Stream可以接收多次事件,那能不能用Stream来实现一个订阅者模式的事件总线?\n\n总结\n通过上面介绍,相信你对Dart应该有了一个初步的印象,由于笔者平时也使用Java和JavaScript,下面笔者根据自己的经验,结合Java和JavaScript,谈一下自己的看法。\n\n之所以将Dart与Java和JavaScript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且Dart 语法中很多地方也都借鉴了Java和JavaScript。\n\nDart vs Java\n客观的来讲,Dart在语法层面确实比Java更有表现力;在VM层面,Dart VM在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要Dart语言能流行,VM的性能就不用担心,毕竟Google在go(没用vm但有GC)、javascript(v8)、dalvik(android上的java vm)上已经有了很多技术积淀。值得注意的是Dart在Flutter中已经可以将GC做到10ms以内,所以Dart和Java相比,决胜因素并不会是在性能方面。而在语法层面,Dart要比java更有表现力,最重要的是Dart对函数式编程支持要远强于Java(目前只停留在lamda表达式),而Dart目前真正的不足是生态,但笔者相信,随着Flutter的逐渐火热,会回过头来反推Dart生态加速发展,对于Dart来说,现在需要的是时间。\nDart vs JavaScript\nJavaScript的弱类型一直被抓短,所以TypeScript、Coffeescript甚至是Facebook的flow(虽然并不能算JavaScript的一个超集,但也通过标注和打包工具提供了静态类型检查)才有市场。就笔者使用过的脚本语言中(笔者曾使用过Python、PHP),JavaScript无疑是动态化支持最好的脚本语言,比如在JavaScript中,可以给任何对象在任何时候动态扩展属性,对于精通JavaScript的高手来说,这无疑是一把利剑。但是,任何事物都有两面性,JavaScript的强大的动态化特性也是把双刃剑,你可经常听到另一个声音,认为JavaScript的这种动态性糟糕透了,太过灵活反而导致代码很难预期,无法限制不被期望的修改。毕竟有些人总是对自己或别人写的代码不放心,他们希望能够让代码变得可控,并期望有一套静态类型检查系统来帮助自己减少错误。正因如此,在Flutter中,Dart几乎放弃了脚本语言动态化的特性,如不支持反射、也不支持动态创建函数等。并且Dart在2.0强制开启了类型检查(Strong Mode),原先的检查模式(checked mode)和可选类型(optional type)将淡出,所以在类型安全这个层面来说,Dart和TypeScript、Coffeescript是差不多的,所以单从这一点来看,Dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、APP开发、web开发,这就有优势了!\n综上所述,笔者还是很看好Dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。\n"},"chapter2/":{"url":"chapter2/","title":"第一个Flutter应用","keywords":"","body":"简介\n本章将通过一些简单的示例来一步步介绍Flutter的开发流程.\n本章目录\n\n实现一个计数器\n路由管理 \n包管理 \n资源管理 \n调试Flutter APP\nDart线程模型及异常捕获\n\n"},"chapter2/first_flutter_app.html":{"url":"chapter2/first_flutter_app.html","title":"计数器示例","keywords":"","body":"计数器应用示例\n用Android Studio和VS Code创建的Flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。对于接下来的示例,希望读者可以跟着笔者实际动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉Dart或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。\n通过Android Studio和VS Code根据前面“编辑器配置与使用”一章中介绍的创建Flutter工程的方法创建一个新的Flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的Demo。\n\n注意,默认Demo示例可能随着编辑器Flutter插件版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。\n\n我们先运行此示例,效果图如下:\n\n该计数器示例中,每点击一次右下角带“➕”号的悬浮按钮,屏幕中央的数字就会加1。\n在这个示例中,主要Dart代码是在 lib/main.dart 文件中,下面我们看看该示例的源码:\nimport 'package:flutter/material.dart';\n\nvoid main() => runApp(new MyApp());\n\nclass MyApp extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return new MaterialApp(\n title: 'Flutter Demo',\n theme: new ThemeData(\n primarySwatch: Colors.blue,\n ),\n home: new MyHomePage(title: 'Flutter Demo Home Page'),\n );\n }\n}\n\nclass MyHomePage extends StatefulWidget {\n MyHomePage({Key key, this.title}) : super(key: key);\n final String title;\n\n @override\n _MyHomePageState createState() => new _MyHomePageState();\n}\n\nclass _MyHomePageState extends State {\n int _counter = 0;\n\n void _incrementCounter() {\n setState(() {\n _counter++;\n });\n }\n\n @override\n Widget build(BuildContext context) {\n return new Scaffold(\n appBar: new AppBar(\n title: new Text(widget.title),\n ),\n body: new Center(\n child: new Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n new Text(\n 'You have pushed the button this many times:',\n ),\n new Text(\n '$_counter',\n style: Theme.of(context).textTheme.display1,\n ),\n ],\n ),\n ),\n floatingActionButton: new FloatingActionButton(\n onPressed: _incrementCounter,\n tooltip: 'Increment',\n child: new Icon(Icons.add),\n ), // This trailing comma makes auto-formatting nicer for build methods.\n );\n }\n}\n\n分析\n\n导入包。\nimport 'package:flutter/material.dart';\n\n此行代码作用是导入了Material UI组件库。Material是一种标准的移动端和web端的视觉设计语言, Flutter默认提供了一套丰富的Material风格的UI组件。\n\n应用入口。\nvoid main() => runApp(new MyApp());\n\n\n与C/C++、Java类似,Flutter 应用中main函数为应用程序的入口,main函数中调用了,runApp 方法,它的功能是启动Flutter应用,它接受一个Widget参数,在本示例中它是MyApp类的一个实例,该参数代表Flutter应用。\nmain函数使用了(=>)符号,这是Dart中单行函数或方法的简写。\n\n\n应用结构。\nclass MyApp extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return new MaterialApp(\n //应用名称 \n title: 'Flutter Demo', \n theme: new ThemeData(\n //蓝色主题 \n primarySwatch: Colors.blue,\n ),\n //应用首页路由 \n home: new MyHomePage(title: 'Flutter Demo Home Page'),\n );\n }\n}\n\n\nMyApp类代表Flutter应用,它继承了 StatelessWidget类,这也就意味着应用本身也是一个widget。\n在Flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)。\nFlutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget)。\nMaterialApp 是Material库中提供的Flutter APP框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个widget。\nScaffold 是Material库中提供的页面脚手架,它包含导航栏和Body以及FloatingActionButton(如果需要的话)。 本书后面示例中,路由默认都是通过Scaffold创建。\nhome 为Flutter应用的首页,它也是一个widget。\n\n\n首页\nclass MyHomePage extends StatefulWidget {\n MyHomePage({Key key, this.title}) : super(key: key);\n final String title;\n @override\n _MyHomePageState createState() => new _MyHomePageState();\n}\n\nclass _MyHomePageState extends State {\n ...\n}\n\n\n\n MyHomePage 是应用的首页,它继承自StatefulWidget类,表示它是一个有状态的widget(Stateful widget)。现在,我们可以简单认为Stateful widget 和Stateless widget有两点不同:\n\nStateful widget可以拥有状态,这些状态在widget生命周期中是可以变的,而Stateless widget是不可变的。\nStateful widget至少由两个类组成:\n\n一个StatefulWidget类。\n一个 State类; StatefulWidget类本身是不变的,但是 State类中持有的状态在widget生命周期中可能会发生变化。\n\n_MyHomePageState类是MyHomePage类对应的状态类。看到这里,细心的读者可能已经发现,和MyApp 类不同, MyHomePage类中并没有build方法,取而代之的是,build方法被挪到了_MyHomePageState方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。\n\n\n 接下来,我们看看_MyHomePageState中都包含哪些东西:\n\n状态。\nint _counter = 0;\n\n_counter 为保存屏幕右下角带“➕”号按钮点击次数的状态。\n\n设置状态的自增函数。\nvoid _incrementCounter() {\n setState(() {\n _counter++;\n });\n}\n\n当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setState 方法。setState方法的作用是通知Flutter框架,有状态发生了改变,Flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面, Flutter 对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。\n\n构建UI界面\n构建UI界面的逻辑在build方法中,当MyHomePage第一次创建时,_MyHomePageState类会被创建,当初始化完成后,Flutter框架会调用Widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_MyHomePageState的build方法中都干了什么事:\n Widget build(BuildContext context) {\n return new Scaffold(\n appBar: new AppBar(\n title: new Text(widget.title),\n ),\n body: new Center(\n child: new Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n new Text(\n 'You have pushed the button this many times:',\n ),\n new Text(\n '$_counter',\n style: Theme.of(context).textTheme.display1,\n ),\n ],\n ),\n ),\n floatingActionButton: new FloatingActionButton(\n onPressed: _incrementCounter,\n tooltip: 'Increment',\n child: new Icon(Icons.add),\n ),\n );\n }\n\n\nScaffold 是 Material库中提供的一个widget, 它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。\nbody的widget树中包含了一个Center widget,Center 可以将其子widget树对齐到屏幕中心, Center 子widget是一个Column widget,Column的作用是将其所有子widget沿屏幕垂直方向依次排列, 此例中Column包含两个 Text子widget,第一个Text widget显示固定文本 “You have pushed the button this many times:”,第二个Text widget显示_counter状态的数值。\nfloatingActionButton是页面右下角的带“➕”的悬浮按钮,它的onPressed属性接受一个回调函数,代表它本点击后的处理器,本例中直接将_incrementCounter作为其处理函数。\n\n\n\n 现在,我们将整个流程串起来:当右下角的floatingActionButton按钮被点击之后,会调用_incrementCounter,在_incrementCounter中,首先会自增_counter计数器(状态),然后setState会通知Flutter框架状态发生变化,接着,Flutter会调用build方法以新的状态重新构建UI,最终显示在设备屏幕上。\n为什么要将build方法放在State中,而不是放在StatefulWidget中?\n现在,我们回答之前提出的问题,为什么build()方法在State(而不是StatefulWidget)中 ?这主要是为了开发的灵活性。如果将build()方法在StatefulWidget中则会有两个问题:\n\n状态访问不便\n试想一下,如果我们的Stateful widget 有很多状态,而每次状态改变都要调用build方法,由于状态是保存在State中的,如果将build方法放在StatefulWidget中,那么构建时读取状态将会很不方便,试想一下,如果真的将build方法放在StatefulWidget中的话,由于构建用户界面过程需要依赖State,所以build方法将必须加一个State参数,大概是下面这样:\n Widget build(BuildContext context, State state){\n //state.counter\n ...\n }\n\n这样的话就只能将State的所有状态声明为公开的状态,这样才能在State类外部访问状态,但将状态设置为公开后,状态将不再具有私密性,这样依赖,对状态的修改将会变的不可控。将build()方法放在State中的话,构建过程则可以直接访问状态,这样会很方便。\n\n继承StatefulWidget不便\n例如,Flutter中有一个动画widget的基类AnimatedWidget,它继承自StatefulWidget类。AnimatedWidget中引入了一个抽象方法build(BuildContext context),继承自AnimatedWidget的动画widget都要实现这个build方法。现在设想一下,如果StatefulWidget 类中已经有了一个build方法,正如上面所述,此时build方法需要接收一个state对象,这就意味着AnimatedWidget必须将自己的State对象(记为_animatedWidgetState)提供给其子类,因为子类需要在其build方法中调用父类的build方法,代码可能如下:\nclass MyAnimationWidget extends AnimatedWidget{\n @override\n Widget build(BuildContext context, State state){\n //由于子类要用到AnimatedWidget的状态对象_animatedWidgetState,\n //所以AnimatedWidget必须通过某种方式将其状态对象_animatedWidgetState\n //暴露给其子类 \n super.build(context, _animatedWidgetState)\n }\n}\n\n这样很显然是不合理的,因为\n\nAnimatedWidget的状态对象是AnimatedWidget内部实现细节,不应该暴露给外部。\n如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。\n\n\n\n综上所述,可以发现,对于StatefulWidget,将build方法放在State中,可以给开发带来很大的灵活性。\n"},"chapter2/flutter_router.html":{"url":"chapter2/flutter_router.html","title":"路由管理","keywords":"","body":"路由管理\n路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。\n示例\n我们在上一节“计数器”示例的基础上,做如下修改:\n\n创建一个新路由,命名“NewRoute”\nclass NewRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(\"New route\"),\n ),\n body: Center(\n child: Text(\"This is new route\"),\n ),\n );\n }\n}\n\n新路由继承自StatelessWidget,界面很简单,在页面中间显示一句\"This is new route\"。\n\n在_MyHomePageState.build方法中的Column的子widget中添加一个按钮(FlatButton) :\nColumn(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n ... //省略无关代码\n FlatButton(\n child: Text(\"open new route\"),\n textColor: Colors.blue,\n onPressed: () {\n //导航到新路由 \n Navigator.push( context,\n new MaterialPageRoute(builder: (context) {\n return new NewRoute();\n }));\n },\n ),\n ],\n )\n\n我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面。\n \n\n\nMaterialPageRoute\nMaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute 是Material组件库的一个Widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:\n\n对于Android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。\n对于iOS,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。\n\n下面我们介绍一下MaterialPageRoute 构造函数的各个参数的意义:\n MaterialPageRoute({\n WidgetBuilder builder,\n RouteSettings settings,\n bool maintainState = true,\n bool fullscreenDialog = false,\n })\n\n\nbuilder 是一个WidgetBuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。\nsettings 包含路由的配置信息,如路由名称、是否初始路由(首页)。\nmaintainState:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainState为false。\nfullscreenDialog表示新的路由页面是否是一个全屏的模态对话框,在iOS中,如果fullscreenDialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。\n\n\n如果想自定义路由切换动画,可以自己继承PageRoute来实现,我们将在后面介绍动画时,实现一个自定义的路由Widget。\n\nNavigator\nNavigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:\nFuture push(BuildContext context, Route route)\n将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(及关闭)时的返回数据。\nbool pop(BuildContext context, [ result ])\n将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。\nNavigator 还有很多其它方法,如Navigator.replace、Navigator.popUntil等,详情请参考API文档或SDK源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。\n命名路由\n所谓命名路由(Named Route)即给路由起一个名字,然后可以通过路由名字直接打开新的路由。这为路由管理带来了一种直观、简单的方式。\n路由表\n要想使用命名路由,我们必须先提供并注册一个路由表(routing table),这样应用程序才知道哪个名称与哪个路由Widget对应。路由表的定义如下:\nMap routes;\n\n它是一个Map, key 为路由的名称,是个字符串;value是个builder回调函数,用于生成相应的路由Widget。我们在通过路由名称入栈新路由时,应用会根据路由名称在路由表中找到对应的WidgetBuilder回调函数,然后调用该回调函数生成路由widget并返回。\n注册路由表\n我们需要先注册路由表后,我们的Flutter应用才能正确处理命名路由的跳转。注册方式很简单,我们回到之前“计数器”的示例,然后在MyApp类的build方法中找到MaterialApp,添加routes属性,代码如下:\nreturn new MaterialApp(\n title: 'Flutter Demo',\n theme: new ThemeData(\n primarySwatch: Colors.blue,\n ),\n //注册路由表\n routes:{\n \"new_page\":(context)=>NewRoute(),\n } ,\n home: new MyHomePage(title: 'Flutter Demo Home Page'),\n);\n\n现在我们就完成了路由表的注册。\n通过路由名打开新路由页\n要通过路由名称来打开新路由,可以使用:\nFuture pushNamed(BuildContext context, String routeName)\nNavigator 除了pushNamed方法,还有pushReplacementNamed等其他管理命名路由的方法,读者可以自行查看API文档。\n接下来我们通过路由名来打开新的路由页,修改FlatButton的onPressed回调代码,改为:\nonPressed: () {\n Navigator.pushNamed(context, \"new_page\");\n //Navigator.push(context,\n // new MaterialPageRoute(builder: (context) {\n // return new NewRoute();\n //})); \n},\n\n热重载应用,再次点击“open new route”按钮,依然可以打开新的路由页。\n命名路由的优缺点\n命名路由的最大优点是直观,我们可以通过语义化的字符串来管理路由。但其有一个明显的缺点:不能直接传递路由参数。举个例子,假设有一个新路由EchoRoute,它的功能是接受一个字符串参数tip,然后再在屏幕中心将tip的内容显示出来,代码如下:\nclass EchoRoute extends StatelessWidget {\n EchoRoute(this.tip);\n final String tip;\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(\"Echo route\"),\n ),\n body: Center(\n //回显tip内容 \n child: Text(tip),\n ),\n );\n }\n}\n\n如果我们使用命名参数,就必须将路由提前注册到路由表中,所以就无法动态修改tip参数,如:\n{\n \"tip_widgets\":(context)=>EchoRoute(\"内容固定\")\n}\n\n综上所述,我们可以看到当路由需要参数时,使用命名路由则不够灵活。\n"},"chapter2/flutter_package_mgr.html":{"url":"chapter2/flutter_package_mgr.html","title":"包管理","keywords":"","body":"包管理\n一个完整的应用程序往往会依赖很多第三方包,正如在原生开发中,Android使用Gradle来管理依赖,iOS用Cocoapods或Carthage来管理依赖,而Flutter也有自己的依赖管理工具,本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。\nYAML是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或Json相比,它语法简单并非常容易解析,所以YAML常用于配置文件,Flutter也是用yaml文件作为其配置文件,Flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:\nname: flutter_in_action\ndescription: First Flutter application.\n\nversion: 1.0.0+1\n\ndependencies:\n flutter:\n sdk: flutter\n cupertino_icons: ^0.1.2\n\ndev_dependencies:\n flutter_test:\n sdk: flutter\n\nflutter:\n uses-material-design: true\n\n下面,我们逐一解释一下各个字段的意义:\n\nname:应用或包名称。\ndescription: 应用或包的描述、简介。\nversion:应用或包的版本号。\ndependencies:应用或包依赖的其它包或插件。\ndev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。\nflutter:flutter相关的配置选项。\n\n如果我们的Flutter应用本身依赖某个包,我们需要将所依赖的包添加到dependencies 下,接下来我们通过一个例子来演示一下如何依赖、下载并使用第三方包。\nPub仓库\nPub(https://pub.dartlang.org/ )是Google官方的Dart Packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。\n示例\n接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包,确定其最新的版本号和是否支持Flutter。\n\n我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:\n\n将english_words(3.1.3版本)添加到依赖项列表,如下:\ndependencies:\n flutter:\n sdk: flutter\n\n cupertino_icons: ^0.1.0\n # 新添加的依赖\n english_words: ^3.1.3\n\n\n下载包\n在Android Studio的编辑器视图中查看pubspec.yaml时,单击右上角的 Packages get 。\n\n\n\n 这会将依赖包安装到您的项目。您可以在控制台中看到以下内容:\n flutter packages get\n Running \"flutter packages get\" in flutter_in_action...\n Process finished with exit code 0\n\n 你也可以在控制台,定位到当前工程目录,然后手动运行flutter packages get 命令来下载依赖包。\n\n引入english_words包。\nimport 'package:english_words/english_words.dart';\n\n在输入时,Android Studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。\n\n使用english_words包来生成随机字符串。\nclass RandomWordsWidget extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n // 生成随机字符串\n final wordPair = new WordPair.random();\n return Padding(\n padding: const EdgeInsets.all(8.0),\n child: new Text(wordPair.toString()),\n );\n }\n}\n\n我们将RandomWordsWidget 添加到\"计数器\"示例的首页MyHomePage 的Column的子widget中。\n\n如果应用程序正在运行,请使用热重载按钮 () 更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。 这是因为单词对是在 build 方法内部生成的。每次热更新时,build方法都会被执行。\n\n\n\n其它依赖方式\n上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。\n\n依赖本地包\n如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:\ndependencies:\n pkg1:\n path: ../../code/pkg1\n\n路径可以是相对的,也可以是绝对的。\n\n依赖Git:你也可以依赖存储在Git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法\ndependencies:\n pkg1:\n git:\n url: git://github.com/xxx/pkg1.git\n\n上面假定包位于Git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:\ndependencies:\n package1:\n git:\n url: git://github.com/flutter/packages.git\n path: packages/package1\n\n\n\n总结\n本节介绍了引用、下载、使用一个包的整体流程,并在后面介绍了多种不同的引入方式,这些是Flutter开发中常用的,但Dart的dependencies还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/dependencies 。\n"},"chapter2/flutter_assets_mgr.html":{"url":"chapter2/flutter_assets_mgr.html","title":"资源管理","keywords":"","body":"资源管理\nFlutter应用程序可以包含代码和 assets(有时称为资源)。assets是会打包到程序安装包中的,可在运行时访问。常见类型的assets包括静态数据(例如JSON文件)、配置文件、图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)等。\n指定 assets\n和包管理一样,Flutter也使用pubspec.yaml文件来管理应用程序所需的资源。举一个例子:\nflutter:\n assets:\n - assets/my_icon.png\n - assets/background.png\nassets指定应包含在应用程序中的文件。 每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是assets)。\n在构建期间,Flutter将asset放置到称为 asset bundle 的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。\nAsset 变体(variant)\n构建过程支持asset变体的概念:不同版本的asset可能会显示在不同的上下文中。 在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset bundle中。\n例如,如果应用程序目录中有以下文件:\n\n…/pubspec.yaml\n…/graphics/my_icon.png\n…/graphics/background.png\n…/graphics/dark/background.png\n…etc.\n\n然后pubspec.yaml文件中只需包含:\nflutter:\n assets:\n - graphics/background.png\n那么这两个graphics/background.png和graphics/dark/background.png 都将包含在您的asset bundle中。前者被认为是main asset (主资源),后者被认为是一种变体(variant)。\n在选择匹配当前设备分辨率的图片时,Flutter会使用到asset变体(见下文),将来,Flutter可能会将这种机制扩展到本地化、阅读提示等方面。\n加载 assets\n您的应用可以通过AssetBundle对象访问其asset 。有两种主要方法允许从Asset bundle中加载字符串或图片(二进制)文件。\n加载文本assets\n\n通过rootBundle 对象加载:每个Flutter应用程序都有一个rootBundle对象, 通过它可以轻松访问主资源包,直接使用package:flutter/services.dart中全局静态的rootBundle对象来加载asset即可。\n通过 DefaultAssetBundle 加载:建议使用 DefaultAssetBundle 来获取当前BuildContext的AssetBundle。 这种方法不是使用应用程序构建的默认asset bundle,而是使父级widget在运行时动态替换的不同的AssetBundle,这对于本地化或测试场景很有用。\n\n通常,可以使用DefaultAssetBundle.of()在应用运行时来间接加载asset(例如JSON文件),而在widget上下文之外,或其它AssetBundle句柄不可用时,可以使用rootBundle直接加载这些asset,例如:\nimport 'dart:async' show Future;\nimport 'package:flutter/services.dart' show rootBundle;\n\nFuture loadAsset() async {\n return await rootBundle.loadString('assets/config.json');\n}\n\n加载图片\n类似于原生开发,Flutter也可以为当前设备加载适合其分辨率的图像。\n声明分辨率相关的图片 assets\nAssetImage 可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset:\n\n…/image.png\n…/Mx/image.png\n…/Nx/image.png\n…etc.\n\n其中M和N是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。\n主资源默认对应于1.0倍的分辨率图片。看一个例子:\n\n…/my_icon.png\n…/2.0x/my_icon.png\n…/3.0x/my_icon.png\n\n在设备像素比率为1.8的设备上,.../2.0x/my_icon.png 将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。\n如果未在Image widget上指定渲染图像的宽度和高度,那么Image widget将占用与主资源相同的屏幕空间大小。 也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px; 但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。\npubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。当主资源缺少某个资源时,会按分辨率从低到高的顺序去选择 ,也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。\n加载图片\n要加载图片,可以使用 AssetImage类。例如,我们可以从上面的asset声明中加载背景图片:\nWidget build(BuildContext context) {\n return new DecoratedBox(\n decoration: new BoxDecoration(\n image: new DecorationImage(\n image: new AssetImage('graphics/background.png'),\n ),\n ),\n );\n}\n\n注意,AssetImage 并非是一个widget, 它实际上是一个ImageProvider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用Image.asset()方法,如:\nWidget build(BuildContext context) {\n return Image.asset('graphics/background.png');\n}\n\n使用默认的 asset bundle 加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。 (如果使用一些更低级别的类,如 ImageStream或 ImageCache 时你会注意到有与缩放相关的参数)\n依赖包中的资源图片\n要加载依赖包中的图像,必须给AssetImage提供package参数。\n例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构:\n\n…/pubspec.yaml\n…/icons/heart.png\n…/icons/1.5x/heart.png\n…/icons/2.0x/heart.png\n…etc.\n\n然后加载图像,使用:\n new AssetImage('icons/heart.png', package: 'my_icons')\n\n或\nnew Image.asset('icons/heart.png', package: 'my_icons')\n\n注意:包在使用本身的资源时也应该加上package参数来获取。\n打包包中的 assets\n如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。\n包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。 例如,一个名为“fancy_backgrounds”的包,可能包含以下文件:\n\n…/lib/backgrounds/background1.png\n…/lib/backgrounds/background2.png\n…/lib/backgrounds/background3.png\n\n要包含第一张图像,必须在pubspec.yaml的assets部分中声明它:\nflutter:\n assets:\n - packages/fancy_backgrounds/backgrounds/background1.png\nlib/是隐含的,所以它不应该包含在资产路径中。\n特定平台 assets\n上面的资源都是flutter应用中的,这些资源只有在Flutter框架运行之后才能使用,如果要给我们的应用设置APP图标或者添加启动图,那我们必须使用特定平台的assets。\n设置APP图标\n更新Flutter应用程序启动图标的方式与在本机Android或iOS应用程序中更新启动图标的方式相同。\n\nAndroid\n在Flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap-hdpi已包含占位符图像”ic_launcher.png”)。 只需按照Android开发人员指南中的说明, 将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。\n\n\n注意: 如果您重命名.png文件,则还必须在您AndroidManifest.xml的标签的android:icon属性中更新名称。\n\n\niOS\n在Flutter项目的根目录中,导航到.../ios/Runner。该目录中Assets.xcassets/AppIcon.appiconset已经包含占位符图片。 只需将它们替换为适当大小的图片。保留原始文件名称。\n\n\n\n更新启动页\n\n在Flutter框架加载时,Flutter会使用本地平台机制绘制启动页。此启动页将持续到Flutter渲染应用程序的第一帧时。\n\n注意: 这意味着如果您不在应用程序的main()方法中调用runApp 函数 (或者更具体地说,如果您不调用window.render去响应window.onDrawFrame)的话, 启动屏幕将永远持续显示。\n\nAndroid\n要将启动屏幕(splash screen)添加到您的Flutter应用程序, 请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。\niOS\n要将图片添加到启动屏幕(splash screen)的中心,请导航至.../ios/Runner。在Assets.xcassets/LaunchImage.imageset, 拖入图片,并命名为LaunchImage.png、LaunchImage@2x.png、LaunchImage@3x.png。 如果你使用不同的文件名,那您还必须更新同一目录中的Contents.json文件,图片的具体尺寸可以查看苹果官方的标准。\n您也可以通过打开Xcode完全自定义storyboard。在Project Navigator中导航到Runner/Runner然后通过打开Assets.xcassets拖入图片,或者通过在LaunchScreen.storyboard中使用Interface Builder进行自定义。\n\n"},"chapter2/flutter_app_debug.html":{"url":"chapter2/flutter_app_debug.html","title":"调试Flutter APP","keywords":"","body":"调试Flutter应用\n有各种各样的工具和功能来帮助调试Flutter应用程序。\nDart 分析器\n在运行应用程序前,请运行flutter analyze测试你的代码。这个工具(它是dartanalyzer工具的一个包装)将分析你的代码并帮助你发现可能的错误。 如果你使用IntelliJ的Flutter插件,那么已经自动启用了。\nDart分析器大量使用了代码中的类型注释来帮助追踪问题。我们鼓励您在任何地方使用它们(避免var、无类型的参数、无类型的列表文字等),因为这是追踪问题的最快的方式。\nDart Observatory (语句级的单步调试和分析器)\n如果您使用flutter run启动应用程序,那么当它运行时,您可以打开Observatory URL的Web页面(例如Observatory监听http://127.0.0.1:8100/), 直接使用语句级单步调试器连接到您的应用程序。如果您使用的是IntelliJ,则还可以使用其内置的调试器来调试您的应用程序。\nObservatory 同时支持分析、检查堆等。有关Observatory的更多信息请参考Observatory 文档.\n如果您使用Observatory进行分析,请确保通过--profile选项来运行flutter run命令来运行应用程序。 否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。\ndebugger() 声明\n当使用Dart Observatory(或另一个Dart调试器,例如IntelliJ IDE中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import 'dart:developer';到相关文件顶部。\ndebugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:\nvoid someFunction(double offset) {\n debugger(when: offset > 30.0);\n // ...\n}\nprint、debugPrint、flutter logs\nDart print()功能将输出到系统控制台,您可以使用flutter logs了查看它(基本上是一个包装adb logcat)。\n如果你一次输出太多,那么Android有时会丢弃一些日志行。为了避免这种情况,您可以使用Flutter的foundation库中的debugPrint()。 这是一个封装print,它将输出限制在一个级别,避免被Android内核丢弃。\nFlutter框架中的许多类都有toString实现。按照惯例,这些输出通常包括对象的runtimeType单行输出,通常在表单中ClassName(more information about this instance…)。 树中使用的一些类也具有toStringDeep,从该点返回整个子树的多行描述。已一些具有详细信息toString的类会实现一个toStringShort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。\n调试模式断言\n在开发过程中,强烈建议您使用Flutter的“调试”模式,有时也称为“checked”模式(注意:Dart2.0后“checked”被废除,可以使用“strong” mode)。 如果您使用flutter run运行程序。在这种模式下,Dart assert语句被启用,并且Flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。\n当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。\n要关闭调试模式并使用发布模式,请使用flutter run --release运行您的应用程序。 这也关闭了Observatory调试器。一个中间模式可以关闭除Observatory之外所有调试辅助工具的,称为“profile mode”,用--profile替代--release即可。\n调试应用程序层\nFlutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugPrint)的功能。\nWidget 层\n要转储Widgets库的状态,请调用debugDumpApp()。 只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用 )的任何时间调用此方法(在调用runApp()之后)。\n如, 这个应用程序:\nimport 'package:flutter/material.dart';\n\nvoid main() {\n runApp(\n new MaterialApp(\n home: new AppHome(),\n ),\n );\n}\n\nclass AppHome extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return new Material(\n child: new Center(\n child: new FlatButton(\n onPressed: () {\n debugDumpApp();\n },\n child: new Text('Dump App'),\n ),\n ),\n );\n }\n}\n\n…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):\nI/flutter ( 6559): WidgetsFlutterBinding - CHECKED MODE\nI/flutter ( 6559): RenderObjectToWidgetAdapter([GlobalObjectKey RenderView(497039273)]; renderObject: RenderView)\nI/flutter ( 6559): └MaterialApp(state: _MaterialAppState(1009803148))\nI/flutter ( 6559): └ScrollConfiguration()\nI/flutter ( 6559): └AnimatedTheme(duration: 200ms; state: _AnimatedThemeState(543295893; ticker inactive; ThemeDataTween(ThemeData(Brightness.light Color(0xff2196f3) etc...) → null)))\nI/flutter ( 6559): └Theme(ThemeData(Brightness.light Color(0xff2196f3) etc...))\nI/flutter ( 6559): └WidgetsApp([GlobalObjectKey _MaterialAppState(1009803148)]; state: _WidgetsAppState(552902158))\nI/flutter ( 6559): └CheckedModeBanner()\nI/flutter ( 6559): └Banner()\nI/flutter ( 6559): └CustomPaint(renderObject: RenderCustomPaint)\nI/flutter ( 6559): └DefaultTextStyle(inherit: true; color: Color(0xd0ff0000); family: \"monospace\"; size: 48.0; weight: 900; decoration: double Color(0xffffff00) TextDecoration.underline)\nI/flutter ( 6559): └MediaQuery(MediaQueryData(size: Size(411.4, 683.4), devicePixelRatio: 2.625, textScaleFactor: 1.0, padding: EdgeInsets(0.0, 24.0, 0.0, 0.0)))\nI/flutter ( 6559): └LocaleQuery(null)\nI/flutter ( 6559): └Title(color: Color(0xff2196f3))\nI/flutter ( 6559): └Navigator([GlobalObjectKey _WidgetsAppState(552902158)]; state: NavigatorState(240327618; tracking 1 ticker))\nI/flutter ( 6559): └Listener(listeners: down, up, cancel; behavior: defer-to-child; renderObject: RenderPointerListener)\nI/flutter ( 6559): └AbsorbPointer(renderObject: RenderAbsorbPointer)\nI/flutter ( 6559): └Focus([GlobalKey 489139594]; state: _FocusState(739584448))\nI/flutter ( 6559): └Semantics(container: true; renderObject: RenderSemanticsAnnotations)\nI/flutter ( 6559): └_FocusScope(this scope has focus; focused subscope: [GlobalObjectKey MaterialPageRoute(875520219)])\nI/flutter ( 6559): └Overlay([GlobalKey 199833992]; state: OverlayState(619367313; entries: [OverlayEntry@248818791(opaque: false; maintainState: false), OverlayEntry@837336156(opaque: false; maintainState: true)]))\nI/flutter ( 6559): └_Theatre(renderObject: _RenderTheatre)\nI/flutter ( 6559): └Stack(renderObject: RenderStack)\nI/flutter ( 6559): ├_OverlayEntry([GlobalKey 612888877]; state: _OverlayEntryState(739137453))\nI/flutter ( 6559): │└IgnorePointer(ignoring: false; renderObject: RenderIgnorePointer)\nI/flutter ( 6559): │ └ModalBarrier()\nI/flutter ( 6559): │ └Semantics(container: true; renderObject: RenderSemanticsAnnotations)\nI/flutter ( 6559): │ └GestureDetector()\nI/flutter ( 6559): │ └RawGestureDetector(state: RawGestureDetectorState(39068508; gestures: tap; behavior: opaque))\nI/flutter ( 6559): │ └_GestureSemantics(renderObject: RenderSemanticsGestureHandler)\nI/flutter ( 6559): │ └Listener(listeners: down; behavior: opaque; renderObject: RenderPointerListener)\nI/flutter ( 6559): │ └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox)\nI/flutter ( 6559): └_OverlayEntry([GlobalKey 727622716]; state: _OverlayEntryState(279971240))\nI/flutter ( 6559): └_ModalScope([GlobalKey 816151164]; state: _ModalScopeState(875510645))\nI/flutter ( 6559): └Focus([GlobalObjectKey MaterialPageRoute(875520219)]; state: _FocusState(331487674))\nI/flutter ( 6559): └Semantics(container: true; renderObject: RenderSemanticsAnnotations)\nI/flutter ( 6559): └_FocusScope(this scope has focus)\nI/flutter ( 6559): └Offstage(offstage: false; renderObject: RenderOffstage)\nI/flutter ( 6559): └IgnorePointer(ignoring: false; renderObject: RenderIgnorePointer)\nI/flutter ( 6559): └_MountainViewPageTransition(animation: AnimationController(⏭ 1.000; paused; for MaterialPageRoute(/))➩ProxyAnimation➩Cubic(0.40, 0.00, 0.20, 1.00)➩Tween(Offset(0.0, 1.0) → Offset(0.0, 0.0))➩Offset(0.0, 0.0); state: _AnimatedState(552160732))\nI/flutter ( 6559): └SlideTransition(animation: AnimationController(⏭ 1.000; paused; for MaterialPageRoute(/))➩ProxyAnimation➩Cubic(0.40, 0.00, 0.20, 1.00)➩Tween(Offset(0.0, 1.0) → Offset(0.0, 0.0))➩Offset(0.0, 0.0); state: _AnimatedState(714726495))\nI/flutter ( 6559): └FractionalTranslation(renderObject: RenderFractionalTranslation)\nI/flutter ( 6559): └RepaintBoundary(renderObject: RenderRepaintBoundary)\nI/flutter ( 6559): └PageStorage([GlobalKey 619728754])\nI/flutter ( 6559): └_ModalScopeStatus(active)\nI/flutter ( 6559): └AppHome()\nI/flutter ( 6559): └Material(MaterialType.canvas; elevation: 0; state: _MaterialState(780114997))\nI/flutter ( 6559): └AnimatedContainer(duration: 200ms; has background; state: _AnimatedContainerState(616063822; ticker inactive; has background))\nI/flutter ( 6559): └Container(bg: BoxDecoration())\nI/flutter ( 6559): └DecoratedBox(renderObject: RenderDecoratedBox)\nI/flutter ( 6559): └Container(bg: BoxDecoration(backgroundColor: Color(0xfffafafa)))\nI/flutter ( 6559): └DecoratedBox(renderObject: RenderDecoratedBox)\nI/flutter ( 6559): └NotificationListener()\nI/flutter ( 6559): └_InkFeature([GlobalKey ink renderer]; renderObject: _RenderInkFeatures)\nI/flutter ( 6559): └AnimatedDefaultTextStyle(duration: 200ms; inherit: false; color: Color(0xdd000000); family: \"Roboto\"; size: 14.0; weight: 400; baseline: alphabetic; state: _AnimatedDefaultTextStyleState(427742350; ticker inactive))\nI/flutter ( 6559): └DefaultTextStyle(inherit: false; color: Color(0xdd000000); family: \"Roboto\"; size: 14.0; weight: 400; baseline: alphabetic)\nI/flutter ( 6559): └Center(alignment: Alignment.center; renderObject: RenderPositionedBox)\nI/flutter ( 6559): └FlatButton()\nI/flutter ( 6559): └MaterialButton(state: _MaterialButtonState(398724090))\nI/flutter ( 6559): └ConstrainedBox(BoxConstraints(88.0(369160267))\nI/flutter ( 6559): └GestureDetector()\nI/flutter ( 6559): └RawGestureDetector(state: RawGestureDetectorState(175370983; gestures: tap; behavior: opaque))\nI/flutter ( 6559): └_GestureSemantics(renderObject: RenderSemanticsGestureHandler relayoutBoundary=up2)\nI/flutter ( 6559): └Listener(listeners: down; behavior: opaque; renderObject: RenderPointerListener relayoutBoundary=up3)\nI/flutter ( 6559): └Container(padding: EdgeInsets(16.0, 0.0, 16.0, 0.0))\nI/flutter ( 6559): └Padding(renderObject: RenderPadding relayoutBoundary=up4)\nI/flutter ( 6559): └Center(alignment: Alignment.center; widthFactor: 1.0; renderObject: RenderPositionedBox relayoutBoundary=up5)\nI/flutter ( 6559): └Text(\"Dump App\")\nI/flutter ( 6559): └RichText(renderObject: RenderParagraph relayoutBoundary=up6)\n这是一个“扁平化”的树,显示了通过各种构建函数投影的所有widget(如果你在widget树的根中调用toStringDeepwidget,这是你获得的树)。 你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,InkFeature是Material widget的一个实现细节 。\n当按钮从被按下变为被释放时debugDumpApp()被调用,FlatButton对象同时调用setState(),并将自己标记为\"dirty\"。 这就是为什么如果你看转储,你会看到特定的对象标记为“dirty”。您还可以查看已注册了哪些手势监听器; 在这种情况下,一个单一的GestureDetector被列出,并且监听“tap”手势(“tap”是TapGestureDetector的toStringShort函数输出的)\n如果您编写自己的widget,则可以通过覆盖debugFillProperties()来添加信息。 将DiagnosticsProperty对象作为方法参数,并调用父类方法。 该函数是该toString方法用来填充小部件描述信息的。\n渲染层\n如果您尝试调试布局问题,那么Widgets层的树可能不够详细。在这种情况下,您可以通过调用debugDumpRenderTree()转储渲染树。 正如debugDumpApp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从frame 回调 或事件处理器中调用它是最佳解决方案。\n要调用debugDumpRenderTree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。\n上面这个小例子的输出结果如下所示:\nI/flutter ( 6559): RenderView\nI/flutter ( 6559): │ debug mode enabled - android\nI/flutter ( 6559): │ window size: Size(1080.0, 1794.0) (in physical pixels)\nI/flutter ( 6559): │ device pixel ratio: 2.625 (physical pixels per logical pixel)\nI/flutter ( 6559): │ configuration: Size(411.4, 683.4) at 2.625x (in logical pixels)\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: RenderCustomPaint\nI/flutter ( 6559): │ creator: CustomPaint ← Banner ← CheckedModeBanner ←\nI/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ←\nI/flutter ( 6559): │ Theme ← AnimatedTheme ← ScrollConfiguration ← MaterialApp ←\nI/flutter ( 6559): │ [root]\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: RenderPointerListener\nI/flutter ( 6559): │ creator: Listener ← Navigator-[GlobalObjectKey\nI/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ←\nI/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ←\nI/flutter ( 6559): │ Theme ← AnimatedTheme ← ⋯\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │ behavior: defer-to-child\nI/flutter ( 6559): │ listeners: down, up, cancel\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: RenderAbsorbPointer\nI/flutter ( 6559): │ creator: AbsorbPointer ← Listener ←\nI/flutter ( 6559): │ Navigator-[GlobalObjectKey\nI/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ←\nI/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ←\nI/flutter ( 6559): │ Theme ← ⋯\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │ absorbing: false\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: RenderSemanticsAnnotations\nI/flutter ( 6559): │ creator: Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer\nI/flutter ( 6559): │ ← Listener ← Navigator-[GlobalObjectKey\nI/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ←\nI/flutter ( 6559): │ ⋯\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: _RenderTheatre\nI/flutter ( 6559): │ creator: _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope ←\nI/flutter ( 6559): │ Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ←\nI/flutter ( 6559): │ Listener ← Navigator-[GlobalObjectKey\nI/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): │ ← DefaultTextStyle ← ⋯\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │\nI/flutter ( 6559): ├─onstage: RenderStack\nI/flutter ( 6559): ╎ │ creator: Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ←\nI/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalKey 489139594] ←\nI/flutter ( 6559): ╎ │ AbsorbPointer ← Listener ←\nI/flutter ( 6559): ╎ │ Navigator-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): ╎ │ ← ⋯\nI/flutter ( 6559): ╎ │ parentData: not positioned; offset=Offset(0.0, 0.0)\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ ├─child 1: RenderIgnorePointer\nI/flutter ( 6559): ╎ │ │ creator: IgnorePointer ← _OverlayEntry-[GlobalKey 612888877] ←\nI/flutter ( 6559): ╎ │ │ Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope\nI/flutter ( 6559): ╎ │ │ ← Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ←\nI/flutter ( 6559): ╎ │ │ Listener ← Navigator-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ │ _WidgetsAppState(552902158)] ← Title ← ⋯\nI/flutter ( 6559): ╎ │ │ parentData: not positioned; offset=Offset(0.0, 0.0)\nI/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ │ ignoring: false\nI/flutter ( 6559): ╎ │ │ ignoringSemantics: implicitly false\nI/flutter ( 6559): ╎ │ │\nI/flutter ( 6559): ╎ │ └─child: RenderSemanticsAnnotations\nI/flutter ( 6559): ╎ │ │ creator: Semantics ← ModalBarrier ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ←\nI/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← Semantics ←\nI/flutter ( 6559): ╎ │ │ Focus-[GlobalKey 489139594] ← AbsorbPointer ← Listener ← ⋯\nI/flutter ( 6559): ╎ │ │ parentData: \nI/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ │\nI/flutter ( 6559): ╎ │ └─child: RenderSemanticsGestureHandler\nI/flutter ( 6559): ╎ │ │ creator: _GestureSemantics ← RawGestureDetector ← GestureDetector\nI/flutter ( 6559): ╎ │ │ ← Semantics ← ModalBarrier ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ←\nI/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← Semantics ← ⋯\nI/flutter ( 6559): ╎ │ │ parentData: \nI/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ │\nI/flutter ( 6559): ╎ │ └─child: RenderPointerListener\nI/flutter ( 6559): ╎ │ │ creator: Listener ← _GestureSemantics ← RawGestureDetector ←\nI/flutter ( 6559): ╎ │ │ GestureDetector ← Semantics ← ModalBarrier ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ←\nI/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← ⋯\nI/flutter ( 6559): ╎ │ │ parentData: \nI/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ │ behavior: opaque\nI/flutter ( 6559): ╎ │ │ listeners: down\nI/flutter ( 6559): ╎ │ │\nI/flutter ( 6559): ╎ │ └─child: RenderConstrainedBox\nI/flutter ( 6559): ╎ │ creator: ConstrainedBox ← Listener ← _GestureSemantics ←\nI/flutter ( 6559): ╎ │ RawGestureDetector ← GestureDetector ← Semantics ← ModalBarrier\nI/flutter ( 6559): ╎ │ ← IgnorePointer ← _OverlayEntry-[GlobalKey 612888877] ← Stack ←\nI/flutter ( 6559): ╎ │ _Theatre ← Overlay-[GlobalKey 199833992] ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ additionalConstraints: BoxConstraints(biggest)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child 2: RenderSemanticsAnnotations\nI/flutter ( 6559): ╎ │ creator: Semantics ← Focus-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey\nI/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ←\nI/flutter ( 6559): ╎ │ _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope ←\nI/flutter ( 6559): ╎ │ Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ←\nI/flutter ( 6559): ╎ │ Listener ← ⋯\nI/flutter ( 6559): ╎ │ parentData: not positioned; offset=Offset(0.0, 0.0)\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderOffstage\nI/flutter ( 6559): ╎ │ creator: Offstage ← _FocusScope ← Semantics ←\nI/flutter ( 6559): ╎ │ Focus-[GlobalObjectKey MaterialPageRoute(875520219)] ←\nI/flutter ( 6559): ╎ │ _ModalScope-[GlobalKey 816151164] ← _OverlayEntry-[GlobalKey\nI/flutter ( 6559): ╎ │ 727622716] ← Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ←\nI/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalKey 489139594] ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ offstage: false\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderIgnorePointer\nI/flutter ( 6559): ╎ │ creator: IgnorePointer ← Offstage ← _FocusScope ← Semantics ←\nI/flutter ( 6559): ╎ │ Focus-[GlobalObjectKey MaterialPageRoute(875520219)] ←\nI/flutter ( 6559): ╎ │ _ModalScope-[GlobalKey 816151164] ← _OverlayEntry-[GlobalKey\nI/flutter ( 6559): ╎ │ 727622716] ← Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ←\nI/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ ignoring: false\nI/flutter ( 6559): ╎ │ ignoringSemantics: implicitly false\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderFractionalTranslation\nI/flutter ( 6559): ╎ │ creator: FractionalTranslation ← SlideTransition ←\nI/flutter ( 6559): ╎ │ _MountainViewPageTransition ← IgnorePointer ← Offstage ←\nI/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey\nI/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ←\nI/flutter ( 6559): ╎ │ _Theatre ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ translation: Offset(0.0, 0.0)\nI/flutter ( 6559): ╎ │ transformHitTests: true\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderRepaintBoundary\nI/flutter ( 6559): ╎ │ creator: RepaintBoundary ← FractionalTranslation ←\nI/flutter ( 6559): ╎ │ SlideTransition ← _MountainViewPageTransition ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ Offstage ← _FocusScope ← Semantics ← Focus-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey\nI/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ metrics: 83.3% useful (1 bad vs 5 good)\nI/flutter ( 6559): ╎ │ diagnosis: this is a useful repaint boundary and should be kept\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderDecoratedBox\nI/flutter ( 6559): ╎ │ creator: DecoratedBox ← Container ← AnimatedContainer ← Material\nI/flutter ( 6559): ╎ │ ← AppHome ← _ModalScopeStatus ← PageStorage-[GlobalKey\nI/flutter ( 6559): ╎ │ 619728754] ← RepaintBoundary ← FractionalTranslation ←\nI/flutter ( 6559): ╎ │ SlideTransition ← _MountainViewPageTransition ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ decoration:\nI/flutter ( 6559): ╎ │ \nI/flutter ( 6559): ╎ │ configuration: ImageConfiguration(bundle:\nI/flutter ( 6559): ╎ │ PlatformAssetBundle@367106502(), devicePixelRatio: 2.625,\nI/flutter ( 6559): ╎ │ platform: android)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderDecoratedBox\nI/flutter ( 6559): ╎ │ creator: DecoratedBox ← Container ← DecoratedBox ← Container ←\nI/flutter ( 6559): ╎ │ AnimatedContainer ← Material ← AppHome ← _ModalScopeStatus ←\nI/flutter ( 6559): ╎ │ PageStorage-[GlobalKey 619728754] ← RepaintBoundary ←\nI/flutter ( 6559): ╎ │ FractionalTranslation ← SlideTransition ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ decoration:\nI/flutter ( 6559): ╎ │ backgroundColor: Color(0xfffafafa)\nI/flutter ( 6559): ╎ │ configuration: ImageConfiguration(bundle:\nI/flutter ( 6559): ╎ │ PlatformAssetBundle@367106502(), devicePixelRatio: 2.625,\nI/flutter ( 6559): ╎ │ platform: android)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: _RenderInkFeatures\nI/flutter ( 6559): ╎ │ creator: _InkFeature-[GlobalKey ink renderer] ←\nI/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox\nI/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← AnimatedContainer ←\nI/flutter ( 6559): ╎ │ Material ← AppHome ← _ModalScopeStatus ← PageStorage-[GlobalKey\nI/flutter ( 6559): ╎ │ 619728754] ← RepaintBoundary ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderPositionedBox\nI/flutter ( 6559): ╎ │ creator: Center ← DefaultTextStyle ← AnimatedDefaultTextStyle ←\nI/flutter ( 6559): ╎ │ _InkFeature-[GlobalKey ink renderer] ←\nI/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox\nI/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← AnimatedContainer ←\nI/flutter ( 6559): ╎ │ Material ← AppHome ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ alignment: Alignment.center\nI/flutter ( 6559): ╎ │ widthFactor: expand\nI/flutter ( 6559): ╎ │ heightFactor: expand\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderConstrainedBox relayoutBoundary=up1\nI/flutter ( 6559): ╎ │ creator: ConstrainedBox ← MaterialButton ← FlatButton ← Center ←\nI/flutter ( 6559): ╎ │ DefaultTextStyle ← AnimatedDefaultTextStyle ←\nI/flutter ( 6559): ╎ │ _InkFeature-[GlobalKey ink renderer] ←\nI/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox\nI/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← ⋯\nI/flutter ( 6559): ╎ │ parentData: offset=Offset(156.7, 323.7)\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(0.0\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0这是根RenderObject对象的toStringDeep函数的输出。\n当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。\n例如,在上面的转储中,您可以看到窗口大小,Size(411.4, 683.4),它用于强制RenderPositionedBox下的所有渲染框到屏幕的大小, 约束条件为 BoxConstraints(w=411.4, h=683.4)。从RenderPositionedBox的转储中看到是由Center widget创建的(如creator字段所描述的), 设置其孩子的约束为:BoxConstraints(0.0FlatButton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是Material Design设计规范中FlatButton类的尺寸标准)。\n最内部RenderPositionedBox再次松开约束,这次是将按钮中的文本居中。 在RenderParagraph中基于它的内容来决定其大小。 如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。\n另一种需要注意的是每个盒子描述的”relayoutSubtreeRoot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。 因此,RenderParagraph有一个relayoutSubtreeRoot=up8,这意味着当它RenderParagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。\n如果您编写自己的渲染对象,则可以通过覆盖debugFillProperties()将信息添加到转储。 将DiagnosticsProperty对象作为方法的参数,并调用父类方法。\n层\n如果您尝试调试合成问题,则可以使用debugDumpLayerTree()。对于上面的例子,它会输出:\nI/flutter : TransformLayer\nI/flutter : │ creator: [root]\nI/flutter : │ offset: Offset(0.0, 0.0)\nI/flutter : │ transform:\nI/flutter : │ [0] 3.5,0.0,0.0,0.0\nI/flutter : │ [1] 0.0,3.5,0.0,0.0\nI/flutter : │ [2] 0.0,0.0,1.0,0.0\nI/flutter : │ [3] 0.0,0.0,0.0,1.0\nI/flutter : │\nI/flutter : ├─child 1: OffsetLayer\nI/flutter : │ │ creator: RepaintBoundary ← _FocusScope ← Semantics ← Focus-[GlobalObjectKey MaterialPageRoute(560156430)] ← _ModalScope-[GlobalKey 328026813] ← _OverlayEntry-[GlobalKey 388965355] ← Stack ← Overlay-[GlobalKey 625702218] ← Navigator-[GlobalObjectKey _MaterialAppState(859106034)] ← Title ← ⋯\nI/flutter : │ │ offset: Offset(0.0, 0.0)\nI/flutter : │ │\nI/flutter : │ └─child 1: PictureLayer\nI/flutter : │\nI/flutter : └─child 2: PictureLayer\n这是根Layer的toStringDeep输出的。\n根部的变换是应用设备像素比的变换; 在这种情况下,每个逻辑像素代表3.5个设备像素。\nRepaintBoundary widget在渲染树的层中创建了一个RenderRepaintBoundary。这用于减少需要重绘的需求量。\n语义\n您还可以调用debugDumpSemanticsTree()获取语义树(呈现给系统可访问性API的树)的转储。 要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或SemanticsDebugger (下面讨论)。\n对于上面的例子,它会输出:\nI/flutter : SemanticsNode(0; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4))\nI/flutter : ├SemanticsNode(1; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4))\nI/flutter : │ └SemanticsNode(2; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4); canBeTapped)\nI/flutter : └SemanticsNode(3; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4))\nI/flutter : └SemanticsNode(4; Rect.fromLTRB(0.0, 0.0, 82.0, 36.0); canBeTapped; \"Dump App\")\n调度\n要找出相对于帧的开始/结束事件发生的位置,可以切换debugPrintBeginFrameBanner和debugPrintEndFrameBanner布尔值以将帧的开始和结束打印到控制台。\n例如:\nI/flutter : ▄▄▄▄▄▄▄▄ Frame 12 30s 437.086ms ▄▄▄▄▄▄▄▄\nI/flutter : Debug print: Am I performing this work more than once per frame?\nI/flutter : Debug print: Am I performing this work more than once per frame?\nI/flutter : ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀\ndebugPrintScheduleFrameStacks还可以用来打印导致当前帧被调度的调用堆栈。\n可视化调试\n您也可以通过设置debugPaintSizeEnabled为true以可视方式调试布局问题。 这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。 设置它的最简单方法是在void main()的顶部设置。\n当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如Padding)显示为浅蓝色,子widget周围有一个深蓝色框, 对齐方式(来自widget如Center和Align)显示为黄色箭头. 空白(如没有任何子节点的Container)以灰色显示。\ndebugPaintBaselinesEnabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。\ndebugPaintPointersEnabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。 这可以帮助您确定某个对象是否以某种不正确的方式进行hit测试(Flutter检测点击的位置是否有能响应用户操作的widget),例如,如果它实际上超出了其父项的范围,首先不会考虑通过hit测试。\n如果您尝试调试合成图层,例如以确定是否以及在何处添加RepaintBoundary widget,则可以使用debugPaintLayerBordersEnabled 标志, 该标志用橙色或轮廓线标出每个层的边界,或者使用debugRepaintRainbowEnabled标志, 只要他们重绘时,这会使该层被一组旋转色所覆盖。\n所有这些标志只能在调试模式下工作。通常,Flutter框架中以“debug...” 开头的任何内容都只能在调试模式下工作。\n调试动画\n调试动画最简单的方法是减慢它们的速度。为此,请将timeDilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。 最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。\n调试性能问题\n要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugPrintMarkNeedsLayoutStacks和 debugPrintMarkNeedsPaintStacks标志。 每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugPrintStack()方法按需打印堆栈痕迹。\n衡量应用启动时间\n要收集有关Flutter应用程序启动所需时间的详细信息,可以在运行flutter run时使用trace-startup和profile选项。\n$ flutter run --trace-startup --profile\n跟踪输出保存为start_up_info.json,在Flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:\n\n进入Flutter引擎时.\n展示应用第一帧时.\n初始化Flutter框架时.\n完成Flutter框架初始化时.\n\n如 :\n{\n \"engineEnterTimestampMicros\": 96025565262,\n \"timeToFirstFrameMicros\": 2171978,\n \"timeToFrameworkInitMicros\": 514585,\n \"timeAfterFrameworkInitMicros\": 1657393\n}\n跟踪Dart代码性能\n要执行自定义性能跟踪和测量Dart任意代码段的wall/CPU时间(类似于在Android上使用systrace)。 使用dart:developer的Timeline工具来包含你想测试的代码块,例如:\nTimeline.startSync('interesting function');\n// iWonderHowLongThisTakes();\nTimeline.finishSync();\n然后打开你应用程序的Observatory timeline页面,在”Recorded Streams”中选择’Dart’复选框,并执行你想测量的功能。\n刷新页面将在Chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。\n请确保运行flutter run时带有--profile标志,以确保运行时性能特征与您的最终产品差异最小。\nPerformance Overlay\n要获得应用程序性能图,请将MaterialApp构造函数的showPerformanceOverlay参数设置为true。 WidgetsApp构造函数也有类似的参数(如果你没有使用MaterialApp或者WidgetsApp,你可以通过将你的应用程序包装在一个stack中, 并将一个widget放在通过new PerformanceOverlay.allEnabled()创建的stack上来获得相同的效果)。\n这将显示两个图表。第一个是GPU线程花费的时间,最后一个是CPU线程花费的时间。 图中的白线以16ms增量沿纵轴显示; 如果图中超过这三条线之一,那么您的运行频率低于60Hz。横轴代表帧。 该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。\n这应该始终在发布模式(release mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。\nMaterial grid\n在开发实现Material Design的应用程序时, 将Material Design基线网格覆盖在应用程序上可能有助于验证对齐。 为此,MaterialApp 构造函数 有一个debugShowMaterialGrid参数, 当在调试模式设置为true时,它将覆盖这样一个网格。\n您也可以直接使用GridPaperwidget将这种网格覆盖在非Material应用程序上 。\n"},"chapter2/thread_model_and_error_report.html":{"url":"chapter2/thread_model_and_error_report.html","title":"Dart线程模型及异常捕获","keywords":"","body":"Dart线程模型及异常捕获\nDart单线程模型\n在Java和OC中,如果程序发生异常且没有被捕获,那么程序将会终止,但在Dart或JavaScript中则不会,究其原因,这和它们的运行机制有关系,Java和OC都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但Dart和JavaScript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过Dart官方提供的一张图来看看dart大致运行原理:\n\nDart 在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列” microtask queue,另一个叫做“事件队列” event queue。从图中可以发现,微任务队列的执行优先级高于事件队列。\n现在我们来介绍一下Dart线程运行过程,如上图中所示,入口函数 main() 执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。\n在Dart中,所有的外部事件任务都在事件队列中,如IO、计时器、点击、以及绘制事件等,而微任务通常来源于Dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于GUI应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过Future.microtask(…)方法向微任务队列插入一个任务。\n在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。\nFlutter异常捕获\nDart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,,如果读者不清楚,可以查看Dart语言文档,不在赘述,下面我们看看Flutter中的异常捕获。\nFlutter框架异常捕获\nFlutter 框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,Flutter就会自动弹出一个错误界面,这是因为Flutter已经在执行build方法时添加了异常捕获,最终的源码如下:\n@override\nvoid performRebuild() {\n ...\n try {\n //执行build方法 \n built = build();\n } catch (e, stack) {\n // 有异常时则弹出错误提示 \n built = ErrorWidget.builder(_debugReportException('building $this', e, stack));\n } \n ...\n}\n\n可以看到,在发生异常时,Flutter默认的处理方式是弹一个ErrorWidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugReportException()方法看看:\nFlutterErrorDetails _debugReportException(\n String context,\n dynamic exception,\n StackTrace stack, {\n InformationCollector informationCollector\n}) {\n //构建错误详情对象 \n final FlutterErrorDetails details = FlutterErrorDetails(\n exception: exception,\n stack: stack,\n library: 'widgets library',\n context: context,\n informationCollector: informationCollector,\n );\n //报告错误 \n FlutterError.reportError(details);\n return details;\n}\n\n我们发现,错误是通过FlutterError.reportError方法上报的,继续跟踪:\n\nstatic void reportError(FlutterErrorDetails details) {\n ...\n if (onError != null)\n onError(details); //调用了onError回调\n}\n\n我们发现onError是FlutterError的一个静态属性,它有一个默认的处理方法 dumpErrorToConsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如:\nvoid main() {\n FlutterError.onError = (FlutterErrorDetails details) {\n reportError(details);\n };\n ...\n}\n\n这样我们就可以处理那些Flutter为我们捕获的异常了,接下来我们看看如何捕获其它异常。\n其它异常捕获与日志收集\n在Flutter中,还有一些Flutter没有为我们捕获的异常,如调用空对象方法异常、Future中的异常。在Dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了Future的异常的:\ntry{\n Future.delayed(Duration(seconds: 1)).then((e) => Future.error(\"xxx\"));\n}catch (e){\n print(e)\n}\n\nDart中有一个runZoned(...) 方法,可以给执行对象指定一个Zone。Zone表示一个代码执行的环境范围,为了方便理解,读者可以将Zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如Zone中可以捕获日志输出、Timer创建、微任务调度的行为,同时Zone也可以捕获所有未处理的异常。下面我们看看runZoned(...)方法定义:\nR runZoned(R body(), {\n Map zoneValues, \n ZoneSpecification zoneSpecification,\n Function onError,\n})\n\n\nzoneValues: Zone 的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。\n\nzoneSpecification:Zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子:\n下面是拦截应用中所有调用print输出日志的行为。\nmain() {\n runZoned(() => runApp(MyApp()), zoneSpecification: new ZoneSpecification(\n print: (Zone self, ZoneDelegate parent, Zone zone, String line) {\n parent.print(zone, \"Intercepted: $line\");\n }),\n );\n}\n\n这样一来,我们APP中所有调用print方法输出日志的行为都会被拦截,通过这种方式,我们也可以在应用中记录日志,等到应用触发未捕获的异常时,将异常信息和日志统一上报。ZoneSpecification还可以自定义一些其他行为,读者可以查看API文档。\n\nonError:Zone中未捕获异常处理回调,如果开发者提供了onError回调或者通过ZoneSpecification.handleUncaughtError指定了错误处理回调,那么这个zone将会变成一个error-zone,该error-zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如:\nrunZoned(() {\n runApp(MyApp());\n}, onError: (Object obj, StackTrace stack) {\n var details=makeDetails(obj,stack);\n reportError(details);\n});\n\n这样一来,结合上面的FlutterError.onError我们就可以捕获我们Flutter应用中全部错误了!需要注意的是,error-zone内部发生的错误是不会跨越当前error-zone的边界的,如果想跨越error-zone边界去捕获异常,可以通过共同的“源”zone来捕获,如:\nvar future = new Future.value(499);\nrunZoned(() {\n var future2 = future.then((_) { throw \"error in first error-zone\"; });\n runZoned(() {\n var future3 = future2.catchError((e) { print(\"Never reached!\"); });\n }, onError: (e) { print(\"unused error handler\"); });\n}, onError: (e) { print(\"catches error of first error-zone.\"); });\n\n\n\n总结\n我们最终的异常捕获和上报代码如下:\nvoid collectLog(String line){\n ... //收集日志\n}\nvoid reportErrorAndLog(FlutterErrorDetails details){\n ... //上报错误和日志逻辑\n}\n\nFlutterErrorDetails makeDetails(Object obj, StackTrace stack){\n ...// 构建错误信息\n}\n\nvoid main() {\n FlutterError.onError = (FlutterErrorDetails details) {\n reportErrorAndLog(details);\n };\n runZoned(\n () => runApp(MyApp()),\n zoneSpecification: ZoneSpecification(\n print: (Zone self, ZoneDelegate parent, Zone zone, String line) {\n collectLog(line); //手机日志\n },\n ),\n onError: (Object obj, StackTrace stack) {\n var details = makeDetails(obj, stack);\n reportErrorAndLog(details);\n },\n );\n}\n\n"},"chapter3/":{"url":"chapter3/","title":"基础Widgets","keywords":"","body":"基础Widget\n本节介绍一下Flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像API文档一样所有属性都介绍,关于属性详细的信息请参考Flutter SDK文档。\n本章目录\n\nWidget简介\n文本、字体样式\n按钮 \n图片和Icon \n单选框和复选框 \n输入框和表单 \n\n"},"chapter3/flutter_widget_intro.html":{"url":"chapter3/flutter_widget_intro.html","title":"Widget简介","keywords":"","body":"Widget简介\n概念\n在前面的介绍中,我们知道Flutter中几乎所有的对象都是一个Widget,与原生开发中“控件”不同的是,Flutter中的widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于应用主题数据传递的Theme等等。而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时,我们可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。\nWidget与Element\n在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。实际上,Flutter中真正代表屏幕上显示元素的类是Element,也就是说Widget只是描述Element的一个配置,有关Element的详细介绍我们将在本书后面的高级部分深入介绍,读者现在只需要知道,Widget只是UI元素的一个配置数据,并且一个Widget可以对应多个Element,这是因为同一个Widget对象可以被添加到UI树的不同部分,而真正渲染时,UI树的每一个Widget节点都会对应一个Element对象。总结一下:\n\nWidget实际上就是Element的配置数据,Widget树实际上是一个配置树,而真正的UI渲染树是由Element构成;不过,由于Element是通过Widget生成,所以它们之间有对应关系,所以在大多数场景,我们可以宽泛地认为Widget树就是指UI控件树或UI渲染树。\n一个Widget对象可以对应多个Element对象。这很好理解,根据同一份配置(Widget),可以创建多个实例(Element)。\n\n读者应该将这两点牢记在心中。\n主要接口\n我们先来看一下Widget类的声明:\n@immutable\nabstract class Widget extends DiagnosticableTree {\n const Widget({ this.key });\n final Key key;\n\n @protected\n Element createElement();\n\n @override\n String toStringShort() {\n return key == null ? '$runtimeType' : '$runtimeType-$key';\n }\n\n @override\n void debugFillProperties(DiagnosticPropertiesBuilder properties) {\n super.debugFillProperties(properties);\n properties.defaultDiagnosticsTreeStyle = DiagnosticsTreeStyle.dense;\n }\n\n static bool canUpdate(Widget oldWidget, Widget newWidget) {\n return oldWidget.runtimeType == newWidget.runtimeType\n && oldWidget.key == newWidget.key;\n }\n}\n\n\nWidget类继承自DiagnosticableTree,DiagnosticableTree即“诊断树”,主要作用是提供调试信息。\nKey: 这个key属性类似于React/Vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canUpdate()方法中。\ncreateElement():正如前文所述“一个Widget可以对应多个Element”;Flutter Framework在构建UI树时,会先调用此方法生成对应节点的Element对象。此方法是Flutter Framework隐式调用的,在我们开发过程中基本不会调用到。\ndebugFillProperties(...) 复写父类的方法,主要是设置诊断树的一些特性。\ncanUpdate(...)是一个静态方法,它主要用于在Widget树重新build时复用旧的widget,其实具体来说,应该是:是否用新的Widget对象去更新旧UI树上所对应的Element对象的配置;通过其源码我们可以看到,只要newWidget与oldWidget的runtimeType和key同时相等时就会用newWidget去更新Element对象的配置,否则就会创建新的Element。\n\n有关Key和Widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为Widget显式添加key的话可能(但不一定)会使UI在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,我们只在构建列表项UI时会显式指定Key。\n另外Widget类本身是一个抽象类,其中最核心的就是定义了createElement()接口,在Flutter开发中,我们一般都不用直接继承Widget类来实现Widget,相反,我们通常会通过继承StatelessWidget和StatefulWidget来间接继承Widget类来实现,而StatelessWidget和StatefulWidget都是直接继承自Widget类,而这两个类也正是Flutter中非常重要的两个抽象类,它们引入了两种Widget模型,接下来我们将重点介绍一下这两个类。\nStateless Widget\n在之前的章节中,我们已经简单介绍过StatelessWidget,StatelessWidget相对比较简单,它继承自Widget,重写了createElement()方法:\n@override\nStatelessElement createElement() => new StatelessElement(this);\n\nStatelessElement 间接继承自Element类,与StatelessWidget相对应(作为其配置数据)。\nStatelessWidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它Widget来构建UI,在构建过程中会递归的构建其嵌套的Widget。我们看一个简单的例子:\nclass Echo extends StatelessWidget {\n const Echo({\n Key key, \n @required this.text,\n this.backgroundColor:Colors.grey,\n }):super(key:key);\n\n final String text;\n final Color backgroundColor;\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: Container(\n color: backgroundColor,\n child: Text(text),\n ),\n );\n }\n}\n\n上面的代码,实现了一个回显字符串的Echo widget。\n\n按照惯例,widget的构造函数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查,另外,在继承widget时,第一个参数通常应该是Key,如果接受子widget的child参数,那么通常应该将它放在参数列表的最后。同样是按照惯例,widget的属性应被声明为final,防止被意外改变。\n\n然后我们可以通过如下方式使用它:\nWidget build(BuildContext context) {\n return Echo(text: \"hello world\");\n}\n\n\nStateful Widget\n和StatelessWidget一样,StatefulWidget也是继承自widget类,并重写了createElement()方法,不同的是返回的Element 对象并不相同;另外StatefulWidget类中添加了一个新的接口createState(),下面我们看看StatefulWidget的类定义:\nabstract class StatefulWidget extends Widget {\n const StatefulWidget({ Key key }) : super(key: key);\n\n @override\n StatefulElement createElement() => new StatefulElement(this);\n\n @protected\n State createState();\n}\n\n\nStatefulElement 间接继承自Element类,与StatefulWidget相对应(作为其配置数据)。StatefulElement中可能会多次调用createState()来创建状态(State)对象。\n\ncreateState() 用于创建和Stateful widget相关的状态,它在Stateful widget的生命周期中可能会被多次调用。例如,当一个Stateful widget同时插入到widget树的多个位置时,Flutter framework就会调用该方法为每一个位置生成一个独立的State实例,其实,本质上就是一个StatefulElement对应一个State实例。\n\n在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与Element有对应关系(一可能对多),在有些场景(Flutter的SDK文档中)也代指“UI树”的意思。而在stateful widget中,State对象也和StatefulElement具有对应关系(一对一),所以在Flutter的SDK文档中,可以经常看到“从树中移除State对象”或“插入State对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。\n\n\n\nState\n一个StatefulWidget类会对应一个State类,State表示与其对应的StatefulWidget要维护的状态,State中的保存的状态信息可以:\n\n在widget build时可以被同步读取。\n在widget生命周期中可以被改变,当State被改变时,可以手动调用其setState()方法通知Flutter framework状态发生改变,Flutter framework在收到消息后,会重新调用其build方法重新构建widget树,从而达到更新UI的目的。\n\nState中有两个常用属性:\n\nwidget,它表示与该State实例关联的widget实例,由Flutter framework动态设置。注意,这种关联并非永久的,因为在应用声明周期中,UI树上的某一个节点的widget实例在重新构建时可能会变化,但State实例只会在第一次插入到树中时被创建,当在重新构建时,如果widget被修改了,Flutter framework会动态设置State.widget为新的widget实例。\n\ncontext,它是BuildContext类的一个实例,表示构建widget的上下文,它是操作widget在树中位置的一个句柄,它包含了一些查找、遍历当前Widget树的一些方法。每一个widget都有一个自己的context对象。\n\n对于BuildContext读者现在可以先作了解,随着本书后面内容的展开,也会用到Context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于BuildContext更多的内容,我们也将在后面高级部分再深入介绍。\n\n\n\nState生命周期\n理解State的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下State的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承StatefulWidget,代码如下:\nclass CounterWidget extends StatefulWidget {\n const CounterWidget({\n Key key,\n this.initValue: 0\n });\n\n final int initValue;\n\n @override\n _CounterWidgetState createState() => new _CounterWidgetState();\n}\n\nCounterWidget接收一个initValue整形参数,它表示计数器的初始值。下面我们看一下State的代码:\nclass _CounterWidgetState extends State { \n int _counter;\n\n @override\n void initState() {\n super.initState();\n //初始化状态 \n _counter=widget.initValue;\n print(\"initState\");\n }\n\n @override\n Widget build(BuildContext context) {\n print(\"build\");\n return Center(\n child: FlatButton(\n child: Text('$_counter'),\n //点击后计数器自增 \n onPressed:()=>setState(()=> ++_counter) ,\n ),\n );\n }\n\n @override\n void didUpdateWidget(CounterWidget oldWidget) {\n super.didUpdateWidget(oldWidget);\n print(\"didUpdateWidget\");\n }\n\n @override\n void deactivate() {\n super.deactivate();\n print(\"deactive\");\n }\n\n @override\n void dispose() {\n super.dispose();\n print(\"dispose\");\n }\n\n @override\n void reassemble() {\n super.reassemble();\n print(\"reassemble\");\n }\n\n @override\n void didChangeDependencies() {\n super.didChangeDependencies();\n print(\"didChangeDependencies\");\n }\n\n}\n\n接下来,我们创建一个新路由,在新路由中,我们只显示一个CounterWidget:\nWidget build(BuildContext context) {\n return CounterWidget();\n}\n\n我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:\nI/flutter ( 5436): initState\nI/flutter ( 5436): didChangeDependencies\nI/flutter ( 5436): build\n可以看到,在StatefulWidget插入到Widget树时首先initState方法会被调用。\n然后我们点击⚡️按钮热重载,控制台输出日志如下:\nI/flutter ( 5436): reassemble\nI/flutter ( 5436): didUpdateWidget\nI/flutter ( 5436): build\n可以看到此时initState 和didChangeDependencies都没有被调用,而此时didUpdateWidget被调用。\n接下来,我们在widget树中移除CounterWidget,将路由build方法改为:\nWidget build(BuildContext context) {\n //移除计数器 \n //return CounterWidget();\n //随便返回一个Text()\n return Text(\"xxx\");\n}\n\n然后热重载,日志如下:\nI/flutter ( 5436): reassemble\nI/flutter ( 5436): deactive\nI/flutter ( 5436): dispose\n我们可以看到,在CounterWidget从widget树中移除时,deactive和dispose会依次被调用。\n下面我们来看看各个回调函数:\n\ninitState:当Widget第一次插入到Widget树时会被调用,对于每一个State对象,Flutter framework只会调用一次该回调,所以,通常在该回调中做一些一次性的操作,如状态初始化、订阅子树的事件通知等。不能在该回调中调用BuildContext.inheritFromWidgetOfExactType(该方法用于在Widget树上获取离当前widget最近的一个父级InheritFromWidget,关于InheritedWidget我们将在后面章节介绍),原因是在初始化完成后,Widget树中的InheritFromWidget也可能会发生变化,所以正确的做法应该在在build()方法或didChangeDependencies()中调用它。\ndidChangeDependencies():当State对象的依赖发生变化时会被调用;例如:在之前build() 中包含了一个InheritedWidget,然后在之后的build() 中InheritedWidget发生了变化,那么此时InheritedWidget的子widget的didChangeDependencies()回调都会被调用。典型的场景是当系统语言Locale或应用主题改变时,Flutter framework会通知widget调用此回调。\nbuild():此回调读者现在应该已经相当熟悉了,它主要是用于构建Widget子树的,会在如下场景被调用:\n\n在调用initState()之后。\n在调用didUpdateWidget()之后。\n在调用setState()之后。\n在调用didChangeDependencies()之后。\n在State对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。\n\n\nreassemble():此回调是专门为了开发调试而提供的,在热重载(hot reload)时会被调用,此回调在Release模式下永远不会被调用。\ndidUpdateWidget():在widget重新构建时,Flutter framework会调用Widget.canUpdate来检测Widget树中同一位置的新旧节点,然后决定是否需要更新,如果Widget.canUpdate返回true则会调用此回调。正如之前所述,Widget.canUpdate会在新旧widget的key和runtimeType同时相等时会返回true,也就是说在在新旧widget的key和runtimeType同时相等时didUpdateWidget()就会被调用。\ndeactivate():当State对象从树中被移除时,会调用此回调。在一些场景下,Flutter framework会将State对象重新插到树中,如包含此State对象的子树在树的一个位置移动到另一个位置时(可以通过GlobalKey来实现)。如果移除后没有重新插入到树中则紧接着会调用dispose()方法。\ndispose():当State对象从树中被永久移除时调用;通常在此回调中释放资源。\n\n\ntodo: 这里缺一张生命周期图\n\n注意:在继承StatefulWidget重写其方法时,对于包含@mustCallSuper标注的父类方法,都要在子类方法中先调用父类方法。\n状态管理\n响应式的编程框架中都会有一个永恒的主题——“状态管理”,无论是在React/Vue(两者都是支持响应式编程的web开发框架)还是Flutter,他们讨论的问题和解决的思想都是一致的。所以,如果你对React/Vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,stateful widget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:\n\nWidget管理自己的state。\n父widget管理子widget状态。\n混合管理(父widget和子widget都管理状态)。\n\n如何决定使用哪种管理方法?以下原则可以帮助你决定:\n\n如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。\n如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。\n如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。\n\n在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。\n接下来,我们将通过创建三个简单示例TapboxA、TapboxB和TapboxC来说明管理状态的不同方式。 这些例子功能是相似的 ——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态 _active确定颜色:绿色为true ,灰色为false。\n\n下面的例子将使用GestureDetector来识别点击事件,关于该GestureDetector的详细内容我们将在后面“事件处理”一章中介绍。\nWidget管理自身状态\n_TapboxAState 类:\n\n管理TapboxA的状态。\n定义_active:确定盒子的当前颜色的布尔值。\n定义_handleTap()函数,该函数在点击该盒子时更新_active,并调用setState()更新UI。\n实现widget的所有交互式行为。\n\n// TapboxA 管理自身状态.\n\n//------------------------- TapboxA ----------------------------------\n\nclass TapboxA extends StatefulWidget {\n TapboxA({Key key}) : super(key: key);\n\n @override\n _TapboxAState createState() => new _TapboxAState();\n}\n\nclass _TapboxAState extends State {\n bool _active = false;\n\n void _handleTap() {\n setState(() {\n _active = !_active;\n });\n }\n\n Widget build(BuildContext context) {\n return new GestureDetector(\n onTap: _handleTap,\n child: new Container(\n child: new Center(\n child: new Text(\n _active ? 'Active' : 'Inactive',\n style: new TextStyle(fontSize: 32.0, color: Colors.white),\n ),\n ),\n width: 200.0,\n height: 200.0,\n decoration: new BoxDecoration(\n color: _active ? Colors.lightGreen[700] : Colors.grey[600],\n ),\n ),\n );\n }\n}\n\n父widget管理子widget的state\n对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。 例如,IconButton是一个图片按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。\n在以下示例中,TapboxB通过回调将其状态导出到其父项。由于TapboxB不管理任何状态,因此它的父类为StatelessWidget。\nParentWidgetState 类:\n\n为TapboxB 管理_active状态.\n实现_handleTapboxChanged(),当盒子被点击时调用的方法.\n当状态改变时,调用setState()更新UI.\n\nTapboxB 类:\n\n继承StatelessWidget类,因为所有状态都由其父widget处理。\n当检测到点击时,它会通知父widget。\n\n// ParentWidget 为 TapboxB 管理状态.\n\n//------------------------ ParentWidget --------------------------------\n\nclass ParentWidget extends StatefulWidget {\n @override\n _ParentWidgetState createState() => new _ParentWidgetState();\n}\n\nclass _ParentWidgetState extends State {\n bool _active = false;\n\n void _handleTapboxChanged(bool newValue) {\n setState(() {\n _active = newValue;\n });\n }\n\n @override\n Widget build(BuildContext context) {\n return new Container(\n child: new TapboxB(\n active: _active,\n onChanged: _handleTapboxChanged,\n ),\n );\n }\n}\n\n//------------------------- TapboxB ----------------------------------\n\nclass TapboxB extends StatelessWidget {\n TapboxB({Key key, this.active: false, @required this.onChanged})\n : super(key: key);\n\n final bool active;\n final ValueChanged onChanged;\n\n void _handleTap() {\n onChanged(!active);\n }\n\n Widget build(BuildContext context) {\n return new GestureDetector(\n onTap: _handleTap,\n child: new Container(\n child: new Center(\n child: new Text(\n active ? 'Active' : 'Inactive',\n style: new TextStyle(fontSize: 32.0, color: Colors.white),\n ),\n ),\n width: 200.0,\n height: 200.0,\n decoration: new BoxDecoration(\n color: active ? Colors.lightGreen[700] : Colors.grey[600],\n ),\n ),\n );\n }\n}\n\n混合管理\n对于一些widget来说,混合管理的方式非常有用。在这种情况下,widget自身管理一些内部状态,而父widget管理一些其他外部状态。\n在下面TapboxC示例中,按下时,盒子的周围会出现一个深绿色的边框。抬起时,边框消失;点击生效,盒子的颜色改变。 TapboxC将其_active状态导出到其父widget中,但在内部管理其_highlight状态。这个例子有两个状态对象_ParentWidgetState和_TapboxCState。\n_ParentWidgetStateC 对象:\n\n管理_active 状态。\n实现 _handleTapboxChanged() ,当盒子被点击时调用。\n当点击盒子并且_active状态改变时调用setState()更新UI。\n\n_TapboxCState 对象:\n\n管理_highlight state。\nGestureDetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。\n当按下、抬起、或者取消点击时更新_highlight状态,调用setState()更新UI。\n当点击时,将状态的改变传递给父widget.\n\n//---------------------------- ParentWidget ----------------------------\n\nclass ParentWidgetC extends StatefulWidget {\n @override\n _ParentWidgetCState createState() => new _ParentWidgetCState();\n}\n\nclass _ParentWidgetCState extends State {\n bool _active = false;\n\n void _handleTapboxChanged(bool newValue) {\n setState(() {\n _active = newValue;\n });\n }\n\n @override\n Widget build(BuildContext context) {\n return new Container(\n child: new TapboxC(\n active: _active,\n onChanged: _handleTapboxChanged,\n ),\n );\n }\n}\n\n//----------------------------- TapboxC ------------------------------\n\nclass TapboxC extends StatefulWidget {\n TapboxC({Key key, this.active: false, @required this.onChanged})\n : super(key: key);\n\n final bool active;\n final ValueChanged onChanged;\n\n _TapboxCState createState() => new _TapboxCState();\n}\n\nclass _TapboxCState extends State {\n bool _highlight = false;\n\n void _handleTapDown(TapDownDetails details) {\n setState(() {\n _highlight = true;\n });\n }\n\n void _handleTapUp(TapUpDetails details) {\n setState(() {\n _highlight = false;\n });\n }\n\n void _handleTapCancel() {\n setState(() {\n _highlight = false;\n });\n }\n\n void _handleTap() {\n widget.onChanged(!widget.active);\n }\n\n Widget build(BuildContext context) {\n // 在按下时添加绿色边框,当抬起时,取消高亮 \n return new GestureDetector(\n onTapDown: _handleTapDown, // 处理按下事件\n onTapUp: _handleTapUp, // 处理抬起事件\n onTap: _handleTap,\n onTapCancel: _handleTapCancel,\n child: new Container(\n child: new Center(\n child: new Text(widget.active ? 'Active' : 'Inactive',\n style: new TextStyle(fontSize: 32.0, color: Colors.white)),\n ),\n width: 200.0,\n height: 200.0,\n decoration: new BoxDecoration(\n color: widget.active ? Colors.lightGreen[700] : Colors.grey[600],\n border: _highlight\n ? new Border.all(\n color: Colors.teal[700],\n width: 10.0,\n )\n : null,\n ),\n ),\n );\n }\n}\n\n另一种实现可能会将高亮状态导出到父widget,同时保持_active状态为内部,但如果你要将该TapBox给其它人使用,可能没有什么意义。 开发人员只会关心该框是否处于Active状态,而不在乎高亮显示是如何管理的,所以应该让TapBox内部处理这些细节。\n全局状态管理\n当应用中包括一些跨widget(甚至跨路由)的状态需要同步时,上面介绍的方法很难胜任了。比如,我们有一个设置页,里面可以设置应用语言,但是我们为了让设置实时生效,我们期望在语言状态发生改变时,我们的APP Widget能够重新build一下,但我们的APP Widget和设置页并不在一起。正确的做法是通过一个全局状态管理器来处理这种“相距较远”的widget之间的通信。目前主要有两种办法:\n\n实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在APP Widget所在的父widgetinitState 方法中订阅语言改变的事件,当用户在设置页切换语言后,我们触发语言改变事件,然后APP Widget那边就会收到通知,然后重新build一下即可。\n使用redux这样的全局状态包,读者可以在pub上查看其详细信息。\n\n本书后面事件处理一章中会实现一个全局事件总线。\nFlutter widget库介绍\nFlutter提供了一套丰富、强大的基础widget,在基础widget库之上Flutter又提供了一套Material风格(Android默认的视觉风格)和一套Cupertino风格(iOS视觉风格)的widget库。要使用基础widget库,需要先导入:\nimport 'package:flutter/widgets.dart';\n\n下面我们介绍一下常用的widget。\n基础widget\n\nText:该 widget 可让您创建一个带格式的文本。\nRow、 Column: 这些具有弹性空间的布局类Widget可让您在水平(Row)和垂直(Column)方向上创建灵活的布局。其设计是基于web开发中的Flexbox布局模型。\nStack: 取代线性布局 (译者语:和Android中的FrameLayout相似),Stack允许子 widget 堆叠, 你可以使用 Positioned 来定位他们相对于Stack的上下左右四条边的位置。Stacks是基于Web开发中的绝对定位(absolute positioning )布局模型设计的。\nContainer: Container 可让您创建矩形视觉元素。container 可以装饰一个BoxDecoration, 如 background、一个边框、或者一个阴影。 Container 也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外, Container可以使用矩阵在三维空间中对其进行变换。\n\nMaterial widget\nFlutter提供了一套丰富的Material widget,可帮助您构建遵循Material Design的应用程序。Material应用程序以MaterialApp widget开始, 该widget在应用程序的根部创建了一些有用的widget,比如一个Theme,它配置了应用的主题。 是否使用MaterialApp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个Material widget了,如:Scaffold、AppBar、FlatButton等。要使用Material widget,需要先引入它:\nimport 'package:flutter/material.dart';\n\nCupertino widget\nFlutter也提供了一套丰富的Cupertino风格的widget,尽管目前还没有Material widget那么丰富,但也在不断的完善中。值得一提的是在Material widget库中,有一些widget可以根据实际运行平台来切换表现风格,比如MaterialPageRoute,在路由切换时,如果是Android系统,它将会使用Android系统默认的页面切换动画(从底向上),如果是iOS系统时,它会使用iOS系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有Cupertino widget的示例,我们实现一个简单的Cupertino页面:\n//导入cupertino widget库\nimport 'package:flutter/cupertino.dart';\n\nclass CupertinoTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return CupertinoPageScaffold(\n navigationBar: CupertinoNavigationBar(\n middle: Text(\"Cupertino Demo\"),\n ),\n child: Center(\n child: CupertinoButton(\n color: CupertinoColors.activeBlue,\n child: Text(\"Press\"),\n onPressed: () {}\n ),\n ),\n );\n }\n}\n\n下面是在iPhoneX上页面效果截图:\n\n总结\nFlutter提供了丰富的widget,在实际的开发中你可以随意使用它们,不要怕引入过多widget库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于Material和Cupertino都是在基础widget库之上的,所以如果你的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。\n"},"chapter3/text.html":{"url":"chapter3/text.html","title":"文本、字体样式","keywords":"","body":"文本及样式\nText\nText用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:\nText(\"Hello world\",\n textAlign: TextAlign.center,\n);\n\nText(\"Hello world! I'm Jack. \"*4,\n maxLines: 1,\n overflow: TextOverflow.ellipsis,\n);\n\nText(\"Hello world\",\n textScaleFactor: 1.5,\n);\n\n运行效果如下:\n\n\ntextAlign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有Text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:\nText(\"Hello world \"*6, //字符串重复六次\n textAlign: TextAlign.center,\n);\n\n运行效果如下:\n\n\n\n​ 字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。\n\nmaxLines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式TextOverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;TextOverflow的其它截断方式请参考SDK文档。\ntextScaleFactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。\n\nTextStyle\nTextStyle用于指定文本显示的样式如颜色、字体、粗细、背景等。我们看一个示例:\nText(\"Hello world\",\n style: TextStyle(\n color: Colors.blue,\n fontSize: 18.0,\n height: 1.2, \n fontFamily: \"Courier\",\n background: new Paint()..color=Colors.yellow,\n decoration:TextDecoration.underline,\n decorationStyle: TextDecorationStyle.dashed\n ),\n);\n\n效果如下:\n\n此示例只展示了TextStyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅SDK文档。值得注意的是:\n\nheight:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height。\n\nfontFamily :由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。\n\nfontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两给主要区别:\n\nfontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。\ntextScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本。\n\n\n\nTextSpan\n在上面的例子中,Text的所有文本内容只能按同一种样式,如果我们需要对一个Text内容的不同部分按照不同的样式显示,这时就可以使用TextSpan,它代表文本的一个“片段”。我们看看TextSpan的定义:\nconst TextSpan({\n TextStyle style, \n Sting text,\n List children,\n GestureRecognizer recognizer,\n});\n\n其中style 和 text属性代表该文本片段的样式和内容。 children是一个TextSpan的数组,也就是说TextSpan可以包括其他TextSpan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果,然后用TextSpan实现它。\n\n源码:\nText.rich(TextSpan(\n children: [\n TextSpan(\n text: \"Home: \"\n ),\n TextSpan(\n text: \"https://flutterchina.club\",\n style: TextStyle(\n color: Colors.blue\n ), \n recognizer: _tapRecognizer\n ),\n ]\n))\n\n\n上面代码中,我们通过TextSpan实现了一个基础文本片段和一个链接片段,然后通过Text.rich 方法将TextSpan 添加到Text中,之所以可以这样做,是因为Text其实就是RichText的一个包装,而RichText是可以显示多种样式(富文本)的widget。\n_tapRecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。\n\nDefaultTextStyle\n在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而DefaultTextStyle正是用于设置默认文本样式的。下面我们看一个例子:\nDefaultTextStyle(\n //1.设置文本默认样式 \n style: TextStyle(\n color:Colors.red,\n fontSize: 20.0,\n ),\n textAlign: TextAlign.start,\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Text(\"hello world\"),\n Text(\"I am Jack\"),\n Text(\"I am Jack\",\n style: TextStyle(\n inherit: false, //2.不继承默认样式\n color: Colors.grey\n ),\n ),\n ],\n ),\n);\n\n上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过DefaultTextStyle 设置给了子树Column节点处,这样一来Column的所有子孙Text默认都会继承该样式,除非Text显示指定不继承样式,如代码中注释2。示例运行效果如下:\n\n使用字体\n可以在Flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如Google Fonts中的字体。本节将介绍如何为Flutter应用配置字体,并在渲染文本时使用它们。\n在Flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过TextStyle属性使用字体。\n在asset中声明\n要将字体打文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如:\nflutter:\n fonts:\n - family: Raleway\n fonts:\n - asset: assets/fonts/Raleway-Regular.ttf\n - asset: assets/fonts/Raleway-Medium.ttf\n weight: 500\n - asset: assets/fonts/Raleway-SemiBold.ttf\n weight: 600\n - family: AbrilFatface\n fonts:\n - asset: assets/fonts/abrilfatface/AbrilFatface-Regular.ttf\n\n使用字体\n// 声明文本样式\nconst textStyle = const TextStyle(\n fontFamily: 'Raleway',\n);\n\n// 使用文本样式\nvar buttonText = const Text(\n \"Use the font for this text\",\n style: textStyle,\n);\n\nPackage中的字体\n要使用Package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建TextStyle的过程如下:\nconst textStyle = const TextStyle(\n fontFamily: 'Raleway',\n package: 'my_package', //指定包名\n);\n\n如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。\n一个包也可以只提供字体文件而不需要在pubspec.yaml中声明。 这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件:\nlib/fonts/Raleway-Medium.ttf\n然后,应用程序可以声明一个字体,如下面的示例所示:\n flutter:\n fonts:\n - family: Raleway\n fonts:\n - asset: assets/fonts/Raleway-Regular.ttf\n - asset: packages/my_package/fonts/Raleway-Medium.ttf\n weight: 500\n\nlib/是隐含的,所以它不应该包含在asset路径中。\n在这种情况下,由于应用程序本地定义了字体,所以在创建TextStyle时可以不指定package参数:\nconst textStyle = const TextStyle(\n fontFamily: 'Raleway',\n);\n\n"},"chapter3/buttons.html":{"url":"chapter3/buttons.html","title":"按钮","keywords":"","body":"按钮\nMaterial widget库中提供了多种按钮Widget如RaisedButton、FlatButton、OutlineButton等,它们都是直接或间接对RawMaterialButton的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有Material 库中的按钮都有如下相同点:\n\n按下时都会有“水波动画”。\n有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。\n\nRaisedButton\nRaisedButton 即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如:\n\n使用RaisedButton非常简单,如:\nRaisedButton(\n child: Text(\"normal\"),\n onPressed: () => {},\n);\n\nFlatButton\nFlatButton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色:\n\n使用FlatButton也很简单,代码如下:\nFlatButton(\n child: Text(\"normal\"),\n onPressed: () => {},\n)\n\nOutlineButton\nOutlineButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱):\n\n使用OutlineButton也很简单,代码如下:\nOutlineButton(\n child: Text(\"normal\"),\n onPressed: () => {},\n)\n\nIconButton\nIconButton是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景:\n\n使用代码如下:\nIconButton(\n icon: Icon(Icons.thumb_up),\n onPressed: () => {},\n)\n\n自定义按钮外观\n按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以FlatButton为例,介绍一下常见的按钮属性,详细的信息可以查看API文档。\nconst FlatButton({\n ... \n @required this.onPressed, //按钮点击回调\n this.textColor, //按钮文字颜色\n this.disabledTextColor, //按钮禁用时的文字颜色\n this.color, //按钮背景颜色\n this.disabledColor,//按钮禁用时的背景颜色\n this.highlightColor, //按钮按下时的背景颜色\n this.splashColor, //点击时,水波动画中水波的颜色\n this.colorBrightness,//按钮主题,默认是浅色主题 \n this.padding, //按钮的填充\n this.shape, //外形\n @required this.child, //按钮的内容\n})\n\n其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。\n示例\n定义一个背景蓝色,两边圆角的按钮。效果如下:\n\n代码如下:\nFlatButton(\n color: Colors.blue,\n highlightColor: Colors.blue[700],\n colorBrightness: Brightness.dark,\n splashColor: Colors.grey,\n child: Text(\"Submit\"),\n shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),\n onPressed: () => {},\n)\n\n很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorBrightness为Brightness.dark,这是为了保证按钮文字颜色为浅色。\n细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的FlatButton换成RaisedButton就行,其它代码不用改,换了之后我们看看效果:\n\n是不是有质感了!之所以会这样,是因为RaisedButton默认有配置阴影:\nconst RaisedButton({\n ...\n this.elevation = 2.0, //正常状态下的阴影\n this.highlightElevation = 8.0,//按下时的阴影\n this.disabledElevation = 0.0,// 禁用时的阴影\n ...\n}\n\n值得注意的是,在Material widget库中,我们会在很多widget中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在Material设计风格中是一种很重要的表现形式,以后在介绍其它widget时,便不再赘述。\n如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,本文将在后面介绍Container时来介绍如何实现。\n"},"chapter3/img_and_icon.html":{"url":"chapter3/img_and_icon.html","title":"图片和Icon","keywords":"","body":"图片及ICON\n图片\nFlutter中,我们可以通过Image来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。\nImageProvider\nImageProvider 是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvider ,如AssetImage是实现了从Asset中加载图片的ImageProvider,而NetworkImage实现了从网络加载图片的ImageProvider。\nImage\nImage widget有一个必选的image参数,它对应一个ImageProvider。下面我们分别演示一下如何从asset和网络加载图片。\n从asset中加载图片\n\n在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。\n\n在pubspec.yml中的flutter部分添加如下内容:\nassets:\n - images/avatar.png\n\n\n加载该图片\nImage(\n image: AssetImage(\"images/avatar.png\"),\n width: 100.0\n);\n\nImage也提供了一个快捷的构造函数Image.asset用于从asset中加载、显示图片:\nImage.asset(\"images/avatar.png\",\n width: 100.0,\n)\n\n\n\n从网络加载图片\nImage(\n image: NetworkImage(\n \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"),\n width: 100.0,\n)\n\nImage也提供了一个快捷的构造函数Image.network用于从网络加载、显示图片:\nImage.network(\n \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",\n width: 100.0,\n)\n\n运行上面两个示例,图片加载成功后显示如下:\n\n参数\nImage在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下Image的主要参数:\nconst Image({\n ...\n this.width, //图片的宽\n this.height, //图片高度\n this.color, //图片的混合色值\n this.colorBlendMode, //混合模式\n this.fit,//缩放模式\n this.alignment = Alignment.center, //对齐方式\n this.repeat = ImageRepeat.noRepeat, //重复方式\n ...\n})\n\n\nwidth、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。\n\nfit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在BoxFit中定义,它是一个枚举类型,有如下值:\n\nfill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。\ncover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。\ncontain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。\nfitWidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。\nfitHeight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。\nnone:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。\n\n一图胜万言:\n\n\n\n\ncolor和 colorBlendMode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorBlendMode指定混合模式,下面是一个简单的示例:\nImage(\n image: AssetImage(\"images/avatar.png\"),\n width: 100.0,\n color: Colors.blue,\n colorBlendMode: BlendMode.difference,\n);\n\n\n\n运行效果如下(彩色):\n\n\nrepeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:\nImage(\n image: AssetImage(\"images/avatar.png\"),\n width: 100.0,\n height: 200.0,\n repeat: ImageRepeat.repeatY ,\n)\n\n运行后效果如下:\n\n\n\nICON\nFlutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。\n\n在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。\n\n在Flutter开发中,iconfont和图片相比有如下优势:\n\n体积小:可以减小安装包大小。\n矢量的:iconfont都是矢量图标,放大不会影响其清晰度。\n可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。\n可以通过TextSpan和文本混用。\n\n使用Material Design字体图标\nFlutter默认包含了一套Material Design的字体图标,在pubspec.yaml文件中的配置如下\nflutter:\n uses-material-design: true\n\nMaterial Design所有图标可以在其官网查看:https://material.io/tools/icons/\n我们看一个简单的例子:\nString icons = \"\";\n// accessible:  or 0xE914 or E914\nicons += \"\\uE914\";\n// error:  or 0xE000 or E000\nicons += \" \\uE000\";\n// fingerprint:  or 0xE90D or E90D\nicons += \" \\uE90D\";\n\nText(icons,\n style: TextStyle(\n fontFamily: \"MaterialIcons\",\n fontSize: 24.0,\n color: Colors.green\n ),\n);\n\n运行效果如下:\n\n通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,Flutter封装了一个IconData和Icon来专门显示字体图标,上面的例子也可以用如下方式实现:\nRow(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Icon(Icons.accessible,color: Colors.green,),\n Icon(Icons.error,color: Colors.green,),\n Icon(Icons.fingerprint,color: Colors.green,),\n ],\n)\n\nIcons类中包含了所有Material Design图标的IconData静态变量定义。\n使用自定义字体图标\n我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在Flutter中,我们使用ttf格式即可。\n假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:\n\n导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":\nfonts:\n - family: myIcon #指定一个字体名\n fonts:\n - asset: fonts/iconfont.ttf\n\n\n为了使用方便,我们定义一个MyIcons类,功能和Icons类一样:将字体文件中的所有图标都定义成静态变量:\nclass MyIcons{\n // book 图标\n static const IconData book = const IconData(\n 0xe614, \n fontFamily: 'myIcon', \n matchTextDirection: true\n );\n // 微信图标\n static const IconData wechat = const IconData(\n 0xec7d, \n fontFamily: 'myIcon', \n matchTextDirection: true\n );\n}\n\n\n使用\nRow(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Icon(MyIcons.book,color: Colors.purple,),\n Icon(MyIcons.wechat,color: Colors.green,),\n ],\n)\n\n运行后效果如下:\n\n\n\n"},"chapter3/radio_and_checkbox.html":{"url":"chapter3/radio_and_checkbox.html","title":"单选框和复选框","keywords":"","body":"单选开关和复选框\nMaterial widgets库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击Switch或Checkbox时,它们会触发onChanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例:\nclass SwitchAndCheckBoxTestRoute extends StatefulWidget {\n @override\n _SwitchAndCheckBoxTestRouteState createState() => new _SwitchAndCheckBoxTestRouteState();\n}\n\nclass _SwitchAndCheckBoxTestRouteState extends State {\n bool _switchSelected=true; //维护单选开关状态\n bool _checkboxSelected=true;//维护复选框状态\n @override\n Widget build(BuildContext context) {\n return Column(\n children: [\n Switch(\n value: _switchSelected,//当前状态\n onChanged:(value){\n //重新构建页面 \n setState(() {\n _switchSelected=value;\n });\n },\n ),\n Checkbox(\n value: _checkboxSelected,\n activeColor: Colors.red, //选中时的颜色\n onChanged:(value){\n setState(() {\n _checkboxSelected=value;\n });\n } ,\n )\n ],\n );\n }\n}\n\n上面代码中,由于要维护Switch和Checkbox状态,所以SwitchAndCheckBoxTestRoute继承自StatefulWidget 。在其build方法中分别构建了一个Switch和Checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setState()通知framework重新构建UI。\n属性及外观\nSwitch和Checkbox属性比较简单,读者可以查看API文档,它们都有一个activeColor属性,用于设置激活态的颜色。至于大小,到目前为止,Checkbox的大小是固定的,无法自定义,而Switch只能定义宽度,高度也是固定的。值得一提的是Checkbox有一个属性tristate ,表示是否为三态,其默认值为false ,这时Checkbox有两种状态即“选中”和“不选中”,对应的value值为true和false ;如果其值为true时,value的值会增加一个状态null,读者可以自行了解。\n总结\n通过Switch和Checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父widget来管理状态,然后当用户点击时,再通过事件通知给父widget,这样是合理的,因为Switch和Checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义widget时也应该思考一下哪种状态的管理方式最为合理。\n"},"chapter3/input_and_form.html":{"url":"chapter3/input_and_form.html","title":"输入框和表单","keywords":"","body":"输入框及表单\nMaterial widget库中提供了丰富的输入框及表单Widget。下面我们分别介绍一下。\nTextField\nTextField用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。\nconst TextField({\n ...\n TextEditingController controller, \n FocusNode focusNode,\n InputDecoration decoration = const InputDecoration(),\n TextInputType keyboardType,\n TextInputAction textInputAction,\n TextStyle style,\n TextAlign textAlign = TextAlign.start,\n bool autofocus = false,\n bool obscureText = false,\n int maxLines = 1,\n int maxLength,\n bool maxLengthEnforced = true,\n ValueChanged onChanged,\n VoidCallback onEditingComplete,\n ValueChanged onSubmitted,\n List inputFormatters,\n bool enabled,\n this.cursorWidth = 2.0,\n this.cursorRadius,\n this.cursorColor,\n ...\n})\n\n\ncontroller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则TextField内部会自动创建一个。\n\nfocusNode:用于控制TextField是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。\n\nInputDecoration:用于控制TextField的外观显示,如提示文本、背景颜色、边框等。\n\nkeyboardType:用于设置该输入框默认的键盘输入类型,取值如下:\n| TextInputType枚举值 | 含义 |\n| ------------------- | --------------------------------------------------- |\n| text | 文本输入键盘 |\n| multiline | 多行文本,需和maxLines配合使用(设为null或大于1) |\n| number | 数字;会弹出数字键盘 |\n| phone | 优化后的电话号码输入键盘;会弹出数字键盘并显示\"* #\" |\n| datetime | 优化后的日期输入键盘;Android上会显示“: -” |\n| emailAddress | 优化后的电子邮件地址;会显示“@ .” |\n| url | 优化后的url输入键盘; 会显示“/ .” |\n\ntextInputAction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看API文档,下面是当值为TextInputAction.search时,原生Android系统下键盘样式:\n\n\n\n \n\nstyle:正在编辑的文本样式。\ntextAlign: 输入框内编辑文本在水平方向的对齐方式。\nautofocus: 是否自动获取焦点。\nobscureText:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。\nmaxLines:输入框的最大行数,默认为1;如果为null,则无行数限制。\nmaxLength和maxLengthEnforced :maxLength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxLengthEnforced决定当输入文本长度超过maxLength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。\nonChange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。\nonEditingComplete和onSubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onSubmitted回调是ValueChanged类型,它接收当前输入内容做为参数,而onEditingComplete不接收参数。\ninputFormatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。\nenable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。\ncursorWidth、cursorRadius和cursorColor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。\n\n示例:登录输入框\n布局\nColumn(\n children: [\n TextField(\n autofocus: true,\n decoration: InputDecoration(\n labelText: \"用户名\",\n hintText: \"用户名或邮箱\",\n prefixIcon: Icon(Icons.person)\n ),\n ),\n TextField(\n decoration: InputDecoration(\n labelText: \"密码\",\n hintText: \"您的登录密码\",\n prefixIcon: Icon(Icons.lock)\n ),\n obscureText: true,\n ),\n ],\n);\n\n\n获取输入内容\n获取输入内容有两种方式:\n\n定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。\n通过controller直接获取。\n\n第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:\n定义一个controller:\n//定义一个controller\nTextEditingController _unameController=new TextEditingController();\n\n然后设置输入框controller:\nTextField(\n autofocus: true,\n controller: _unameController, //设置controller\n ...\n)\n\n通过controller获取输入框内容\nprint(_unameController.text)\n\n监听文本变化\n监听文本变化也有两种方式:\n\n设置onChange回调,如:\nTextField(\n autofocus: true,\n onChanged: (v) {\n print(\"onChange: $v\");\n }\n)\n\n通过controller监听,如:\n@override\nvoid initState() {\n //监听输入改变 \n _unameController.addListener((){\n print(_unameController.text);\n });\n}\n\n\n\n两种方式相比,onChanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:\n创建一个controller:\nTextEditingController _selectionController = new TextEditingController();\n设置默认值,并从第三个字符开始选中后面的字符\n_selectionController.text=\"hello world!\";\n_selectionController.selection=TextSelection(\n baseOffset: 2,\n extentOffset: _selectionController.text.length\n);\n设置controller:\nTextField(\n controller: _selectionController,\n)\n运行效果如下:\n\n控制焦点\n焦点可以通过FocusNode和FocusScopeNode来控制,默认情况下,焦点由FocusScope来管理,它代表焦点控制范围,可以在这个范围内可以通过FocusScopeNode在输入框之间移动焦点、设置默认焦点等。我们可以通过FocusScope.of(context) 来获取widget树中默认的FocusScopeNode。下面看一个示例,在此示例中创建两个TextField,第一个自动获取焦点,然后创建两个按钮:\n\n点击第一个按钮可以将焦点从第一个TextField挪到第二个TextField。\n点击第二个按钮可以关闭键盘。\n\n界面如下:\n\n代码如下:\nclass FocusTestRoute extends StatefulWidget {\n @override\n _FocusTestRouteState createState() => new _FocusTestRouteState();\n}\n\nclass _FocusTestRouteState extends State {\n FocusNode focusNode1 = new FocusNode();\n FocusNode focusNode2 = new FocusNode();\n FocusScopeNode focusScopeNode;\n\n @override\n Widget build(BuildContext context) {\n return Padding(\n padding: EdgeInsets.all(16.0),\n child: Column(\n children: [\n TextField(\n autofocus: true, \n focusNode: focusNode1,//关联focusNode1\n decoration: InputDecoration(\n labelText: \"input1\"\n ),\n ),\n TextField(\n focusNode: focusNode2,//关联focusNode2\n decoration: InputDecoration(\n labelText: \"input2\"\n ),\n ),\n Builder(builder: (ctx) {\n return Column(\n children: [\n RaisedButton(\n child: Text(\"移动焦点\"),\n onPressed: () {\n //将焦点从第一个TextField移到第二个TextField\n // 这是一种写法 FocusScope.of(context).requestFocus(focusNode2);\n // 这是第二种写法\n if(null == focusScopeNode){\n focusScopeNode = FocusScope.of(context);\n }\n focusScopeNode.requestFocus(focusNode2);\n },\n ),\n RaisedButton(\n child: Text(\"隐藏键盘\"),\n onPressed: () {\n // 当所有编辑框都失去焦点时键盘就会收起 \n focusNode1.unfocus();\n focusNode2.unfocus();\n },\n ),\n ],\n );\n },\n ),\n ],\n ),\n );\n }\n\n}\n\nFocusNode和FocusScopeNode还有一些其它的方法,详情可以查看API文档。\n监听焦点状态改变事件\nFocusNode继承自ChangeNotifier,通过FocusNode可以监听焦点的改变事件,如:\n...\n// 创建 focusNode \nFocusNode focusNode = new FocusNode();\n...\n// focusNode绑定输入框 \nTextField(focusNode: focusNode);\n...\n// 监听焦点变化 \nfocusNode.addListener((){\n print(focusNode.hasFocus);\n});\n\n获得焦点时focusNode.hasFocus值为true,失去焦点时为false。\n自定义样式\n虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果:\nTextField(\n ...\n decoration: InputDecoration(\n border: UnderlineInputBorder(\n //下面代码没有效果\n borderSide: BorderSide(\n color: Colors.red,\n width: 5.0\n )),\n prefixIcon: Icon(Icons.person)\n ),\n),\n\n之所以如此,是由于TextField在绘制下划线时使用的颜色是主题色里面的hintColor,但提示文本颜色也是用的hintColor, 如果我们直接修改hintColor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintStyle,它可以覆盖hintColor,并且主题中可以通过inputDecorationTheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下:\nTheme(\n data: Theme.of(context).copyWith(\n hintColor: Colors.grey[200], //定义下划线颜色\n inputDecorationTheme: InputDecorationTheme(\n labelStyle: TextStyle(color: Colors.grey),//定义label字体样式\n hintStyle: TextStyle(color: Colors.grey, fontSize: 14.0)//定义提示文本样式\n )\n ),\n child: Column(\n children: [\n TextField(\n decoration: InputDecoration(\n labelText: \"用户名\",\n hintText: \"用户名或邮箱\",\n prefixIcon: Icon(Icons.person)\n ),\n ),\n TextField(\n decoration: InputDecoration(\n prefixIcon: Icon(Icons.lock),\n labelText: \"密码\",\n hintText: \"您的登录密码\",\n hintStyle: TextStyle(color: Colors.grey, fontSize: 13.0)\n ),\n obscureText: true,\n )\n ],\n )\n)\n\n运行效果如下:\n\n我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labelText不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉TextField本身的下划线,然后通过Container去嵌套定义样式,如:\nContainer(\n child: TextField(\n keyboardType: TextInputType.emailAddress,\n decoration: InputDecoration(\n labelText: \"Email\",\n hintText: \"电子邮件地址\",\n prefixIcon: Icon(Icons.email),\n border: InputBorder.none //隐藏下划线\n )\n ),\n decoration: BoxDecoration(\n // 下滑线浅灰色,宽度1像素\n border: Border(bottom: BorderSide(color: Colors.grey[200], width: 1.0))\n ),\n)\n\n运行效果:\n\n通过这种widget组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。\n\n思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?\n\n表单Form\n实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form widget,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。\nForm\nForm继承自StatefulWidget对象,它对应的状态类为FormState。我们先看看Form类的定义:\nForm({\n @required Widget child,\n bool autovalidate = false,\n WillPopCallback onWillPop,\n VoidCallback onChanged,\n})\n\nautovalidate:是否自动校验输入内容;当为true时,每一个子FormField内容发生变化时都会自动校验合法性,并直接显示错误信息。否则,需要通过调用FormState.validate()来手动校验。\nonWillPop:决定Form所在的路由是否可以直接返回(如点击返回按钮),该回调返回一个Future对象,如果Future的最终结果是false,则当前路由不会返回;如果为true,则会返回到上一个路由。此属性通常用于拦截返回按钮。\nonChanged:Form的任意一个子FormField内容发生变化时会触发此回调。\n\nFormField\nForm的子孙元素必须是FormField类型,FormField是一个抽象类,定义几个属性,FormState内部通过它们来完成操作,FormField部分定义如下:\nconst FormField({\n ...\n FormFieldSetter onSaved, //保存回调\n FormFieldValidator validator, //验证回调\n T initialValue, //初始值\n bool autovalidate = false, //是否自动校验。\n})\n\n为了方便使用,Flutter提供了一个TextFormField widget,它继承自FormField类,也是TextField的一个包装类,所以除了FormField定义的属性之外,它还包括TextField的属性。\nFormState\nFormState为Form的State类,可以通过Form.of()或GlobalKey获得。我们可以通过它来对Form的子孙FormField进行统一操作。我们看看其常用的三个方法:\n\nFormState.validate():调用此方法后,会调用Form子孙FormField的validate回调,如果有一个校验失败,则返回false,所有校验失败项都会返回用户返回的错误提示。\nFormState.save():调用此方法后,会调用Form子孙FormField的save回调,用于保存表单内容\nFormState.reset():调用此方法后,会将子孙FormField的内容清空。\n\n示例\n我们修改一下上面用户登录的示例,在提交之前校验:\n\n用户名不能为空,如果为空则提示“用户名不能为空”。\n密码不能小于6位,如果小于6为则提示“密码不能少于6位”。\n\n完整代码:\nclass FormTestRoute extends StatefulWidget {\n @override\n _FormTestRouteState createState() => new _FormTestRouteState();\n}\n\nclass _FormTestRouteState extends State {\n TextEditingController _unameController = new TextEditingController();\n TextEditingController _pwdController = new TextEditingController();\n GlobalKey _formKey= new GlobalKey();\n\n @override\n Widget build(BuildContext context) {\n return PageScaffold(\n title: \"Form Test\",\n body: Padding(\n padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 24.0),\n child: Form(\n key: _formKey, //设置globalKey,用于后面获取FormState\n autovalidate: true, //开启自动校验\n child: Column(\n children: [\n TextFormField(\n autofocus: true,\n controller: _unameController,\n decoration: InputDecoration(\n labelText: \"用户名\",\n hintText: \"用户名或邮箱\",\n icon: Icon(Icons.person)\n ),\n // 校验用户名\n validator: (v) {\n return v\n .trim()\n .length > 0 ? null : \"用户名不能为空\";\n }\n\n ),\n TextFormField(\n controller: _pwdController,\n decoration: InputDecoration(\n labelText: \"密码\",\n hintText: \"您的登录密码\",\n icon: Icon(Icons.lock)\n ),\n obscureText: true,\n //校验密码\n validator: (v) {\n return v\n .trim()\n .length > 5 ? null : \"密码不能少于6位\";\n }\n ),\n // 登录按钮\n Padding(\n padding: const EdgeInsets.only(top: 28.0),\n child: Row(\n children: [\n Expanded(\n child: RaisedButton(\n padding: EdgeInsets.all(15.0),\n child: Text(\"登录\"),\n color: Theme\n .of(context)\n .primaryColor,\n textColor: Colors.white,\n onPressed: () {\n //在这里不能通过此方式获取FormState,context不对\n //print(Form.of(context));\n\n // 通过_formKey.currentState 获取FormState后,\n // 调用validate()方法校验用户名密码是否合法,校验\n // 通过后再提交数据。 \n if((_formKey.currentState as FormState).validate()){\n //验证通过提交数据\n }\n },\n ),\n ),\n ],\n ),\n )\n ],\n ),\n ),\n ),\n );\n }\n}\n\n运行后:\n\n注意,登录按钮的onPressed方法中不能通过Form.of(context)来获取,原因是,此处的context为FormTestRoute的context,而Form.of(context)是根据所指定context向根去查找,而FormState是在FormTestRoute的子树中,所以不行。正确的做法是通过Builder来构建登录按钮,Builder会将widget节点的context作为回调参数:\nExpanded(\n // 通过Builder来获取RaisedButton所在widget树的真正context(Element) \n child:Builder(builder: (context){\n return RaisedButton(\n ...\n onPressed: () {\n //由于本widget也是Form的子代widget,所以可以通过下面方式获取FormState \n if(Form.of(context).validate()){\n //验证通过提交数据\n }\n },\n );\n })\n)\n\n其实context正是操作Widget所对应的Element的一个接口,由于Widget树对应的Element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。Flutter中有很多“of(context)”这种方法,在使用时读者一定要注意context是否正确。\n"},"chapter4/":{"url":"chapter4/","title":"布局类Widgets","keywords":"","body":"本章目录\n\n布局类Widgets简介\n线性布局Row、Column\n弹性布局Flex\n流式布局Wrap、Flow \n层叠布局Stack、Positioned \n\n"},"chapter4/intro.html":{"url":"chapter4/intro.html","title":"布局类Widgets简介","keywords":"","body":"布局类Widget\n简介\n布局类Widget都会包含一个或多个子widget,不同的布局类Widget对子widget排版(layout)方式不同。我们在前面说过Element树才是最终的绘制树,Element树是通过widget树来创建的(通过Widget.createElement()),widget其实就是Element的配置数据。Flutter中,根据Widget是否需要包含子节点将Widget分为了三类,分别对应三种Element,如下表:\n\n\n\nWidget\n对应的Element\n用途\n\n\n\n\nLeafRenderObjectWidget\nLeafRenderObjectElement\nWidget树的叶子节点,用于没有子节点的widget,通常基础widget都属于这一类,如Text、Image。\n\n\nSingleChildRenderObjectWidget\nSingleChildRenderObjectElement\n包含一个子Widget,如:ConstrainedBox、DecoratedBox等\n\n\nMultiChildRenderObjectWidget\nMultiChildRenderObjectElement\n包含多个子Widget,一般都有一个children参数,接受一个Widget数组。如Row、Column、Stack等\n\n\n\n\n注意,Flutter中的很多Widget是直接继承自StatelessWidget或StatefulWidget,然后在build()方法中构建真正的RenderObjectWidget,如Text,它其实是继承自StatelessWidget,然后在build()方法中通过RichText来构建其子树,而RichText才是继承自LeafRenderObjectWidget。所以为了方便叙述,我们也可以直接说Text属于LeafRenderObjectWidget(其它widget也可以这么描述),这才是本质。读到这里我们也会发现,其实StatelessWidget和StatefulWidget就是两个用于组合Widget的基类,它们本身并不关联最终的渲染对象(RenderObjectWidget)。\n\n布局类Widget就是指直接或间接继承(包含)MultiChildRenderObjectWidget的Widget,它们一般都会有一个children属性用于接收子Widget。我们看一下继承关系 Widget > RenderObjectWidget > (Leaf/SingleChild/MultiChild)RenderObjectWidget 。RenderObjectWidget类中定义了创建、更新RenderObject的方法,子类必须实现他们,关于RenderObject我们现在只需要知道它是最终布局、渲染UI界面的对象即可,也就是说,对于布局类Widget来说,其布局算法都是通过对应的RenderObject对象来实现的,所以读者如果对接下来介绍的某个布局类Widget原理感兴趣,可以查看其RenderObject的实现,而在本章中,为了让读者对布局类Widget有个快速的认识,所以我们不会深入到RenderObject的细节中区。在学习本章时,读者的重点是掌握不同布局类Widget的布局特点,具体原理和细节我们会在后面高级部分介绍。\n"},"chapter4/row_and_column.html":{"url":"chapter4/row_and_column.html","title":"线性布局Row、Column","keywords":"","body":"线性布局Row和Column\n所谓线性布局,即指沿水平或垂直方向排布子Widget。Flutter中通过Row和Column来实现线性布局,类似于Android中的LinearLayout控件。Row和Column都继承自Flex,我们将在弹性布局一节中详细介绍Flex。\n主轴和纵轴\n对于线性布局,有主轴和纵轴之分,如果布局是沿水平方,那么主轴就指是水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类MainAxisAlignment和CrossAxisAlignment,分别代表主轴对齐和纵轴对齐。\nRow\nRow可以在水平方向排列其子widget。定义如下:\nRow({\n ... \n TextDirection textDirection, \n MainAxisSize mainAxisSize = MainAxisSize.max, \n MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,\n VerticalDirection verticalDirection = VerticalDirection.down, \n CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,\n List children = const [],\n})\n\n\ntextDirection:表示水平方向子widget的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。\nmainAxisSize:表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则Row的实际宽度等于所有子widgets占用的的水平空间;\nmainAxisAlignment:表示子Widgets在Row所占用的水平空间内对齐方式,如果mainAxisSize值为MainAxisSize.min,则此属性无意义,因为子widgets的宽度等于Row的宽度。只有当mainAxisSize的值为MainAxisSize.max时,此属性才有意义,MainAxisAlignment.start表示沿textDirection的初始方向对齐,如textDirection取值为TextDirection.ltr时,则MainAxisAlignment.start表示左对齐,textDirection取值为TextDirection.rtl时表示从右对齐。而MainAxisAlignment.end和MainAxisAlignment.start正好相反;MainAxisAlignment.center表示居中对齐。读者可以这么理解:textDirection是mainAxisAlignment的参考系。\nverticalDirection:表示Row纵轴(垂直)的对齐方向,默认是VerticalDirection.down,表示从上到下。\ncrossAxisAlignment:表示子Widgets在纵轴方向的对齐方式,Row的高度等于子Widgets中最高的子元素高度,它的取值和MainAxisAlignment一样(包含start、end、 center三个值),不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为VerticalDirection.down时crossAxisAlignment.start指顶部对齐,verticalDirection值为VerticalDirection.up时,crossAxisAlignment.start指底部对齐;而crossAxisAlignment.end和crossAxisAlignment.start正好相反;\nchildren :子Widgets数组。\n\n示例\n请阅读下面代码,想象一下运行的结果:\nColumn(\n //测试Row对齐方式,排除Column默认居中对齐的干扰\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Text(\" hello world \"),\n Text(\" I am Jack \"),\n ],\n ),\n Row(\n mainAxisSize: MainAxisSize.min,\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Text(\" hello world \"),\n Text(\" I am Jack \"),\n ],\n ),\n Row(\n mainAxisAlignment: MainAxisAlignment.end,\n textDirection: TextDirection.rtl,\n children: [\n Text(\" hello world \"),\n Text(\" I am Jack \"),\n ],\n ),\n Row(\n crossAxisAlignment: CrossAxisAlignment.start, \n verticalDirection: VerticalDirection.up,\n children: [\n Text(\" hello world \", style: TextStyle(fontSize: 30.0),),\n Text(\" I am Jack \"),\n ],\n ),\n ],\n);\n\n运行结果:\n\n解释:第一个Row很简单,默认为居中对齐;第二个Row,由于mainAxisSize值为MainAxisSize.min,Row的宽度等于两个Text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个Row设置textDirection值为TextDirection.rtl,所以子widget会从右向左的顺序排列,而此时MainAxisAlignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个Row测试的是纵轴的对齐方式,由于两个子Text字体不一样,所以其高度也不同,我们指定了verticalDirection值为VerticalDirection.up,即从低向顶排列,而此时crossAxisAlignment值为CrossAxisAlignment.start表示底对齐。\nColumn\nColumn可以在垂直方向排列其子widget。参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比Row来理解,在此不再赘述。\n特殊情况\n如果Row里面嵌套Row,或者Column里面再嵌套Column,那么只有对最外面的Row或Column会占用尽可能大的空间,里面Row或Column所占用的空间为实际大小,下面以Column为例说明:\nContainer(\n color: Colors.green,\n child: Padding(\n padding: const EdgeInsets.all(16.0),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisSize: MainAxisSize.max, //有效,外层Colum高度为整个屏幕\n children: [\n Container(\n color: Colors.red,\n child: Column(\n mainAxisSize: MainAxisSize.max,//无效,内层Colum高度为实际高度 \n children: [\n Text(\"hello world \"),\n Text(\"I am Jack \"),\n ],\n ),\n )\n ],\n ),\n ),\n);\n\n运行结果:\n\n如果要让里面的Colum占满外部Colum,可以使用Expanded widget:\nExpanded( \n child: Container(\n color: Colors.red,\n child: Column(\n mainAxisAlignment: MainAxisAlignment.center, //垂直方向居中对齐\n children: [\n Text(\"hello world \"),\n Text(\"I am Jack \"),\n ],\n ),\n ),\n)\n\n运行效果:\n\n我们将在介绍弹性布局时详细介绍Expanded。\n"},"chapter4/flex.html":{"url":"chapter4/flex.html","title":"弹性布局Flex","keywords":"","body":"弹性布局\n弹性布局允许子widget按照一定比例来分配父容器空间,弹性布局的概念在其UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout。Flutter中的弹性布局主要通过Flex和Expanded来配合实现。\nFlex\nFlex可以沿着水平或垂直方向排列子widget,如果你知道主轴方向,使用Row或Column会方便一些,因为Row和Column都继承自Flex,参数基本相同,所以能使用Flex的地方一定可以使用Row或Column。Flex本身功能是很强大的,它也可以和Expanded配合实现弹性布局,接下来我们只讨论Flex和弹性布局相关的属性(其它属性已经在介绍Row和Column时介绍过了)。\nFlex({\n ...\n @required this.direction, //弹性布局的方向, Row默认为水平方向,Column默认为垂直方向\n List children = const [],\n})\n\nFlex继承自MultiChildRenderObjectWidget,对应的RenderObject为RenderFlex,RenderFlex中实现了其布局算法。\nExpanded\n可以按比例“扩伸”Row、Column和Flex子widget所占用的空间。\nconst Expanded({\n int flex = 1, \n @required Widget child,\n})\n\nflex为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的Expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:\nclass FlexLayoutTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Column(\n children: [\n //Flex的两个子widget按1:2来占据水平空间 \n Flex(\n direction: Axis.horizontal,\n children: [\n Expanded(\n flex: 1,\n child: Container(\n height: 30.0,\n color: Colors.red,\n ),\n ),\n Expanded(\n flex: 2,\n child: Container(\n height: 30.0,\n color: Colors.green,\n ),\n ),\n ],\n ),\n Padding(\n padding: const EdgeInsets.only(top: 20.0),\n child: SizedBox(\n height: 100.0,\n //Flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间 \n child: Flex(\n direction: Axis.vertical,\n children: [\n Expanded(\n flex: 2,\n child: Container(\n height: 30.0,\n color: Colors.red,\n ),\n ),\n Spacer(\n flex: 1,\n ),\n Expanded(\n flex: 1,\n child: Container(\n height: 30.0,\n color: Colors.green,\n ),\n ),\n ],\n ),\n ),\n ),\n ],\n );\n }\n}\n\n运行效果如下:\n\n示例中的Spacer的功能是占用指定比例的空间,实际上它只是Expanded的一个包装:\nnew Expanded(\n flex: flex,\n child: const SizedBox(\n height: 0.0,\n width: 0.0,\n ),\n);\n\n"},"chapter4/wrap_and_flow.html":{"url":"chapter4/wrap_and_flow.html","title":"流式布局Wrap、Flow","keywords":"","body":"流式布局\nWrap\n在介绍Row和Colum时,如果子widget超出屏幕范围,则会报溢出错误,如:\nRow(\n children: [\n Text(\"xxx\"*100)\n ],\n);\n\n运行:\n\n可以看到,右边溢出部分报错。这是因为Row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局,将上例中的Row换成Wrap后溢出部分则会自动折行。下面是Wrap的定义:\nWrap({\n ...\n this.direction = Axis.horizontal,\n this.alignment = WrapAlignment.start,\n this.spacing = 0.0,\n this.runAlignment = WrapAlignment.start,\n this.runSpacing = 0.0,\n this.crossAxisAlignment = WrapCrossAlignment.start,\n this.textDirection,\n this.verticalDirection = VerticalDirection.down,\n List children = const [],\n})\n\n我们可以看到Wrap的很多属性在Row(包括Flex和Column)中也有,如direction、crossAxisAlignment、textDirection、verticalDirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍Row的部分。读者可以认为Wrap和Flex(包括Row和Column)除了超出显示范围后Wrap会折行外,其它行为基本相同。下面我们看一下Wrap特有的几个属性:\n\nspacing:主轴方向子widget的间距\nrunSpacing:纵轴方向的间距\nrunAlignment:纵轴方向的对齐方式\n\n下面看一个示例子:\nWrap(\n spacing: 8.0, // 主轴(水平)方向间距\n runSpacing: 4.0, // 纵轴(垂直)方向间距\n alignment: WrapAlignment.center, //沿主轴方向居中\n children: [\n new Chip(\n avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('A')),\n label: new Text('Hamilton'),\n ),\n new Chip(\n avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('M')),\n label: new Text('Lafayette'),\n ),\n new Chip(\n avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('H')),\n label: new Text('Mulligan'),\n ),\n new Chip(\n avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('J')),\n label: new Text('Laurens'),\n ),\n ],\n)\n\n运行效果:\n\nFlow\n我们一般很少会使用Flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是Wrap是否满足需求。Flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。Flow有如下优点:\n\n性能好;Flow是一个对child尺寸以及位置调整非常高效的控件,Flow用转换矩阵(transformation matrices)在对child进行位置调整的时候进行了优化:在Flow定位过后,如果child的尺寸或者位置发生了变化,在FlowDelegate中的paintChildren()方法中调用context.paintChild 进行重绘,而context.paintChild在重绘时使用了转换矩阵(transformation matrices),并没有实际调整Widget位置。\n灵活;由于我们需要自己实现FlowDelegate的paintChildren()方法,所以我们需要自己计算每一个widget的位置,因此,可以自定义布局策略。\n\n缺点:\n\n使用复杂.\n不能自适应子widget大小,必须通过指定父容器大小或实现TestFlowDelegate的getSize返回固定大小。\n\n示例:\n我们对六个色块进行自定义流式布局:\nFlow(\n delegate: TestFlowDelegate(margin: EdgeInsets.all(10.0)),\n children: [\n new Container(width: 80.0, height:80.0, color: Colors.red,),\n new Container(width: 80.0, height:80.0, color: Colors.green,),\n new Container(width: 80.0, height:80.0, color: Colors.blue,),\n new Container(width: 80.0, height:80.0, color: Colors.yellow,),\n new Container(width: 80.0, height:80.0, color: Colors.brown,),\n new Container(width: 80.0, height:80.0, color: Colors.purple,),\n ],\n)\n\n实现TestFlowDelegate:\nclass TestFlowDelegate extends FlowDelegate {\n EdgeInsets margin = EdgeInsets.zero;\n TestFlowDelegate({this.margin});\n @override\n void paintChildren(FlowPaintingContext context) {\n var x = margin.left;\n var y = margin.top;\n //计算每一个子widget的位置 \n for (int i = 0; i \n效果:\n\n可以看到我们主要的任务就是实现paintChildren,它的主要任务是确定每个子widget位置。由于Flow不能自适应子widget的大小,我们通过在getSize返回一个固定大小来指定Flow的大小。\n"},"chapter4/stack.html":{"url":"chapter4/stack.html","title":"层叠布局Stack、Positioned","keywords":"","body":"层叠布局\n层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子widget可以根据到父容器四个角的位置来确定本身的位置。绝对定位允许子widget堆叠(按照代码中声明的顺序)。Flutter中使用Stack和Positioned来实现绝对定位,Stack允许子widget堆叠,而Positioned可以给子widget定位(根据Stack的四个角)。\nStack\nStack({\n this.alignment = AlignmentDirectional.topStart,\n this.textDirection,\n this.fit = StackFit.loose,\n this.overflow = Overflow.clip,\n List children = const [],\n})\n\n\nalignment:此参数决定如何去对齐没有定位(没有使用Positioned)或部分定位的子widget。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。\ntextDirection:和Row、Wrap的textDirection功能一样,都用于决定alignment对齐的参考系即:textDirection的值为TextDirection.ltr,则alignment的start代表左,end代表右;textDirection的值为TextDirection.rtl,则alignment的start代表右,end代表左。\nfit:此参数用于决定没有定位的子widget如何去适应Stack的大小。StackFit.loose表示使用子widget的大小,StackFit.expand表示扩伸到Stack的大小。\noverflow:此属性决定如何显示超出Stack显示空间的子widget,值为Overflow.clip时,超出部分会被剪裁(隐藏),值为Overflow.visible 时则不会。\n\nPositioned\nconst Positioned({\n Key key,\n this.left, \n this.top,\n this.right,\n this.bottom,\n this.width,\n this.height,\n @required Widget child,\n})\n\nleft、top 、right、 bottom分别代表离Stack左、上、右、底四边的距离。width和height用于指定定位元素的宽度和高度,注意,此处的width、height 和其它地方的意义稍微有点区别,此处用于配合left、top 、right、 bottom来定位widget,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。\n示例\n//通过ConstrainedBox来确保Stack占满屏幕\nConstrainedBox(\n constraints: BoxConstraints.expand(),\n child: Stack(\n alignment:Alignment.center , //指定未定位或部分定位widget的对齐方式\n children: [\n Container(child: Text(\"Hello world\",style: TextStyle(color: Colors.white)),\n color: Colors.red,\n ),\n Positioned(\n left: 18.0,\n child: Text(\"I am Jack\"),\n ),\n Positioned(\n top: 18.0,\n child: Text(\"Your friend\"),\n ) \n ],\n ),\n);\n\n运行效果如下:\n\n由于第一个子widget Text(\"Hello world\")没有指定定位,并且alignment值为Alignment.center,所以,它会居中显示。第二个子widget Text(\"I am Jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子widget Text(\"Your friend\"),和第二个Text原理一样,只不过是水平方向没有定位,则水平方向居中。\n我们给上例中的Stack指定一个fit属性,然后将三个子widget的顺序调整一下:\nStack(\n alignment:Alignment.center ,\n fit: StackFit.expand, //未定位widget占满Stack整个空间\n children: [\n Positioned(\n left: 18.0,\n child: Text(\"I am Jack\"),\n ),\n Container(child: Text(\"Hello world\",style: TextStyle(color: Colors.white)),\n color: Colors.red,\n ),\n Positioned(\n top: 18.0,\n child: Text(\"Your friend\"),\n )\n ],\n),\n\n显示效果如下:\n\n可以看到,由于第二个子widget没有定位,所以fit属性会对它起作用,就会占满Stack。有Stack子元素是堆叠的,所以第一个子Widget被第二个遮住了,而第三个在最上层,所以可以正常显示。\n"},"chapter5/":{"url":"chapter5/","title":"容器类Widgets","keywords":"","body":"容器类Widget\n容器类Widget和布局类Widget都作用于其子Widget,不同的是:\n\n布局类Widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)MultiChildRenderObjectWidget ;而容器类Widget一般只需要接受一个子Widget(child),他们直接或间接继承自(或包含)SingleChildRenderObjectWidget。\n布局类Widget是按照一定的排列方式来对其子Widget进行排列;而容器类Widget一般只是包装其子Widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。\n\n注意,Flutter官方并没有对Widget进行官方分类,我们对其分类主要是为了方便讨论和对Widget功能的区分记忆。\n本章目录\n\nPadding\n布局限制类容器ConstrainedBox、SizeBox\n装饰容器DecoratedBox \n变换Transform \nContainer容器 \nScaffold、TabBar、底部导航 \n\n"},"chapter5/padding.html":{"url":"chapter5/padding.html","title":"Padding","keywords":"","body":"Padding\nPadding可以给其子节点添加补白(填充),我们在前面很多示例中都已经使用过它了,现在来看看它的定义:\nPadding({\n ...\n EdgeInsetsGeometry padding,\n Widget child,\n})\n\nEdgeInsetsGeometry是一个抽象类,开发中,我们一般都使用EdgeInsets,它是EdgeInsetsGeometry的一个子类,定义了一些设置补白的便捷方法。\nEdgeInsets\n我们看看EdgeInsets提供的便捷方法:\n\nfromLTRB(double left, double top, double right, double bottom):分别指定四个方向的补白。\nall(double value) : 所有方向均使用相同数值的补白。\nonly({left, top, right ,bottom }):可以设置具体某个方向的补白(可以同时指定多个方向)。\nsymmetric({ vertical, horizontal }):用于设置对称方向的补白,vertical指top和bottom,horizontal指left和right。\n\n示例\nclass PaddingTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Padding(\n //上下左右各添加16像素补白\n padding: EdgeInsets.all(16.0),\n child: Column(\n //显式指定对齐方式为左对齐,排除对齐干扰\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Padding(\n //左边添加8像素补白\n padding: const EdgeInsets.only(left: 8.0),\n child: Text(\"Hello world\"),\n ),\n Padding(\n //上下各添加8像素补白\n padding: const EdgeInsets.symmetric(vertical: 8.0),\n child: Text(\"I am Jack\"),\n ),\n Padding(\n // 分别指定四个方向的补白\n padding: const EdgeInsets.fromLTRB(20.0,.0,20.0,20.0),\n child: Text(\"Your friend\"),\n )\n ],\n ),\n );\n }\n}\n\n"},"chapter5/constrainedbox_and_sizebox.html":{"url":"chapter5/constrainedbox_and_sizebox.html","title":"布局限制类容器ConstrainedBox、SizeBox","keywords":"","body":"ConstrainedBox和SizedBox\nConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的。SizedBox只是ConstrainedBox一个定制,本节把他们放在一起讨论。\nConstrainedBox\nConstrainedBox用于对齐子widget添加额外的约束。例如,如果你想让子widget的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子widget的约束。\n示例\n我们先定义一个redBox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:\nWidget redBox=DecoratedBox(\n decoration: BoxDecoration(color: Colors.red),\n);\n\n我们实现一个最小高度为50,宽度尽可能大的红色容器。\nConstrainedBox(\n constraints: BoxConstraints(\n minWidth: double.infinity, //宽度尽可能大\n minHeight: 50.0 //最小高度为50像素\n ),\n child: Container(\n height: 5.0, \n child: redBox \n ),\n)\n\n显示效果:\n\n可以看到,我们虽然将Container的高度设置为5像素,但是最终却是50像素,这正是ConstrainedBox的最小高度限制生效了。如果将Container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,ConstrainedBox只限制了最小高度,并未限制最大高度。\nBoxConstraints\nBoxConstraints用于设置限制条件,它的定义如下:\nconst BoxConstraints({\n this.minWidth = 0.0, //最小宽度\n this.maxWidth = double.infinity, //最大宽度\n this.minHeight = 0.0, //最小高度\n this.maxHeight = double.infinity //最大高度\n})\n\nBoxConstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的BoxConstraints,如BoxConstraints.tight(Size size),它可以生成给定大小的限制;const BoxConstraints.expand()可以生成一个尽可能大的用以填充另一个容器的BoxConstraints。除此之外还有一些其它的便捷函数,读者可以查看API文档。\nSizedBox\nSizedBox用于给子widget指定固定的宽高,如:\nSizedBox(\n width: 80.0,\n height: 80.0,\n child: redBox\n)\n\n运行效果如下:\n\n实际上SizedBox和只是ConstrainedBox一个定制,上面代码等价于:\nConstrainedBox(\n constraints: BoxConstraints.tightFor(width: 80.0,height: 80.0),\n child: redBox, \n)\n\n而BoxConstraints.tightFor(width: 80.0,height: 80.0)等价于:\nBoxConstraints(minHeight: 80.0,maxHeight: 80.0,minWidth: 80.0,maxWidth: 80.0)\n\n而实际上ConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的,我们可以看到ConstrainedBox和SizedBox的createRenderObject()方法都返回的是一个RenderConstrainedBox对象:\n@override\nRenderConstrainedBox createRenderObject(BuildContext context) {\n return new RenderConstrainedBox(\n additionalConstraints: ...,\n );\n}\n\n多重限制\n如果某一个widget有多个父ConstrainedBox限制,那么最终会是哪个生效?我们看一个例子:\nConstrainedBox(\n constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0), //父\n child: ConstrainedBox(\n constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子\n child: redBox,\n )\n)\n\n上面我们有父子两个ConstrainedBox,他们的限制条件不同,运行后效果如下:\n\n最终显示效果是宽90,高60,也就是说是子ConstrainedBox的minWidth生效,而minHeight是父ConstrainedBox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:\nConstrainedBox(\n constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),\n child: ConstrainedBox(\n constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0),\n child: redBox,\n )\n)\n\n\n最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minWidth生效的是父ConstrainedBox,而minHeight是子ConstrainedBox生效。\n通过上面示例,我们发现有多重限制时,对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。\n\n思考题:对于maxWidth和maxHeight,多重限制的策略是什么样的呢?\n\nUnconstrainedBox\nUnconstrainedBox不会对子Widget产生任何限制,它允许其子Widget按照其本身大小绘制。一般情况下,我们会很少直接使用此widget,但在\"去除\"多重限制的时候也许会有帮助,我们看一下面的代码:\nConstrainedBox(\n constraints: BoxConstraints(minWidth: 60.0, minHeight: 100.0), //父\n child: UnconstrainedBox( //“去除”父级限制\n child: ConstrainedBox(\n constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子\n child: redBox,\n ),\n )\n)\n\n上面代码中,如果没有中间的UnconstrainedBox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于 UnconstrainedBox “去除”了父ConstrainedBox的限制,则最终会按照子ConstrainedBox的限制来绘制redBox,即90×20:\n\n但是,读者请注意,UnconstrainedBox对父限制的“去除”并非是真正的去除,上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minHeight(100.0)仍然是生效的,只不过它不影响最终子元素的大小,但仍然还是占有相应的空间,可以认为此时的父ConstrainedBox是作用于子ConstrainedBox上,而redBox只受子ConstrainedBox限制,这一点请读者务必注意。\n那么有什么方法可以彻底去除父BoxConstraints的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的widget时,如果对子widget指定限制时一定要注意,因为一旦指定限制条件,子widget如果要进行相关自定义大小时将可能非常困难,因为子widget在不更改父widget的代码的情况下无法彻底去除其限制条件。\n"},"chapter5/decoratedbox.html":{"url":"chapter5/decoratedbox.html","title":"装饰容器DecoratedBox","keywords":"","body":"DecoratedBox\nDecoratedBox可以在其子widget绘制前(或后)绘制一个装饰Decoration(如背景、边框、渐变等)。DecoratedBox定义如下:\nconst DecoratedBox({\n Decoration decoration,\n DecorationPosition position = DecorationPosition.background,\n Widget child\n})\n\n\ndecoration:代表将要绘制的装饰,它类型为Decoration,Decoration是一个抽象类,它定义了一个接口 createBoxPainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。\nposition:此属性决定在哪里绘制Decoration,它接收DecorationPosition的枚举类型,该枚举类两个值:\nbackground:在子widget之后绘制,即背景装饰。\nforeground:在子widget之上绘制,即前景。\n\n\n\nBoxDecoration\n我们通常会直接使用BoxDecoration,它是一个Decoration的子类,实现了常用的装饰元素的绘制。\nBoxDecoration({\n Color color, //颜色\n DecorationImage image,//图片\n BoxBorder border, //边框\n BorderRadiusGeometry borderRadius, //圆角\n List boxShadow, //阴影,可以指定多个\n Gradient gradient, //渐变\n BlendMode backgroundBlendMode, //背景混合模式\n BoxShape shape = BoxShape.rectangle, //形状\n})\n\n各个属性名都是自解释的,详情读者可以查看API文档,我们看一个示例:\n DecoratedBox(\n decoration: BoxDecoration(\n gradient: LinearGradient(colors:[Colors.red,Colors.orange[700]]), //背景渐变\n borderRadius: BorderRadius.circular(3.0), //3像素圆角\n boxShadow: [ //阴影\n BoxShadow(\n color:Colors.black54,\n offset: Offset(2.0,2.0),\n blurRadius: 4.0\n )\n ]\n ),\n child: Padding(padding: EdgeInsets.symmetric(horizontal: 80.0, vertical: 18.0),\n child: Text(\"Login\", style: TextStyle(color: Colors.white),),\n )\n)\n\n效果如下:\n\n怎么样,通过BoxDecoration,我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在本章末尾来实现一个完整的GradientButton。\n"},"chapter5/transform.html":{"url":"chapter5/transform.html","title":"变换Transform","keywords":"","body":"Transform变换\nTransform可以在其子Widget绘制时对其应用一个矩阵变换(transformation),Matrix4是一个4D矩阵,通过它我们可以实现各种矩阵操作。下面是一个例子:\nContainer(\n color: Colors.black,\n child: new Transform(\n alignment: Alignment.topRight, //相对于坐标系原点的对齐方式\n transform: new Matrix4.skewY(0.3), //沿Y轴倾斜0.3弧度\n child: new Container(\n padding: const EdgeInsets.all(8.0),\n color: Colors.deepOrange,\n child: const Text('Apartment for rent!'),\n ),\n ),\n);\n\n\n关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在Flutter中一些常见的变换效果上。\n平移\nTransform.translate接收一个offset参数,可以在绘制时沿x、y轴对子widget平移指定的距离。\nDecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n //默认原点为左上角,左移20像素,向上平移5像素 \n child: Transform.translate(offset: Offset(-20.0, -5.0),\n child: Text(\"Hello world\"),\n ),\n)\n\n效果:\n\n旋转\nTransform.rotate可以对子widget进行旋转变换,如:\nDecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n child: Transform.rotate(\n //旋转90度\n angle:math.pi/2 ,\n child: Text(\"Hello world\"),\n ),\n);\n\n\n注意:要使用math.pi需先进行如下导包。 \nimport 'dart:math' as math;\n\n\n效果:\n\n缩放\nTransform.scale可以对子Widget进行缩小或放大,如:\nDecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n child: Transform.scale(\n scale: 1.5, //放大到1.5倍\n child: Text(\"Hello world\")\n )\n);\n\n效果:\n\n注意\n\nTransform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子widget应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:\n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n DecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n child: Transform.scale(scale: 1.5,\n child: Text(\"Hello world\")\n )\n ),\n Text(\"你好\", style: TextStyle(color: Colors.green, fontSize: 18.0),)\n ],\n)\n\n显示效果:\n\n由于第一个Text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字有重合部分。\n\n由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上的UI改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的Flow widget,它内部就是用矩阵变换来更新UI,除此之外,Flutter的动画widget中也大量使用了Transform以提高性能。\n\n\nRotatedBox\nRotatedBox和Transform.rotate功能相似,它们都可以对子widget进行旋转变换,但是有一点不同:RotatedBox的变换是在layout阶段,会影响在子widget的位置和大小。我们将上面介绍Transform.rotate时的示例改一下:\nRow(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n DecoratedBox(\n decoration: BoxDecoration(color: Colors.red),\n //将Transform.rotate换成RotatedBox \n child: RotatedBox(\n quarterTurns: 1, //旋转90度(1/4圈)\n child: Text(\"Hello world\"),\n ),\n ),\n Text(\"你好\", style: TextStyle(color: Colors.green, fontSize: 18.0),)\n ],\n),\n\n效果:\n\n由于RotatedBox是作用于layout阶段,所以widget会旋转90度(而不只是绘制的内容),decoration会作用到widget所占用的实际空间上,所以就是上图的效果。读者可以和前面Transform.rotate示例对比理解。\n"},"chapter5/container.html":{"url":"chapter5/container.html","title":"Container容器","keywords":"","body":"Container\nContainer是我们要介绍的最后一个容器类widget,它本身不对应具体的RenderObject,它是DecoratedBox、ConstrainedBox、Transform、Padding、Align等widget的一个组合widget。所以我们只需通过一个Container可以实现同时需要装饰、变换、限制的场景。下面是Container的定义:\nContainer({\n this.alignment,\n this.padding, //容器内补白,属于decoration的装饰范围\n Color color, // 背景色\n Decoration decoration, // 背景装饰\n Decoration foregroundDecoration, //前景装饰\n double width,//容器的宽度\n double height, //容器的高度\n BoxConstraints constraints, //容器大小的限制条件\n this.margin,//容器外补白,不属于decoration的装饰范围\n this.transform, //变换\n this.child,\n})\n\n大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:\n\n容器的大小可以通过width、height属性来指定,也可以通过constraints来指定,如果同时存在时,width、height优先。实际上Container内部会根据width、height来生成一个constraints。\ncolor和decoration是互斥的,实际上,当指定color时,Container内会自动创建一个decoration。\n\n实例\n我们通过Container来实现如下的卡片:\n\n代码:\nContainer(\n margin: EdgeInsets.only(top: 50.0, left: 120.0), //容器外补白\n constraints: BoxConstraints.tightFor(width: 200.0, height: 150.0), //卡片大小\n decoration: BoxDecoration(//背景装饰\n gradient: RadialGradient( //背景径向渐变\n colors: [Colors.red, Colors.orange],\n center: Alignment.topLeft,\n radius: .98\n ),\n boxShadow: [ //卡片阴影\n BoxShadow(\n color: Colors.black54,\n offset: Offset(2.0, 2.0),\n blurRadius: 4.0\n )\n ]\n ),\n transform: Matrix4.rotationZ(.2), //卡片倾斜变换\n alignment: Alignment.center, //卡片内文字居中\n child: Text( //卡片文字\n \"5.20\", style: TextStyle(color: Colors.white, fontSize: 40.0),\n ),\n);\n\n可以看到Container通过组合多种widget来实现复杂强大的功能,在Flutter中,这也正是组合优先于继承的实例。\nPadding和Margin\n接下来我们看看Container的margin和padding属性的区别:\n...\nContainer(\n margin: EdgeInsets.all(20.0), //容器外补白\n color: Colors.orange,\n child: Text(\"Hello world!\"),\n),\nContainer(\n padding: EdgeInsets.all(20.0), //容器内补白\n color: Colors.orange,\n child: Text(\"Hello world!\"),\n),\n...\n\n\n可以发现,直观的感觉就是margin的补白是在容器外部,而padding的补白是在容器内部,读者需要记住这个差异。事实上,Container内margin和padding都是通过Padding widget来实现的,上面的示例代码实际上等价于:\n...\nPadding(\n padding: EdgeInsets.all(20.0),\n child: DecoratedBox(\n decoration: BoxDecoration(color: Colors.orange),\n child: Text(\"Hello world!\"),\n ),\n),\nDecoratedBox(\n decoration: BoxDecoration(color: Colors.orange),\n child: Padding(\n padding: const EdgeInsets.all(20.0),\n child: Text(\"Hello world!\"),\n ),\n),\n...\n\n"},"chapter5/material_scaffold.html":{"url":"chapter5/material_scaffold.html","title":"Scaffold、TabBar、底部导航","keywords":"","body":"Scaffold、TabBar、底部导航\nMaterial库提供了很多Widget,本节介绍一些常用的Widget,其余的读者可以查看文档或Flutter Gallery中Material组件部分的示例。注意,笔者强烈建议用户将Flutter Gallery示例跑起来,它是一个很全面的Flutter示例,是非常好的参考Demo。\nScaffold\n大多数路由页都会包含一个导航栏,有些路由页可能会有抽屉菜单(Drawer)以及底部Tab导航菜单等。如果每个页面都需要开发者自己手动去实现,这会是一件非常无聊的事。幸运的是,我们前面提到过,Flutter Material库提供了一个Scaffold Widget,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。\n示例\n我们实现一个页面,它包含:\n\n一个导航栏\n导航栏右边有一个分享按钮\n有一个抽屉菜单\n有一个底部导航\n右下角有一个悬浮的动作按钮\n\n最终效果如下:\n \n实现代码如下:\nclass ScaffoldRoute extends StatefulWidget {\n @override\n _ScaffoldRouteState createState() => _ScaffoldRouteState();\n}\n\nclass _ScaffoldRouteState extends State {\n int _selectedIndex = 1;\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar( //导航栏\n title: Text(\"App Name\"), \n actions: [ //导航栏右侧菜单\n IconButton(icon: Icon(Icons.share), onPressed: () {}),\n ],\n ),\n drawer: new MyDrawer(), //抽屉\n bottomNavigationBar: BottomNavigationBar( // 底部导航\n items: [\n BottomNavigationBarItem(icon: Icon(Icons.home), title: Text('Home')),\n BottomNavigationBarItem(icon: Icon(Icons.business), title: Text('Business')),\n BottomNavigationBarItem(icon: Icon(Icons.school), title: Text('School')),\n ],\n currentIndex: _selectedIndex,\n fixedColor: Colors.blue,\n onTap: _onItemTapped,\n ),\n floatingActionButton: FloatingActionButton( //悬浮按钮\n child: Icon(Icons.add),\n onPressed:_onAdd\n ),\n );\n }\n void _onItemTapped(int index) {\n setState(() {\n _selectedIndex = index;\n });\n }\n void _onAdd(){\n }\n}\n\n上面代码中我们用到了另外几个Widget,下面我们来分别介绍一下:\nAppBar\nAppBar是一个Material风格的导航栏,它可以设置标题、导航栏菜单、底部Tab等。下面我们看看AppBar的定义:\nAppBar({\n Key key,\n this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮。\n this.automaticallyImplyLeading = true, //如果leading为null,是否自动实现默认的leading按钮\n this.title,// 页面标题\n this.actions, // 导航栏右侧菜单\n this.bottom, // 导航栏底部菜单,通常为Tab按钮组\n this.elevation = 4.0, // 导航栏阴影\n this.centerTitle, //标题是否居中 \n this.backgroundColor,\n ... //其它属性见源码注释\n})\n\n如果给Scaffold添加了抽屉菜单,默认情况下Scaffold会自动将AppBar的leading设置为菜单按钮(如上面截图所示)。如果我们想自定义菜单图标,可以手动来设置leading,如:\nScaffold(\n appBar: AppBar(\n title: Text(\"App Name\"),\n leading: Builder(builder: (context) {\n return IconButton(\n icon: Icon(Icons.dashboard, color: Colors.white), //自定义图标\n onPressed: () {\n // 打开抽屉菜单 \n Scaffold.of(context).openDrawer(); \n },\n );\n }),\n ... \n )\n\n代码运行效果:\n\n可以看到左侧菜单已经替换成功。\n代码中打开抽屉菜单的方法在ScaffoldState中,通过Scaffold.of(context)可以获取父级最近的Scaffold Widget的State对象,原理可以参考本书后面“Element与BuildContext” 一章。Flutter还有一种通用的获取StatefulWidget对象State的方法:通过GlobalKey来获取! 步骤有两步:\n\n给目标StatefulWidget添加GlobalKey\n//定义一个globalKey, 由于GlobalKey要保持全局唯一性,我们使用静态变量存储\nstatic GlobalKey _globalKey= new GlobalKey();\n...\nScaffold(\n key: _globalKey , //设置key\n ... \n)\n\n\n通过GlobalKey来获取State对象\n_globalKey.currentState.openDrawer()\n\n\n\nTabBar\n下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如下:\n\nMaterial组件库中提供了一个TabBar组件,它可以快速生成Tab菜单,下面是上图对应的源码:\nclass _ScaffoldRouteState extends State\n with SingleTickerProviderStateMixin { \n\n TabController _tabController; //需要定义一个Controller\n List tabs = [\"新闻\", \"历史\", \"图片\"];\n\n @override\n void initState() {\n super.initState();\n // 创建Controller \n _tabController = TabController(length: tabs.length, vsync: this);\n }\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n ... //省略无关代码\n bottom: TabBar( //生成Tab菜单\n controller: _tabController,\n tabs: tabs.map((e) => Tab(text: e)).toList()),\n ),\n ... //省略无关代码\n\n }\n\n上面代码首先创建了一个TabController ,它是用于控制/监听Tab菜单切换。然后通过TabBar生成了一个底部菜单栏,TabBar的tabs属性接受一个Widget数组,表示每一个Tab子菜单,我们可以自定义,也可以像示例中一样直接使用Tab Widget,它也是Material组件库提供的Material风格的Tab菜单。\nTab Widget有三个可选参数,除了可以指定文字外,还可以指定Tab菜单图标,或者直接自定义Widget,定义如下:\nTab({\n Key key,\n this.text, // 菜单文本\n this.icon, // 菜单图标\n this.child, // 自定义Widget\n})\n\n开发者可以根据实际需求来定制。\nTabBarView\n通过TabBar我们只能生成一个静态的菜单,如果要实现Tab页,我们可以通过TabController去监听Tab菜单的切换去切换Tab页,代码如:\n_tabController.addListener((){ \n switch(_tabController.index){\n case 1: ...;\n case 2: ... ; \n }\n});\n\n如果我们Tab页可以滑动切换的话,还需要在滑动过程中更新TabBar指示器的偏移。显然,要手动处理这些是很麻烦的,为此,Material库提供了一个TabBarView组件,它可以很轻松的配合TabBar来实现同步切换和滑动状态同步,示例如下:\nScaffold(\n appBar: AppBar(\n ... //省略无关代码\n bottom: TabBar(\n controller: _tabController,\n tabs: tabs.map((e) => Tab(text: e)).toList()),\n ),\n drawer: new MyDrawer(),\n body: TabBarView(\n controller: _tabController,\n children: tabs.map((e) { //创建3个Tab页\n return Container(\n alignment: Alignment.center,\n child: Text(e, textScaleFactor: 5),\n );\n }).toList(),\n ),\n ... // 省略无关代码 \n)\n\n运行后效果如下:\n\n现在,无论是点击导航栏Tab菜单还是在页面上左右滑动,Tab页面都会切换,并且Tab菜单的状态和Tab页面始终保持同步。下面我们来看看代码,细心的读者可以发现,TabBar和TabBarView的controller是同一个!正是如此,TabBar和TabBarView正是通过同一个controller来实现菜单切换和滑动状态同步的。\n另外,Material组件库也提供了一个PageView Widget,它和TabBarView功能相似,读者可以自行了解一下。\n抽屉菜单Drawer\nScaffold的drawer和endDrawer属性可以分别接受一个Widget作为页面的左、右抽屉菜单,如果开发者提供了抽屉菜单,那么当用户手指重屏幕左/右向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单MyDrawer,源码如下:\nclass MyDrawer extends StatelessWidget {\n const MyDrawer({\n Key key,\n }) : super(key: key);\n\n @override\n Widget build(BuildContext context) {\n return Drawer(\n child: MediaQuery.removePadding(\n context: context,\n // DrawerHeader consumes top MediaQuery padding.\n removeTop: true,\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Padding(\n padding: const EdgeInsets.only(top: 38.0),\n child: Row(\n children: [\n Padding(\n padding: const EdgeInsets.symmetric(horizontal: 16.0),\n child: ClipOval(\n child: Image.asset(\n \"imgs/avatar.png\",\n width: 80,\n ),\n ),\n ),\n Text(\n \"Wendux\",\n style: TextStyle(fontWeight: FontWeight.bold),\n )\n ],\n ),\n ),\n Expanded(\n child: ListView(\n children: [\n ListTile(\n leading: const Icon(Icons.add),\n title: const Text('Add account'),\n ),\n ListTile(\n leading: const Icon(Icons.settings),\n title: const Text('Manage accounts'),\n ),\n ],\n ),\n ),\n ],\n ),\n ),\n );\n }\n}\n\n抽屉菜单通常将Drawer作为根节点,它实现了Material风格的菜单面板,MediaQuery.removePadding可以移除抽Drawer内的一些指定空白,读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现,关于ListView我们将在后面“可滚动Widget”一节详细介绍。\nFloatingActionButton\nFloatingActionButton是Material设计规范中的一种特殊Button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置,这个比较简单,不在赘述。\n底部Tab导航栏\n我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar和BottomNavigationBarItem两个Widget来实现Material风格的底部导航栏,可以看到代码非常简单,不在赘述。但是如果我们想实现如下效果的底部导航应该怎么做呢?\n\nMaterial组件库中提供了一个BottomAppBar Widget,可以和FloatingActionButton配合实现这种\"打洞\"效果。源码如下:\nbottomNavigationBar: BottomAppBar(\n color: Colors.white,\n shape: CircularNotchedRectangle(), // 底部导航栏打一个圆形的洞\n child: Row(\n children: [\n IconButton(icon: Icon(Icons.home)),\n SizedBox(), //中间位置空出\n IconButton(icon: Icon(Icons.business)),\n ],\n mainAxisAlignment: MainAxisAlignment.spaceAround, //均分底部导航栏横向空间\n ),\n)\n\n可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于FloatingActionButton的位置,上面FloatingActionButton的位置为:\nfloatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,\n\nBottomAppBar的shape属性决定洞的外形,CircularNotchedRectangle实现了一个圆形的外形,我们也可以自定义外形,比如,Flutter Gallery示例中就有一个”钻石“形状的实现,读者感兴趣可以自行查看。\n"},"chapter6/":{"url":"chapter6/","title":"可滚动Widgets","keywords":"","body":"本章目录\n\n可滚动Widgets简介\nSingleChildScrollView\nListView\nGridView \nCustomScrollView \n滚动监听及控制ScrollController \n\n"},"chapter6/intro.html":{"url":"chapter6/intro.html","title":"可滚动Widgets简介","keywords":"","body":"可滚动Widget简介\n当内容超过显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动widget(Scrollable Widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动widget(如ListView、GridView等),然后介绍一下Scrollable与可滚动widget的原理。可滚动Widget都直接或间接包含一个Scrollable widget,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:\nScrollable({\n ...\n this.axisDirection = AxisDirection.down,\n this.controller,\n this.physics,\n @required this.viewportBuilder, //后面介绍\n})\n\n\naxisDirection:滚动方向。\nphysics:此属性接受一个ScrollPhysics对象,它决定可滚动Widget如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,Flutter会根据具体平台分别使用不同的ScrollPhysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在iOS上会出现弹性效果,而在Android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定,Flutter SDK中包含了两个ScrollPhysics的子类可以直接使用:\nClampingScrollPhysics:Android下微光效果。\nBouncingScrollPhysics:iOS下弹性效果。\n\n\ncontroller:此属性接受一个ScrollController对象。ScrollController的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的PrimaryScrollController,如果子树中的可滚动widget没有显式的指定controller并且primary属性值为true时(默认就为true),可滚动widget会使用这个默认的PrimaryScrollController,这种机制带来的好处是父widget可以控制子树中可滚动widget的滚动,例如,Scaffold使用这种机制在iOS中实现了\"回到顶部\"的手势。我们将在本章后面“滚动控制”一节详细介绍ScrollController。\n\nScrollbar\nScrollbar是一个Material风格的滚动指示器(滚动条),如果要给可滚动widget添加滚动条,只需将Scrollbar作为可滚动widget的父widget即可,如:\nScrollbar(\n child: SingleChildScrollView(\n ...\n ),\n);\n\nScrollbar和CupertinoScrollbar都是通过ScrollController来监听滚动事件来确定滚动条位置,关于ScrollController详细的内容我们将在后面专门一节介绍。\nCupertinoScrollbar\nCupertinoScrollbar是iOS风格的滚动条,如果你使用的是Scrollbar,那么在iOS平台它会自动切换为CupertinoScrollbar。\nViewPort视口\n在很多布局系统中都有ViewPort的概念,在Flutter中,术语ViewPort(视口),如无特别说明,则是指一个Widget的实际显示区域。例如,一个ListView的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其ViewPort仍然是800像素。\n主轴和纵轴\n在可滚动widget的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动widget的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。\n"},"chapter6/single_child_scrollview.html":{"url":"chapter6/single_child_scrollview.html","title":"SingleChildScrollView","keywords":"","body":"SingleChildScrollView\nSingleChildScrollView类似于Android中的ScrollView,它只能接收一个子Widget。定义如下:\nSingleChildScrollView({\n this.scrollDirection = Axis.vertical, //滚动方向,默认是垂直方向\n this.reverse = false, \n this.padding, \n bool primary, \n this.physics, \n this.controller,\n this.child,\n})\n\n除了通用属性,我们重点看一下reverse和primary两个属性:\n\nreverse:该属性API文档解释是:是否按照阅读方向相反的方向滑动,如:scrollDirection值为Axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左),reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动widget的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。\nprimary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且controller没有指定时,primary默认为true.\n\n示例\n下面是一个将大写字母A-Z沿垂直方向显示的例子,由于垂直方向空间不够,所以使用SingleChildScrollView。:\nclass SingleChildScrollViewTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n String str = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n return Scrollbar(\n child: SingleChildScrollView(\n padding: EdgeInsets.all(16.0),\n child: Center(\n child: Column( \n //动态创建一个List \n children: str.split(\"\") \n //每一个字母都用一个Text显示,字体为原来的两倍\n .map((c) => Text(c, textScaleFactor: 2.0,)) \n .toList(),\n ),\n ),\n ),\n );\n }\n}\n\n效果:\n\n"},"chapter6/listview.html":{"url":"chapter6/listview.html","title":"ListView","keywords":"","body":"ListView\nListView是最常用的可滚动widget,它可以沿一个方向线性排布所有子widget。我们看看ListView的默认构造函数定义:\nListView({\n ... \n //可滚动widget公共参数\n Axis scrollDirection = Axis.vertical,\n bool reverse = false,\n ScrollController controller,\n bool primary,\n ScrollPhysics physics,\n EdgeInsetsGeometry padding,\n\n //ListView各个构造函数的共同参数 \n double itemExtent,\n bool shrinkWrap = false,\n bool addAutomaticKeepAlives = true,\n bool addRepaintBoundaries = true,\n double cacheExtent,\n\n //子widget列表\n List children = const [],\n})\n\n上面参数分为两组:第一组是可滚动widget公共参数,前面已经介绍过,不再赘述;第二组是ListView各个构造函数(ListView有多个构造函数)的共同参数,我们重点来看看这些参数,:\n\nitemExtent:该参数如果不为null,则会强制children的\"长度\"为itemExtent的值;这里的\"长度\"是指滚动方向上子widget的长度,即如果滚动方向是垂直方向,则itemExtent代表子widget的高度,如果滚动方向为水平方向,则itemExtent代表子widget的长度。在ListView中,指定itemExtent比让子widget自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而不是总是动态去计算,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。\nshrinkWrap:该属性表示是否根据子widget的总长度来设置ListView的长度,默认值为false 。默认情况下,ListView的会在滚动方向尽可能多的占用空间。当ListView在一个无边界(滚动方向上)的容器中时,shrinkWrap必须为true。\naddAutomaticKeepAlives:该属性表示是否将列表项(子widget)包裹在AutomaticKeepAlive widget中;典型地,在一个懒加载列表中,如果将列表项包裹在AutomaticKeepAlive中,在该列表项滑出视口时该列表项不会被GC,它会使用KeepAliveNotification来保存其状态。如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。\naddRepaintBoundaries:该属性表示是否将列表项(子widget)包裹在RepaintBoundary中。当可滚动widget滚动时,将列表项包裹在RepaintBoundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加RepaintBoundary反而会更高效。和addAutomaticKeepAlive一样,如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。\n\n\n注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动widget也可能会拥有这些参数,它们的含义是相同的。\n\n默认构造函数\n默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量的子widget的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建。实际上通过此方式创建的ListView和使用SingleChildScrollView+Column的方式没有本质的区别。下面是一个例子:\nListView(\n shrinkWrap: true, \n padding: const EdgeInsets.all(20.0),\n children: [\n const Text('I\\'m dedicating every day to you'),\n const Text('Domestic life was never quite my style'),\n const Text('When you smile, you knock me out, I fall apart'),\n const Text('And I thought I was so smart'),\n ],\n);\n\n\n注意:可滚动widget通过一个List来作为其children属性时,只适用于子widget较少的情况,这是一个通用规律,并非ListView自己的特性,像GridView也是如此。\n\nListView.builder\nListView.builder适合列表项比较多(或者无限)的情况,因为只有当子Widget真正显示的时候才会被创建。下面看一下ListView.builder的核心参数列表:\nListView.builder({\n // ListView公共参数已省略 \n ...\n @required IndexedWidgetBuilder itemBuilder,\n int itemCount,\n ...\n})\n\n\nitemBuilder:它是列表项的构建器,类型为IndexedWidgetBuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。\nitemCount:列表项的数量,如果为null,则为无限列表。\n\n看一个例子:\nListView.builder(\n itemCount: 100,\n itemExtent: 50.0, //强制高度为50.0\n itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }\n);\n\n\nListView.separated\nListView.separated可以生成列表项之间的分割器,它除了比ListView.builder多了一个separatorBuilder参数,该参数是一个分割器生成器。下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。\nclass ListView3 extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n //下划线widget预定义以供复用。 \n Widget divider1=Divider(color: Colors.blue,);\n Widget divider2=Divider(color: Colors.green);\n return ListView.separated(\n itemCount: 100,\n //列表项构造器\n itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n },\n //分割器构造器\n separatorBuilder: (BuildContext context, int index) {\n return index%2==0?divider1:divider2;\n },\n );\n }\n}\n\n\n实例:无限加载列表\n假设我们要从数据源异步分批拉取一些数据,然后用ListView显示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:\nclass InfiniteListView extends StatefulWidget {\n @override\n _InfiniteListViewState createState() => new _InfiniteListViewState();\n}\n\nclass _InfiniteListViewState extends State {\n static const loadingTag = \"##loading##\"; //表尾标记\n var _words = [loadingTag];\n\n @override\n void initState() {\n _retrieveData();\n }\n\n @override\n Widget build(BuildContext context) {\n return ListView.separated(\n itemCount: _words.length,\n itemBuilder: (context, index) {\n //如果到了表尾\n if (_words[index] == loadingTag) {\n //不足100条,继续获取数据\n if (_words.length - 1 Divider(height: .0),\n );\n }\n\n void _retrieveData() {\n Future.delayed(Duration(seconds: 2)).then((e) {\n _words.insertAll(_words.length - 1,\n //每次生成20个单词\n generateWordPairs().take(20).map((e) => e.asPascalCase).toList()\n );\n setState(() {\n //重新构建列表\n });\n });\n }\n\n}\n\n\n代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrieveData()的功能是模拟从数据源异步获取数据,我们使用english_words包的generateWordPairs()方法每次生成20个单词。\n添加固定表头\n很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,效果如下:\n\n我们按照之前经验,写出如下代码:\n@override\nWidget build(BuildContext context) {\n return Column(children: [\n ListTile(title:Text(\"商品列表\")),\n ListView.builder(itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }),\n ]);\n}\n\n然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;\nError caught by rendering library, thrown during performResize()。\nVertical viewport was given unbounded height ...\n从异常信息中我们可到是因为ListView高度边界无法确定引起,所以解决的办法也很明显,我们需要给ListView指定边界,我们通过SizedBox指定一个列表高度看看是否生效:\n... //省略无关代码\nSizedBox(\n height: 400, //指定列表高度为400\n child: ListView.builder(itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }),\n),\n...\n\n运行效果如下:\n\n可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白,那如果我们要实现列表铺满除过表头以外的屏幕空间呢?直观的方法是我们动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:\n... //省略无关代码\nSizedBox(\n //Material设计规范中状态栏、导航栏、ListTile高度分别为24、56、56 \n height: MediaQuery.of(context).size.height-24-56-56,\n child: ListView.builder(itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }),\n)\n...\n\n运行效果如下:\n\n可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算,那么有什么方法可以自动拉升ListView以填充屏幕剩余空间的方法吗?当然有!答案就是Flex。前面已经介绍过在Flex布局中,可以使用Expanded自动拉伸组件大小的Widget,我们也说过Column是继承自Flex的,所以我们可以直接使用Column+Expanded来实现,代码如下:\n@override\nWidget build(BuildContext context) {\n return Column(children: [\n ListTile(title:Text(\"商品列表\")),\n Expanded(\n child: ListView.builder(itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }),\n ),\n ]);\n}\n\n总结\n本节主要介绍了ListView的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过ListView.custom来自定义,它需要实现一个SliverChildDelegate用来给ListView生成列表项widget,更多详情请参考API文档。\n"},"chapter6/gridview.html":{"url":"chapter6/gridview.html","title":"GridView","keywords":"","body":"GridView\nGridView可以构建一个二维网格列表,其默认构造函数定义如下:\nGridView({\n Axis scrollDirection = Axis.vertical,\n bool reverse = false,\n ScrollController controller,\n bool primary,\n ScrollPhysics physics,\n bool shrinkWrap = false,\n EdgeInsetsGeometry padding,\n @required SliverGridDelegate gridDelegate, //控制子widget layout的委托\n bool addAutomaticKeepAlives = true,\n bool addRepaintBoundaries = true,\n double cacheExtent,\n List children = const [],\n})\n\n我们可以看到,GridView和ListView的大多数参数都是相同的,它们的含义也都相同,如有疑惑读者可以翻阅ListView一节,在此不再赘述。我们唯一需要关注的是gridDelegate参数,类型是SliverGridDelegate,它的作用是控制GridView子widget如何排列(layout),SliverGridDelegate是一个抽象类,定义了GridView Layout相关接口,子类需要通过实现它们来实现具体的布局算法,Flutter中提供了两个SliverGridDelegate的子类SliverGridDelegateWithFixedCrossAxisCount和SliverGridDelegateWithMaxCrossAxisExtent,下面我们分别介绍:\nSliverGridDelegateWithFixedCrossAxisCount\n该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为:\nSliverGridDelegateWithFixedCrossAxisCount({\n @required double crossAxisCount, \n double mainAxisSpacing = 0.0,\n double crossAxisSpacing = 0.0,\n double childAspectRatio = 1.0,\n})\n\n\ncrossAxisCount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即ViewPort横轴长度/crossAxisCount。\nmainAxisSpacing:主轴方向的间距。\ncrossAxisSpacing:横轴方向子元素的间距。\nchildAspectRatio:子元素在横轴长度和主轴长度的比例。由于crossAxisCount指定后子元素横轴长度就确定了,然后通过此参数值就可以确定子元素在主轴的长度。\n\n可以发现,子元素的大小是通过crossAxisCount和childAspectRatio两个参数共同决定的。注意,这里的子元素指的是子widget的最大显示空间,注意确保子widget的实际大小不要超出子元素的空间。\n下面看一个例子:\nGridView(\n gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(\n crossAxisCount: 3, //横轴三个子widget\n childAspectRatio: 1.0 //宽高比为1时,子widget\n ),\n children:[\n Icon(Icons.ac_unit),\n Icon(Icons.airport_shuttle),\n Icon(Icons.all_inclusive),\n Icon(Icons.beach_access),\n Icon(Icons.cake),\n Icon(Icons.free_breakfast)\n ]\n);\n\n\nGridView.count\nGridView.count构造函数内部使用了SliverGridDelegateWithFixedCrossAxisCount,我们通过它可以快速的创建横轴固定数量子元素的GridView,上面的示例代码等价于:\nGridView.count( \n crossAxisCount: 3,\n childAspectRatio: 1.0,\n children: [\n Icon(Icons.ac_unit),\n Icon(Icons.airport_shuttle),\n Icon(Icons.all_inclusive),\n Icon(Icons.beach_access),\n Icon(Icons.cake),\n Icon(Icons.free_breakfast),\n ],\n);\n\nSliverGridDelegateWithMaxCrossAxisExtent\n该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为:\nSliverGridDelegateWithMaxCrossAxisExtent({\n double maxCrossAxisExtent,\n double mainAxisSpacing = 0.0,\n double crossAxisSpacing = 0.0,\n double childAspectRatio = 1.0,\n})\n\nmaxCrossAxisExtent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果ViewPort的横轴长度是450,那么当maxCrossAxisExtent的值在区间(450/4,450/3]内的话,子元素最终实际长度都为150,而childAspectRatio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和SliverGridDelegateWithFixedCrossAxisCount相同。\n下面我们看一个例子:\nGridView(\n padding: EdgeInsets.zero,\n gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(\n maxCrossAxisExtent: 120.0,\n childAspectRatio: 2.0 //宽高比为2\n ),\n children: [\n Icon(Icons.ac_unit),\n Icon(Icons.airport_shuttle),\n Icon(Icons.all_inclusive),\n Icon(Icons.beach_access),\n Icon(Icons.cake),\n Icon(Icons.free_breakfast),\n ],\n);\n\n\nGridView.extent\nGridView.extent构造函数内部使用了SliverGridDelegateWithMaxCrossAxisExtent,我们通过它可以快速的创建纵轴子元素为固定最大长度的的GridView,上面的示例代码等价于:\nGridView.extent(\n maxCrossAxisExtent: 120.0,\n childAspectRatio: 2.0,\n children: [\n Icon(Icons.ac_unit),\n Icon(Icons.airport_shuttle),\n Icon(Icons.all_inclusive),\n Icon(Icons.beach_access),\n Icon(Icons.cake),\n Icon(Icons.free_breakfast),\n ],\n );\n\nGridView.builder\n上面我们介绍的GridView都需要一个Widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子Widget数量比较少时,当子widget比较多时,我们可以通过GridView.builder来动态创建子Widget。GridView.builder 必须指定的参数有两个:\nGridView.builder(\n ...\n @required SliverGridDelegate gridDelegate, \n @required IndexedWidgetBuilder itemBuilder,\n)\n\n其中itemBuilder为子widget构建器。\n示例\n假设我们需要从一个异步数据源(如网络)分批获取一些Icon,然后用GridView来展示:\nclass InfiniteGridView extends StatefulWidget {\n @override\n _InfiniteGridViewState createState() => new _InfiniteGridViewState();\n}\n\nclass _InfiniteGridViewState extends State {\n\n List _icons = []; //保存Icon数据\n\n @override\n void initState() {\n // 初始化数据 \n _retrieveIcons();\n }\n\n @override\n Widget build(BuildContext context) {\n return GridView.builder(\n gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(\n crossAxisCount: 3, //每行三列\n childAspectRatio: 1.0 //显示区域宽高相等\n ),\n itemCount: _icons.length,\n itemBuilder: (context, index) {\n //如果显示到最后一个并且Icon总数小于200时继续获取数据\n if (index == _icons.length - 1 && _icons.length \n\n_retrieveIcons():在此方法中我们通过Future.delayed来模拟从异步数据源获取数据,每次获取数据需要200毫秒,获取成功后将新数据添加到_icons,然后调用setState重新构建。\n在itemBuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个Icon。\n\n更多\nFlutter的GridView默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局:\n\nPub上有一个包“flutter_staggered_grid_view” ,它实现了一个交错GridView的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。\n"},"chapter6/custom_scrollview.html":{"url":"chapter6/custom_scrollview.html","title":"CustomScrollView","keywords":"","body":"CustomScrollView\nCustomScrollView是可以使用sliver来自定义滚动模型(效果)的widget。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个GridView,底部需要一个ListView,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体,如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动widget(Sliver)\"粘\"起来,而CustomScrollView的功能就相当于“胶水”。\nSliver\nSliver有细片、小片之意,在Flutter中,Sliver通常指具有特定滚动效果的可滚动块。可滚动widget,如ListView、GridView等都有对应的Sliver实现如SliverList、SliverGrid等。对于大多数Sliver来说,它们和可滚动Widget最主要的区别是Sliver不会包含Scrollable Widget,也就是说Sliver本身不包含滚动交互模型 ,正因如此,CustomScrollView才可以将多个Sliver\"粘\"在一起,这些Sliver共用CustomScrollView的Scrollable,最终实现统一的滑动效果。\n\nSliver系列Widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“Sliver都和可滚动Widget对应,是由于还有一些如SliverPadding、SliverAppBar等是和可滚动Widget无关的,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView的子widget必须都是Sliver。\n\n示例\nimport 'package:flutter/material.dart';\n\nclass CustomScrollViewTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n //因为本路由没有使用Scaffold,为了让子级Widget(如Text)使用\n //Material Design 默认的样式风格,我们使用Material作为本路由的根。\n return Material(\n child: CustomScrollView(\n slivers: [\n //AppBar,包含一个导航栏\n SliverAppBar(\n pinned: true,\n expandedHeight: 250.0,\n flexibleSpace: FlexibleSpaceBar(\n title: const Text('Demo'),\n background: Image.asset(\n \"./images/avatar.png\", fit: BoxFit.cover,),\n ),\n ),\n\n SliverPadding(\n padding: const EdgeInsets.all(8.0),\n sliver: new SliverGrid( //Grid\n gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(\n crossAxisCount: 2, //Grid按两列显示\n mainAxisSpacing: 10.0,\n crossAxisSpacing: 10.0,\n childAspectRatio: 4.0,\n ),\n delegate: new SliverChildBuilderDelegate(\n (BuildContext context, int index) {\n //创建子widget \n return new Container(\n alignment: Alignment.center,\n color: Colors.cyan[100 * (index % 9)],\n child: new Text('grid item $index'),\n );\n },\n childCount: 20,\n ),\n ),\n ),\n //List\n new SliverFixedExtentList(\n itemExtent: 50.0,\n delegate: new SliverChildBuilderDelegate(\n (BuildContext context, int index) {\n //创建列表项 \n return new Container(\n alignment: Alignment.center,\n color: Colors.lightBlue[100 * (index % 9)],\n child: new Text('list item $index'),\n );\n },\n childCount: 50 //50个列表项\n ),\n ),\n ],\n ),\n );\n }\n}\n\n代码分为三部分:\n\n头部SliverAppBar:SliverAppBar对应AppBar,两者不同之处在于SliverAppBar可以集成到CustomScrollView。SliverAppBar可以结合FlexibleSpaceBar实现Material Design中头部伸缩的模型,具体效果,读者可以运行该示例查看。\n中间的SliverGrid:它用SliverPadding包裹以给SliverGrid添加补白。SliverGrid是一个两列,宽高比为4的网格,它有20个子widget。\n底部SliverFixedExtentList:它是一个所有子元素高度都为50像素的列表。\n\n运行效果:\n\n"},"chapter6/scroll_controller.html":{"url":"chapter6/scroll_controller.html","title":"滚动监听及控制ScrollController","keywords":"","body":"滚动监听及控制\n在前几节中,我们介绍了Flutter中常用的可滚动Widget,也说过可以用ScrollController来控制可滚动widget的滚动位置,本节先介绍一下ScrollController,然后以ListView为例,展示一下ScrollController的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。\nScrollController\n构造函数:\nScrollController({\n double initialScrollOffset = 0.0, //初始滚动位置\n this.keepScrollOffset = true,//是否保存滚动位置\n ...\n})\n\n我们介绍一下ScrollController常用的属性和方法:\n\noffset:可滚动Widget当前滚动的位置。\njumpTo(double offset)、animateTo(double offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。\n\nScrollController还有一些属性和方法,我们将在后面原理部分解释。\n滚动监听\nScrollController间接继承自Listenable,我们可以根据ScrollController来监听滚动事件。如:\ncontroller.addListener(()=>print(controller.offset))\n\n示例\n我们创建一个ListView,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使ListView恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:\n\nclass ScrollControllerTestRoute extends StatefulWidget {\n @override\n ScrollControllerTestRouteState createState() {\n return new ScrollControllerTestRouteState();\n }\n}\n\nclass ScrollControllerTestRouteState extends State {\n ScrollController _controller = new ScrollController();\n bool showToTopBtn = false; //是否显示“返回到顶部”按钮\n\n @override\n void initState() {\n //监听滚动事件,打印滚动位置\n _controller.addListener(() {\n print(_controller.offset); //打印滚动位置\n if (_controller.offset = 1000 && showToTopBtn == false) {\n setState(() {\n showToTopBtn = true;\n });\n }\n });\n }\n\n @override\n void dispose() {\n //为了避免内存泄露,需要调用_controller.dispose\n _controller.dispose();\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(title: Text(\"滚动控制\")),\n body: Scrollbar(\n child: ListView.builder(\n itemCount: 100,\n itemExtent: 50.0, //列表项高度固定时,显式指定高度是一个好习惯(性能消耗小)\n controller: _controller,\n itemBuilder: (context, index) {\n return ListTile(title: Text(\"$index\"),);\n }\n ),\n ),\n floatingActionButton: !showToTopBtn ? null : FloatingActionButton(\n child: Icon(Icons.arrow_upward),\n onPressed: () {\n //返回到顶部时执行动画\n _controller.animateTo(.0,\n duration: Duration(milliseconds: 200),\n curve: Curves.ease\n );\n }\n ),\n );\n }\n}\n\n代码说明已经包含在注释里,下面我们看看运行效果:\n\n由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,ListView会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是Curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。\n滚动位置恢复\nPageStorage是一个用于保存页面(路由)相关数据的Widget,它并不会影响子树的UI外观,其实,PageStorage是一个功能型Widget,它拥有一个存储桶(bucket),子树中的Widget可以通过指定不同的PageStorageKey来存储各自的数据或状态。\n每次滚动结束,Scrollable Widget都会将滚动位置offset存储到PageStorage中,当Scrollable Widget 重新创建时再恢复。如果ScrollController.keepScrollOffset为false,则滚动位置将不会被存储,Scrollable Widget重新创建时会使用ScrollController.initialScrollOffset;ScrollController.keepScrollOffset为true时,Scrollable Widget在第一次创建时,会滚动到initialScrollOffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialScrollOffset会被忽略。\n当一个路由中包含多个Scrollable Widget时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定PageStorageKey来分别跟踪不同Scrollable Widget的位置,如:\nListView(key: PageStorageKey(1), ... );\n...\nListView(key: PageStorageKey(2), ... );\n\n不同的PageStorageKey,需要不同的值,这样才可以区分为不同Scrollable Widget保存的滚动位置。\n\n注意:一个路由中包含多个Scrollable Widget时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供PageStorageKey。这是因为Scrollable本身是一个StatefulWidget,它的状态中也会保存当前滚动位置,所以,只要Scrollable Widget本身没有被从树上detach掉,那么其State就不会销毁(dispose),滚动位置就不会丢失。只有当Widget发生结构变化,导致Scrollable Widget的State销毁或重新构建时才会丢失状态,这种情况就需要显式指定PageStorageKey,通过PageStorage来存储滚动位置,一个典型的场景是在使用TabBarView时,在Tab发生切换时,Tab页中的Scrollable Widget的State就会销毁,这时如果想恢复滚动位置就需要指定PageStorageKey。\n\nScrollPosition\n一个ScrollController可以同时被多个Scrollable Widget使用,ScrollController会为每一个Scrollable Widget创建一个ScrollPosition对象,这些ScrollPosition保存在ScrollController的positions属性中(List)。ScrollPosition是真正保存滑动位置信息的对象,offset只是一个便捷属性:\ndouble get offset => position.pixels;\n\n一个ScrollController虽然可以对应多个Scrollable Widget,但是有一些操作,如读取滚动位置offset,则需要一对一,但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个ScrollController同时被两个Scrollable Widget使用,那么我们可以通过如下方式分别读取他们的滚动位置:\n...\ncontroller.positions.elementAt(0).pixels\ncontroller.positions.elementAt(1).pixels\n...\n\n我们可以通过controller.positions.length来确定controller被几个Scrollable Widget使用。\n方法\nScrollPosition有两个常用方法:animateTo() 和 jumpTo(),它们是真正来控制跳转滚动位置的方法,ScrollController的这两个同名方法,内部最终都会调用ScrollPosition的。\nScrollController控制原理\n我们来介绍一下ScrollController的另外三个方法:\nScrollPosition createScrollPosition(\n ScrollPhysics physics,\n ScrollContext context,\n ScrollPosition oldPosition);\nvoid attach(ScrollPosition position) ;\nvoid detach(ScrollPosition position) ;\n\n当ScrollController和Scrollable Widget关联时,Scrollable Widget首先会调用ScrollController的createScrollPosition()方法来创建一个ScrollPosition来存储滚动位置信息,接着,Scrollable Widget会调用attach()方法,将创建的ScrollPosition添加到ScrollController的positions属性中,这一步称为“注册位置”,只有注册后animateTo() 和 jumpTo()才可以被调用。当Scrollable Widget销毁时,会调用ScrollController的detach()方法,将其ScrollPosition对象从ScrollController的positions属性中移除,这一步称为“注销位置”,注销后animateTo() 和 jumpTo() 将不能再被调用。\n需要注意的是,ScrollController的animateTo() 和 jumpTo()内部会调用所有ScrollPosition的animateTo() 和 jumpTo(),以实现所有和该ScrollController关联的Scrollable Widget都滚动到指定的位置。\n滚动监听\nFlutter Widget树中子Widget可以通过发送通知(Notification)与父(包括祖先)Widget通信。父Widget可以通过NotificationListener Widget来监听自己关注的通知,这种通信方式类似于Web开发中浏览器的事件冒泡,我们在Flutter中沿用“冒泡”这个术语。Scrollable Widget在滚动时会发送ScrollNotification类型的通知,ScrollBar正是通过监听滚动通知来实现的。通过NotificationListener监听滚动事件和通过ScrollController有两个主要的不同:\n\n通过NotificationListener可以在从Scrollable Widget到Widget树根之间任意位置都能监听。而ScrollController只能和具体的Scrollable Widget关联后才可以。\n收到滚动事件后获得的信息不同;NotificationListener在收到滚动事件时,通知中会携带当前滚动位置和ViewPort的一些信息,而ScrollController只能获取当前滚动位置。\n\nNotificationListener\nNotificationListener是一个Widget,模板参数T是想监听的通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型的通知会被监听。NotificationListener需要一个onNotification回调函数,用于实现监听处理逻辑,该回调可以返回一个布尔值,代表是否阻止该事件继续向上冒泡,如果为true时,则冒泡终止,事件停止向上传播,如果不返回或者返回值为false 时,则冒泡继续。\n示例\n下面,我们监听ListView的滚动通知,然后显示当前滚动进度百分比:\nimport 'package:flutter/material.dart';\n\nclass ScrollNotificationTestRoute extends StatefulWidget {\n @override\n _ScrollNotificationTestRouteState createState() =>\n new _ScrollNotificationTestRouteState();\n}\n\nclass _ScrollNotificationTestRouteState\n extends State {\n String _progress = \"0%\"; //保存进度百分比\n\n @override\n Widget build(BuildContext context) {\n return Scrollbar( //进度条\n // 监听滚动通知\n child: NotificationListener(\n onNotification: (ScrollNotification notification) {\n double progress = notification.metrics.pixels /\n notification.metrics.maxScrollExtent;\n //重新构建\n setState(() {\n _progress = \"${(progress * 100).toInt()}%\";\n });\n print(\"BottomEdge: ${notification.metrics.extentAfter == 0}\");\n //return true; //放开此行注释后,进度条将失效\n },\n child: Stack(\n alignment: Alignment.center,\n children: [\n ListView.builder(\n itemCount: 100,\n itemExtent: 50.0,\n itemBuilder: (context, index) {\n return ListTile(title: Text(\"$index\"));\n }\n ),\n CircleAvatar( //显示进度百分比\n radius: 30.0,\n child: Text(_progress),\n backgroundColor: Colors.black54,\n )\n ],\n ),\n ),\n );\n }\n}\n\n我们看一看运行结果:\n\n在接收到滚动事件时,参数类型为ScrollNotification,它包括一个metrics属性,它的类型是ScrollMetrics,该属性包含当前ViewPort及滚动位置等信息:\n\npixels:当前滚动位置。\nmaxScrollExtent:最大可滚动长度。\nextentBefore:滑出ViewPort顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。\nextentInside:ViewPort内部长度;此示例中屏幕显示的列表部分的长度。\nextentAfter:列表中未滑入ViewPort部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。\natEdge:是否滑到了Scrollable Widget的边界(此示例中相当于列表顶或底部)。\n\nScrollMetrics还有一些其它属性,读者可以自行查阅API文档。\n"},"chapter7/":{"url":"chapter7/","title":"功能型Widgets","keywords":"","body":"功能型Widget简介\n功能型Widget指的是不会影响UI布局及外观的Widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的FocusScope(焦点控制)、PageStorage(数据存储)、NotificationListener(事件监听)都属于功能型Widget。由于Widget是Flutter的一等公民,功能型Widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型Widget。\n本章目录\n\n导航返回拦截-WillPopScope\n数据共享-InheritedWidget\n主题-Theme \n\n"},"chapter7/willpopscope.html":{"url":"chapter7/willpopscope.html","title":"导航返回拦截-WillPopScope","keywords":"","body":"导航返回拦截WillPopScope\n为了避免用户误触返回按钮而导致APP退出,在很多APP中都拦截了用户点击返回键的按钮,当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。Flutter中可以通过WillPopScope来实现返回按钮拦截,我们看看WillPopScope的默认构造函数:\nconst WillPopScope({\n ...\n @required WillPopCallback onWillPop,\n @required Widget child\n})\n\nonWillPop是一个回调函数,当用户点击返回按钮时调用(包括导航返回按钮及Android物理返回按钮),该回调需要返回一个Future对象,如果返回的Future最终值为false时,则当前路由不出栈(不会返回),最终值为true时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。\n示例\n为了防止用户误触返回键退出,我们拦截返回事件,当用户在1秒内点击两次返回按钮时,则退出,如果间隔超过1秒则不退出,并重新记时。代码如下:\nimport 'package:flutter/material.dart';\n\nclass WillPopScopeTestRoute extends StatefulWidget {\n @override\n WillPopScopeTestRouteState createState() {\n return new WillPopScopeTestRouteState();\n }\n}\n\nclass WillPopScopeTestRouteState extends State {\n DateTime _lastPressedAt; //上次点击时间\n\n @override\n Widget build(BuildContext context) {\n return new WillPopScope(\n onWillPop: () async {\n if (_lastPressedAt == null ||\n DateTime.now().difference(_lastPressedAt) > Duration(seconds: 1)) {\n //两次点击间隔超过1秒则重新计时\n _lastPressedAt = DateTime.now();\n return false;\n }\n return true;\n },\n child: Container(\n alignment: Alignment.center,\n child: Text(\"1秒内连续按两次返回键退出\"),\n )\n );\n }\n}\n\n读者可以运行示例看看效果。\n"},"chapter7/inherited_widget.html":{"url":"chapter7/inherited_widget.html","title":"数据共享-InheritedWidget","keywords":"","body":"InheritedWidget\nInheritedWidget是Flutter中非常重要的一个功能型Widget,它可以高效的将数据在Widget树中向下传递、共享,这在一些需要在Widget树中共享数据的场景中非常方便,如Flutter中,正是通过InheritedWidget来共享应用主题(Theme)和Locale(当前语言环境)信息的。\n\nInheritedWidget和React中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。InheritedWidget的在Widget树中数据传递方向是从上到下的,这和Notification的传递方向正好相反。\n\ndidChangeDependencies\n在介绍StatefulWidget时,我们提到State对象有一个回调didChangeDependencies,它会在“依赖”发生变化时被Flutter Framework调用。而这个“依赖”指的就是是否使用了父widget中InheritedWidget的数据,如果使用了,则代表有依赖,如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的主题、locale等发生变化时有机会来做一些事情。\n我们看一下之前“计数器”示例应用程序的InheritedWidget版本,需要说明的是,本例主要是为了演示InheritedWidget的功能特性,并不是计数器的推荐实现方式。\n首先,我们通过继承InheritedWidget,将当前计数器点击次数保存在ShareDataWidget的data属性中:\nclass ShareDataWidget extends InheritedWidget {\n ShareDataWidget({\n @required this.data,\n Widget child\n }) :super(child: child);\n\n int data; //需要在子树中共享的数据,保存点击次数\n\n //定义一个便捷方法,方便子树中的widget获取共享数据 \n static ShareDataWidget of(BuildContext context) {\n return context.inheritFromWidgetOfExactType(ShareDataWidget);\n }\n\n //该回调决定当data发生变化时,是否通知子树中依赖data的Widget \n @override\n bool updateShouldNotify(ShareDataWidget old) {\n //如果返回false,则子树中依赖(build函数中有调用)本widget\n //的子widget的`state.didChangeDependencies`会被调用\n return old.data != data;\n }\n}\n\n然后我们实现一个子widget _TestWidget,在其build方法中引用ShareDataWidget中的数据;同时,在其didChangeDependencies() 回调中打印日志:\nclass _TestWidget extends StatefulWidget {\n @override\n __TestWidgetState createState() => new __TestWidgetState();\n}\n\nclass __TestWidgetState extends State {\n @override\n Widget build(BuildContext context) {\n //使用InheritedWidget中的共享数据\n return Text(ShareDataWidget\n .of(context)\n .data\n .toString());\n }\n\n @override\n void didChangeDependencies() {\n super.didChangeDependencies();\n //父或祖先widget中的InheritedWidget改变(updateShouldNotify返回true)时会被调用。\n //如果build中没有依赖InheritedWidget,则此回调不会被调用。\n print(\"Dependencies change\");\n }\n}\n\n最后,我们创建一个按钮,每点击一次,就将ShareDataWidget的值自增:\nclass InheritedWidgetTestRoute extends StatefulWidget {\n @override\n _InheritedWidgetTestRouteState createState() => new _InheritedWidgetTestRouteState();\n}\n\nclass _InheritedWidgetTestRouteState extends State {\n int count = 0;\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: ShareDataWidget( //使用ShareDataWidget\n data: count,\n child: Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Padding(\n padding: const EdgeInsets.only(bottom: 20.0),\n child: _TestWidget(),//子widget中依赖ShareDataWidget\n ),\n RaisedButton(\n child: Text(\"Increment\"),\n //每点击一次,将count自增,然后重新build,ShareDataWidget的data将被更新 \n onPressed: () => setState(() => ++count),\n )\n ],\n ),\n ),\n );\n }\n}\n\n运行后界面如下:\n\n每点击一次按钮,计数器就会自增,控制台就会打印一句日志:\nI/flutter ( 8513): Dependencies change\n可见依赖发生变化后,其didChangeDependencies()会被调用。但是读者要注意,如果_TestWidget的build方法中没有使用ShareDataWidget的数据,那么它的didChangeDependencies()将不会被调用,因为它并没有依赖ShareDataWidget。\n\n思考题:Flutter framework是怎么知道子widget有没有依赖InheritedWidget的?\n\n应该在didChangeDependencies()中做什么?\n一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。\n"},"chapter7/theme.html":{"url":"chapter7/theme.html","title":"主题-Theme","keywords":"","body":"主题\nTheme Widget可以为Material APP定义主题数据(ThemeData),Material组件库里很多Widget都使用了主题数据,如导航栏颜色、标题字体、Icon样式等。Theme内会使用InheritedWidget来为其子树Widget共享样式数据。\nThemeData\nThemeData是Material Design Widget库的主题数据,Material库的Widget需要遵守相应的设计规范,而这些规范可自定义部分都定义在ThemeData,所以我们可以通过ThemeData来自定义应用主题。我们可以通过Theme.of方法来获取当前的ThemeData。\n\n注意,Material Design 设计规范中有些是不能自定义的,如导航栏高度,ThemeData只包含了可自定义部分。\n\n我们看看ThemeData部分数据:\nThemeData({\n Brightness brightness, //深色还是浅色\n MaterialColor primarySwatch, //主题颜色样本,见下面介绍\n Color primaryColor, //主色,决定导航栏颜色\n Color accentColor, //次级色,决定大多数Widget的颜色,如进度条、开关等。\n Color cardColor, //卡片颜色\n Color dividerColor, //分割线颜色\n ButtonThemeData buttonTheme, //按钮主题\n Color cursorColor, //输入框光标颜色\n Color dialogBackgroundColor,//对话框背景颜色\n String fontFamily, //文字字体\n TextTheme textTheme,// 字体主题,包括标题、body等文字样式\n IconThemeData iconTheme, // Icon的默认样式\n TargetPlatform platform, //指定平台,应用特定平台控件风格\n ...\n})\n\n上面只是ThemeData的一小部分属性,完整列表读者可以查看SDK定义。上面属性中需要说明的是primarySwatch,它是主题颜色的一个\"样本\",通过这个样本可以在一些条件下生成一些其它的属性,例如,如果没有指定primaryColor,并且当前主题不是深色主题,那么primaryColor就会默认为primarySwatch指定的颜色,还有一些相似的属性如accentColor 、indicatorColor等也会受primarySwatch影响。\n示例\n我们实现一个路由换肤功能:\n\nclass ThemeTestRoute extends StatefulWidget {\n @override\n _ThemeTestRouteState createState() => new _ThemeTestRouteState();\n}\n\nclass _ThemeTestRouteState extends State {\n Color _themeColor = Colors.teal; //当前路由主题色\n\n @override\n Widget build(BuildContext context) {\n ThemeData themeData = Theme.of(context);\n return Theme(\n data: ThemeData(\n primarySwatch: _themeColor, //用于导航栏、FloatingActionButton的背景色等\n iconTheme: IconThemeData(color: _themeColor) //用于Icon颜色\n ),\n child: Scaffold(\n appBar: AppBar(title: Text(\"主题测试\")),\n body: Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n //第一行Icon使用主题中的iconTheme\n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Icon(Icons.favorite),\n Icon(Icons.airport_shuttle),\n Text(\" 颜色跟随主题\")\n ]\n ),\n //为第二行Icon自定义颜色(固定为黑色)\n Theme(\n data: themeData.copyWith(\n iconTheme: themeData.iconTheme.copyWith(\n color: Colors.black\n ),\n ),\n child: Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Icon(Icons.favorite),\n Icon(Icons.airport_shuttle),\n Text(\" 颜色固定黑色\")\n ]\n ),\n ),\n ],\n ),\n floatingActionButton: FloatingActionButton(\n onPressed: () => //切换主题\n setState(() =>\n _themeColor =\n _themeColor == Colors.teal ? Colors.blue : Colors.teal\n ),\n child: Icon(Icons.palette)\n ),\n ),\n );\n }\n}\n\n运行后点击右下角悬浮按钮则可以切换主题:\n\n需要注意的有三点:\n\n可以通过局部主题覆盖全局主题,正如代码中通过Theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,Flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为Widget中使用主题样式时是通过Theme.of(BuildContext context)来获取的,我们看看其简化后的代码:\n\nstatic ThemeData of(BuildContext context, { bool shadowThemeOnly = false }) {\n // 简化代码,并非源码 \n return context.inheritFromWidgetOfExactType(_InheritedTheme)\n}\n\ncontext.inheritFromWidgetOfExactType 会在widget树中从当前位置向上查找第一个类型为_InheritedTheme的Widget。所以当局部使用Theme后,其子树中Theme.of()找到的第一个_InheritedTheme便是该Theme的。\n\n本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改MaterialApp的theme属性。\n\n\n"},"chapter8/":{"url":"chapter8/","title":"事件处理与通知","keywords":"","body":"事件处理与通知\nFlutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。 第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下Flutter中重要的Notification机制。\n本章目录\n\n原始指针事件处理\n手势识别\n全局事件总线 \n通知Notification \n\n"},"chapter8/listener.html":{"url":"chapter8/listener.html","title":"原始指针事件处理","keywords":"","body":"Pointer事件处理\n本节先来介绍一下原始指针事件(Pointer Event,在移动设备上通常为触摸事件),下一节再介绍手势处理。\n在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。\n当指针按下时,Flutter会对应用程序执行命中测试(Hit Test),以确定指针与屏幕接触的位置存在哪些widget, 指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的widget,然后从那里开始,事件会在widget树中向上冒泡,这些事件会从最内部的widget被分发到到widget根的路径上的所有Widget,这和Web开发中浏览器的事件冒泡机制相似, 但是Flutter中没有机制取消或停止冒泡过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的Widget才能触发事件。\nFlutter中可以使用Listener widget来监听原始触摸事件,它也是一个功能性widget。\nListener({\n Key key,\n this.onPointerDown, //手指按下回调\n this.onPointerMove, //手指移动回调\n this.onPointerUp,//手指抬起回调\n this.onPointerCancel,//触摸事件取消回调\n this.behavior = HitTestBehavior.deferToChild, //在命中测试期间如何表现\n Widget child\n})\n\n我们先看一个示例,后面再单独讨论一下behavior属性。\n...\n//定义一个状态,保存当前指针位置\nPointerEvent _event;\n...\nListener(\n child: Container(\n alignment: Alignment.center,\n color: Colors.blue,\n width: 300.0,\n height: 150.0,\n child: Text(_event?.toString()??\"\",style: TextStyle(color: Colors.white)),\n ),\n onPointerDown: (PointerDownEvent event) => setState(()=>_event=event),\n onPointerMove: (PointerMoveEvent event) => setState(()=>_event=event),\n onPointerUp: (PointerUpEvent event) => setState(()=>_event=event),\n),\n\n\n手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数PointerDownEvent、PointerMoveEvent、PointerUpEvent都是PointerEvent的一个子类,PointerEvent类中包括当前指针的一些信息,如:\n\nposition:它是鼠标相对于当对于全局坐标的偏移。\ndelta:两次指针移动事件(PointerMoveEvent)的距离。\npressure:按压力度,如果手机屏幕支持压力传感器(如iPhone的3D Touch),此属性会更有意义,如果手机不支持,则始终为1。\norientation:指针移动方向,是一个角度值。\n\n上面只是PointerEvent一些常用属性,除了这些它还有很多属性,读者可以查看API文档。\n现在,我们重点来介绍一下behavior属性,它决定子Widget如何响应命中测试,它的值类型为HitTestBehavior,这是一个枚举类,有三个枚举值:\n\ndeferToChild:子widget会一个接一个的进行命中测试,如果子Widget中有测试通过的,则当前Widget通过,这就意味着,如果指针事件作用于子Widget上时,其父(祖先)Widget也肯定可以收到该事件。\n\nopaque:在命中测试时,将当前Widget当成不透明处理(即使本身是透明的),最终的效果相当于当前Widget的整个区域都是点击区域。举个例子:\nListener(\n child: ConstrainedBox(\n constraints: BoxConstraints.tight(Size(300.0, 150.0)),\n child: Center(child: Text(\"Box A\")),\n ),\n //behavior: HitTestBehavior.opaque,\n onPointerDown: (event) => print(\"down A\")\n),\n\n上例中,只有点击文本内容区域才会触发点击事件,如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为HitTestBehavior.opaque。注意,该属性并不能用于在Widget树中拦截(忽略)事件,它只是决定命中测试时的Widget大小。\n\ntranslucent:当点击Widget透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部widget透明区域时,顶部widget和底部widget都可以接收到事件,例如:\nStack(\n children: [\n Listener(\n child: ConstrainedBox(\n constraints: BoxConstraints.tight(Size(300.0, 200.0)),\n child: DecoratedBox(\n decoration: BoxDecoration(color: Colors.blue)),\n ),\n onPointerDown: (event) => print(\"down0\"),\n ),\n Listener(\n child: ConstrainedBox(\n constraints: BoxConstraints.tight(Size(200.0, 100.0)),\n child: Center(child: Text(\"左上角200*100范围内非文本区域点击\")),\n ),\n onPointerDown: (event) => print(\"down1\"),\n //behavior: HitTestBehavior.translucent, //放开此行注释后可以\"点透\"\n )\n ],\n)\n\n上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部Widget透明区域),控制台只会打印“down0”,也就是说顶部widget没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:\nI/flutter ( 3039): down1\nI/flutter ( 3039): down0\n如果behavior值改为HitTestBehavior.opaque,则只会打印\"down1\"。\n\n\n忽略PointerEvent\n假如我们不想让某个子树响应PointerEvent的话,我们可以使用IgnorePointer和AbsorbPointer,这两个Widget都能阻止子树接收指针事件,不同之处在于AbsorbPointer本身会参与命中测试,而IgnorePointer本身不会参与,这就意味着AbsorbPointer本身是可以接收指针事件的(但其子树不行),而IgnorePointer不可以。一个简单的例子如下:\nListener(\n child: AbsorbPointer(\n child: Listener(\n child: Container(\n color: Colors.red,\n width: 200.0,\n height: 100.0,\n ),\n onPointerDown: (event)=>print(\"in\"),\n ),\n ),\n onPointerDown: (event)=>print(\"up\"),\n)\n\n点击Container时,由于它在AbsorbPointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但AbsorbPointer本身是可以接收指针事件的,所以会输出\"up\"。如果将AbsorbPointer换成IgnorePointer,那么两个都不会输出。\n"},"chapter8/gesture.html":{"url":"chapter8/gesture.html","title":"手势识别","keywords":"","body":"手势识别GestureDetector\nGestureDetector是一个用于手势识别的功能性Widget,我们通过它可以来识别各种手势,它是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别:\n点击、双击、长按\n我们通过GestureDetector对Container进行手势识别,触发相应事件后,在Container上显示事件名,为了增大点击区域,将Container设置为200×100,代码如下:\n\nclass GestureDetectorTestRoute extends StatefulWidget {\n @override\n _GestureDetectorTestRouteState createState() =>\n new _GestureDetectorTestRouteState();\n}\n\nclass _GestureDetectorTestRouteState extends State {\n String _operation = \"No Gesture detected!\"; //保存事件名\n @override\n Widget build(BuildContext context) {\n return Center(\n child: GestureDetector(\n child: Container(\n alignment: Alignment.center,\n color: Colors.blue,\n width: 200.0, \n height: 100.0,\n child: Text(_operation,\n style: TextStyle(color: Colors.white),\n ),\n ),\n onTap: () => updateText(\"Tap\"),//点击\n onDoubleTap: () => updateText(\"DoubleTap\"), //双击\n onLongPress: () => updateText(\"LongPress\"), //长按\n ),\n );\n }\n\n void updateText(String text) {\n //更新显示的事件名\n setState(() {\n _operation = text;\n });\n }\n}\n\n运行效果:\n\n注意: 当同时监听onTap和onDoubleTap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以GestureDetector会等一断时间来确定是否为双击事件。如果用户只监听了onTap(没有监听onDoubleTap)事件时,则没有延时。\n拖动、滑动\n一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。GestureDetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。GestureDetector会将要监听的widget的原点(左上角)作为本次手势的原点,当用户在监听的widget上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母A的示例:\nclass _Drag extends StatefulWidget {\n @override\n _DragState createState() => new _DragState();\n}\n\nclass _DragState extends State with SingleTickerProviderStateMixin {\n double _top = 0.0; //距顶部的偏移\n double _left = 0.0;//距左边的偏移\n\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: [\n Positioned(\n top: _top,\n left: _left,\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"A\")),\n //手指按下时会触发此回调\n onPanDown: (DragDownDetails e) {\n //打印手指按下的位置(相对于屏幕)\n print(\"用户手指按下:${e.globalPosition}\");\n },\n //手指滑动时会触发此回调\n onPanUpdate: (DragUpdateDetails e) {\n //用户手指滑动时,更新偏移,重新构建\n setState(() {\n _left += e.delta.dx;\n _top += e.delta.dy;\n });\n },\n onPanEnd: (DragEndDetails e){\n //打印滑动结束时在x、y轴上的速度\n print(e.velocity);\n },\n ),\n )\n ],\n );\n }\n}\n\n运行后,就可以在任意方向拖动了:\n\n日志:\nI/flutter ( 8513): 用户手指按下:Offset(26.3, 101.8)\nI/flutter ( 8513): Velocity(235.5, 125.8)\n代码解释:\n\nDragDownDetails.globalPosition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父widget)原点(左上角)的偏移。\nDragUpdateDetails.delta:当用户在屏幕上滑动时,会触发多次Update事件,delta指一次Update事件的滑动的偏移量。\nDragEndDetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。\n\n单一方向拖动\n在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,GestureDetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:\nclass _DragVertical extends StatefulWidget {\n @override\n _DragVerticalState createState() => new _DragVerticalState();\n}\n\nclass _DragVerticalState extends State {\n double _top = 0.0;\n\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: [\n Positioned(\n top: _top,\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"A\")),\n //垂直方向拖动事件\n onVerticalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _top += details.delta.dy;\n });\n }\n ),\n )\n ],\n );\n }\n}\n\n这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。\n缩放\nGestureDetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果:\nclass _ScaleTestRouteState extends State {\n double _width = 200.0; //通过修改图片宽度来达到缩放效果\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: GestureDetector(\n //指定宽度,高度自适应\n child: Image.asset(\"./images/sea.png\", width: _width),\n onScaleUpdate: (ScaleUpdateDetails details) {\n setState(() {\n //缩放倍数在0.8到10倍之间\n _width=200*details.scale.clamp(.8, 10.0);\n });\n },\n ),\n );\n }\n}\n\n运行效果:\n\n现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,我们将在后面“动画”一章中实现一个完整的缩放Widget。\nGestureRecognizer\nGestureDetector内部是使用一个或多个GestureRecognizer来识别各种手势的,而GestureRecognizer的作用就是通过Listener来将原始指针事件转换为语义手势,GestureDetector直接可以接收一个子Widget。GestureRecognizer是一个抽象类,一种手势的识别器对应一个GestureRecognizer的子类,Flutter实现了丰富的手势识别器,我们可以直接使用。\n示例\n假设我们要给一段富文本(RichText)的不同部分分别添加点击事件处理器,但是TextSpan并不是一个Widget,这时我们不能用GestureDetector,但TextSpan有一个recognizer属性,它可以接收一个GestureRecognizer,假设我们在点击时给文本变色:\nimport 'package:flutter/gestures.dart';\n\nclass _GestureRecognizerTestRouteState\n extends State {\n TapGestureRecognizer _tapGestureRecognizer = new TapGestureRecognizer();\n bool _toggle = false; //变色开关\n\n @override\n void dispose() {\n //用到GestureRecognizer的话一定要调用其dispose方法释放资源\n _tapGestureRecognizer.dispose();\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: Text.rich(\n TextSpan(\n children: [\n TextSpan(text: \"你好世界\"),\n TextSpan(\n text: \"点我变色\",\n style: TextStyle(\n fontSize: 30.0,\n color: _toggle ? Colors.blue : Colors.red\n ),\n recognizer: _tapGestureRecognizer\n ..onTap = () {\n setState(() {\n _toggle = !_toggle;\n });\n },\n ),\n TextSpan(text: \"你好世界\"),\n ]\n )\n ),\n );\n }\n}\n\n运行效果:\n\n注意:使用GestureRecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。\n手势竞争与冲突\n竞争\n如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上Flutter中的手势识别引入了一个Arena的概念,Arena直译为“竞技场”的意思,每一个手势识别器(GestureRecognizer)都是一个“竞争者”(GestureArenaMember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个ListView,它的第一个子Widget也是ListView,如果现在滑动这个子ListView,父ListView会动吗?答案是否定的,这时只有子Widget会动,因为这时子Widget会胜出而获得滑动事件的处理权。\n示例\n我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:\nimport 'package:flutter/material.dart';\n\nclass BothDirectionTestRoute extends StatefulWidget {\n @override\n BothDirectionTestRouteState createState() =>\n new BothDirectionTestRouteState();\n}\n\nclass BothDirectionTestRouteState extends State {\n double _top = 0.0;\n double _left = 0.0;\n\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: [\n Positioned(\n top: _top,\n left: _left,\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"A\")),\n //垂直方向拖动事件\n onVerticalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _top += details.delta.dy;\n });\n },\n onHorizontalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _left += details.delta.dx;\n });\n },\n ),\n )\n ],\n );\n }\n}\n\n此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。\n手势冲突\n由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:\nclass GestureConflictTestRouteState extends State {\n double _left = 0.0;\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: [\n Positioned(\n left: _left,\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"A\")), //要拖动和点击的widget\n onHorizontalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _left += details.delta.dx;\n });\n },\n onHorizontalDragEnd: (details){\n print(\"onHorizontalDragEnd\");\n },\n onTapDown: (details){\n print(\"down\");\n },\n onTapUp: (details){\n print(\"up\");\n },\n ),\n )\n ],\n );\n }\n}\n\n现在我们按住圆形“A”拖动然后抬起手指,控制台日志如下:\nI/flutter (17539): down\nI/flutter (17539): onHorizontalDragEnd\n我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时TapDown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onHorizontalDragEnd 和 onTapUp发生了冲突,但是因为是在拖动的语义中,所以onHorizontalDragEnd胜出,所以就会打印 “onHorizontalDragEnd”。如果我们的代码逻辑中,对于手指按下和抬起是强依赖的,比如在一个轮播图组件中,我们希望手指按下时,暂停轮播,而抬起时恢复轮播,但是由于轮播图组件中本身可能已经处理了拖动手势(支持手动滑动切换),甚至可能也支持了缩放手势,这时我们如果在外部再用onTapDown、onTapUp来监听的话是不行的。这时我们应该怎么做?其实很简单,通过Listener监听原始指针事件就行:\nPositioned(\n top:80.0,\n left: _leftB,\n child: Listener(\n onPointerDown: (details) {\n print(\"down\");\n },\n onPointerUp: (details) {\n //会触发\n print(\"up\");\n },\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"B\")),\n onHorizontalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _leftB += details.delta.dx;\n });\n },\n onHorizontalDragEnd: (details) {\n print(\"onHorizontalDragEnd\");\n },\n ),\n ),\n)\n\n总结:\n手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过Listener直接识别原始指针事件来解决冲突。\n"},"chapter8/eventbus.html":{"url":"chapter8/eventbus.html","title":"全局事件总线","keywords":"","body":"事件总线\n在APP中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的APP中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:\n//订阅者回调签名\ntypedef void EventCallback(arg);\n\nclass EventBus {\n //私有构造函数\n EventBus._internal();\n\n //保存单例\n static EventBus _singleton = new EventBus._internal();\n\n //工厂构造函数\n factory EventBus()=> _singleton;\n\n //保存事件订阅者队列,key:事件名(id),value: 对应事件的订阅者队列\n var _emap = new Map>();\n\n //添加订阅者\n void on(eventName, EventCallback f) {\n if (eventName == null || f == null) return;\n _emap[eventName] ??= new List();\n _emap[eventName].add(f);\n }\n\n //移除订阅者\n void off(eventName, [EventCallback f]) {\n var list = _emap[eventName];\n if (eventName == null || list == null) return;\n if (f == null) {\n _emap[eventName] = null;\n } else {\n list.remove(f);\n }\n }\n\n //触发事件,事件触发后该事件所有订阅者会被调用\n void emit(eventName, [arg]) {\n var list = _emap[eventName];\n if (list == null) return;\n int len = list.length - 1;\n //反向遍历,防止在订阅者在回调中移除自身带来的下标错位 \n for (var i = len; i > -1; --i) {\n list[i](arg);\n }\n }\n}\n\n//定义一个top-level变量,页面引入该文件后可以直接使用bus\nvar bus = new EventBus();\n\n使用\n//页面A中\n...\n //监听登录事件\nbus.on(\"login\", (arg) {\n // do something\n});\n\n//登录页B中\n...\n//登录成功后触发登录事件,页面A中订阅者会被调用\nbus.emit(\"login\", userInfo);\n\n\n注意:Dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new EventBus()始终返回都是同一个实例,读者应该理解并掌握这种方法。\n\n事件总线通常用于Widget之间状态共享,但关于Widget之间状态共享也有一些专门的Package如redux,这和web框架Vue/React是一致的。通常情况下事件总线是足以满足业务需求的,如果你决定使用redux的话,一定要想清楚业务是否真的有必要用它,防止“化简为繁”、过度设计。\n"},"chapter8/notification.html":{"url":"chapter8/notification.html","title":"通知Notification","keywords":"","body":"Notification\nNotification是Flutter中一个重要的机制,在Widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)向上传递,所有父节点都可以通过NotificationListener来监听通知,Flutter中称这种通知由子向父的传递为“通知冒泡”(Notification Bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。\nFlutter中很多地方使用了通知,如可滚动(Scrollable) Widget中滑动时就会分发ScrollNotification,而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。除了ScrollNotification,Flutter中还有SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等。下面是一个监听Scrollable Widget滚动通知的例子:\nNotificationListener(\n onNotification: (notification){\n //print(notification);\n switch (notification.runtimeType){\n case ScrollStartNotification: print(\"开始滚动\"); break;\n case ScrollUpdateNotification: print(\"正在滚动\"); break;\n case ScrollEndNotification: print(\"滚动停止\"); break;\n case OverscrollNotification: print(\"滚动到边界\"); break;\n }\n },\n child: ListView.builder(\n itemCount: 100,\n itemBuilder: (context, index) {\n return ListTile(title: Text(\"$index\"),);\n }\n ),\n);\n\n上例中的滚动通知如ScrollStartNotification、ScrollUpdateNotification等都是继承自ScrollNotification类,不同类型的通知子类会包含不同的信息,比如ScrollUpdateNotification有一个scrollDelta属性,它记录了移动的位移,其它通知属性读者可以自己查看SDK文档。\n自定义通知\n除了Flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:\n\n定义一个通知类,要继承自Notification类;\nclass MyNotification extends Notification {\n MyNotification(this.msg);\n final String msg;\n}\n\n\n分发通知。\nNotification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作Element的一个接口,它与Element树上的节点是对应的,通知会从context对应的Element节点向上冒泡。\n\n\n下面我们看一个完整的例子:\nclass NotificationRoute extends StatefulWidget {\n @override\n NotificationRouteState createState() {\n return new NotificationRouteState();\n }\n}\n\nclass NotificationRouteState extends State {\n String _msg=\"\";\n @override\n Widget build(BuildContext context) {\n //监听通知 \n return NotificationListener(\n onNotification: (notification) {\n setState(() {\n _msg+=notification.msg+\" \";\n });\n },\n child: Center(\n child: Column(\n mainAxisSize: MainAxisSize.min,\n children: [\n// RaisedButton(\n// onPressed: () => MyNotification(\"Hi\").dispatch(context),\n// child: Text(\"Send Notification\"),\n// ), \n Builder(\n builder: (context) {\n return RaisedButton(\n //按钮点击时分发通知 \n onPressed: () => MyNotification(\"Hi\").dispatch(context),\n child: Text(\"Send Notification\"),\n );\n },\n ),\n Text(_msg)\n ],\n ),\n ),\n );\n }\n}\n\nclass MyNotification extends Notification {\n MyNotification(this.msg);\n final String msg;\n}\n\n上面代码中,我们每点一次按钮就会分发一个MyNotification类型的通知,我们在Widget根上监听通知,收到通知后我们将通知通过Text显示在屏幕上。\n\n注意:代码中注释的部分是不能正常工作的,因为这个context是根Context,而NotificationListener是监听的子树,所以我们通过Builder来构建RaisedButton,来获得按钮位置的context。\n\n运行效果如下:\n\n"},"chapter9/":{"url":"chapter9/","title":"动画","keywords":"","body":"简介\n精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。 Flutter可以轻松实现各种动画类型,对于许多widget,特别是Material Design widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍Flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。\n本章目录\n\nFlutter动画简介\n动画结构\n自定义路由过渡动画 \nHero动画 \n交错动画 \n\n"},"chapter9/intro.html":{"url":"chapter9/intro.html","title":"Flutter动画简介","keywords":"","body":"动画\n在任何系统的UI框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变UI外观,由于人眼会产生视觉暂留,最终看到的就是一个“连续”的动画,这和电影的原理是一样的,而UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(Frame Per Second),指每秒的动画帧数。很明显,帧率越高则动画就会越流畅。一般情况下,对于人眼来说,动画帧率超过16FPS,就比较流畅了,超过32FPS就会非常的细腻平滑,而超过32FPS基本就感受不到差别了。由于动画的每一帧都是要改变UI输出,所以在一个时间段内连续的改变UI输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在UI系统中,动画的平均帧率是重要的性能指标,而在Flutter中,理想情况下是可以实现60FPS的,这和原生应用动画基本是持平的。\nFlutter中动画抽象\n为了方便开发者创建动画,不同的UI系统对动画都进行了一些抽象,比如在Android中可以通过XML来描述一个动画然后设置给View。Flutter中也对动画进行了抽象,主要涉及Tween、Animation、Curve、Controller这些角色。\nAnimation\nAnimation对象本身和UI渲染没有任何关系。Animation是一个抽象类,它用于保存动画的插值和状态;其中一个比较常用的Animation类是Animation。Animation对象是一个在一段时间内依次生成一个区间(Tween)之间值的类。Animation对象的输出值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数。 根据Animation对象的控制方式,动画可以反向运行,甚至可以在中间切换方向。Animation还可以生成除double之外的其他类型值,如:Animation\\ 或 Animation\\。可以通过Animation对象的value属性获取动画的当前值。\n动画通知\n我们可以通过Animation来监听动画的帧和状态变化:\n\naddListener()可以给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。\naddStatusListener()可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用StatusListener。\n\n在后面的章节中我们将会举例说明。\nCurve\n动画过程可以是匀速的、加速的或者先加速后减速等。Flutter中通过Curve(曲线)来描述动画过程,Curve可以是线性的(Curves.linear),也可以是非线性的。\nCurvedAnimation 将动画过程定义为一个非线性曲线.\nfinal CurvedAnimation curve =\n new CurvedAnimation(parent: controller, curve: Curves.easeIn);\n\n注: Curves 类类定义了许多常用的曲线,也可以创建自己的,例如:\nclass ShakeCurve extends Curve {\n @override\n double transform(double t) {\n return math.sin(t * math.PI * 2);\n }\n}\n\nCurvedAnimation和AnimationController(下面介绍)都是Animation类型。CurvedAnimation可以通过包装AnimationController和Curve生成一个新的动画对象 。\nAnimationController\nAnimationController用于控制动画,它包含动画的启动forward()、停止stop() 、反向播放 reverse()等方法。AnimationController会在动画的每一帧,就会生成一个新的值。默认情况下,AnimationController在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。 例如,下面代码创建一个Animation对象,但不会启动它运行:\nfinal AnimationController controller = new AnimationController(\n duration: const Duration(milliseconds: 2000), vsync: this);\n\nAnimationController生成数字的区间可以通过lowerBound和upperBound来指定,如:\nfinal AnimationController controller = new AnimationController( \n duration: const Duration(milliseconds: 2000), \n lowerBound: 10.0,\n upperBound: 20.0,\n vsync: this\n);\n\nAnimationController派生自Animation,因此可以在需要Animation对象的任何地方使用。 但是,AnimationController具有控制动画的其他方法,例如forward()方法可以启动动画。数字的产生与屏幕刷新有关,因此每秒钟通常会产生60个数字(即60fps),在动画的每一帧,生成新的数字后,每个Animation对象会调用其Listener对象回调,等动画状态发生改变时(如动画结束)会调用StatusListeners监听器。\nduration表示动画执行的时长,通过它我们可以控制动画的速度。\n\n注意: 在某些情况下,动画值可能会超出AnimationController的0.0-1.0的范围。例如,fling()函数允许您提供速度(velocity)、力量(force)等,因此可以在0.0到1.0范围之外。 CurvedAnimation生成的值也可以超出0.0到1.0的范围。根据选择的曲线,CurvedAnimation的输出可以具有比输入更大的范围。例如,Curves.elasticIn等弹性曲线会生成大于或小于默认范围的值。\n\nTicker\n当创建一个AnimationController时,需要传递一个vsync参数,它接收一个TickerProvider类型的对象,它的主要职责是创建Ticker,定义如下:\nabstract class TickerProvider {\n //通过一个回调创建一个Ticker\n Ticker createTicker(TickerCallback onTick);\n}\n\nFlutter应用在启动时都会绑定一个SchedulerBinding,通过SchedulerBinding可以给每一次屏幕刷新添加回调,而Ticker就是通过SchedulerBinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用TickerCallback。使用Ticker(而不是Timer)来驱动动画会防止屏幕外动画(动画的UI不在当前屏幕时,如锁屏时)消耗不必要的资源,因为Flutter中屏幕刷新时会通知到绑定的SchedulerBinding,而Ticker是受SchedulerBinding驱动的,由于锁屏后屏幕会停止刷新,所以Ticker就不会再触发。\n通过将SingleTickerProviderStateMixin添加到State的定义中,然后将State对象作为vsync的值,这在后面的例子中可以见到。\nTween\n默认情况下,AnimationController对象值的范围是0.0到1.0。如果我们需要不同的范围或不同的数据类型,则可以使用Tween来配置动画以生成不同的范围或数据类型的值。例如,像下面示例,Tween生成从-200.0到0.0的值:\nfinal Tween doubleTween = new Tween(begin: -200.0, end: 0.0);\n\nTween构造函数需要begin和end两个参数。Tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为0.0到1.0,但这不是必须的,我们可以自定义需要的范围。\nTween继承自Animatable,而不是继承自Animation。Animatable与Animation相似,不是必须输出double值。例如,ColorTween指定两种颜色之间的过渡。\nfinal Tween colorTween =\n new ColorTween(begin: Colors.transparent, end: Colors.black54);\n\nTween对象不存储任何状态,相反,它提供了evaluate(Animation animation)方法,它可以获取动画当前值。 Animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。\nTween.animate\n要使用Tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。\nfinal AnimationController controller = new AnimationController(\n duration: const Duration(milliseconds: 500), vsync: this);\nAnimation alpha = new IntTween(begin: 0, end: 255).animate(controller);\n\n注意animate()返回的是一个Animation,而不是一个Animatable。\n以下示例构建了一个控制器、一条曲线和一个Tween:\nfinal AnimationController controller = new AnimationController(\n duration: const Duration(milliseconds: 500), vsync: this);\nfinal Animation curve =\n new CurvedAnimation(parent: controller, curve: Curves.easeOut);\nAnimation alpha = new IntTween(begin: 0, end: 255).animate(curve);\n\n"},"chapter9/animation_structure.html":{"url":"chapter9/animation_structure.html","title":"动画结构","keywords":"","body":"动画基本结构\n我们通过实现一个图片逐渐放大的示例来演示一下Flutter中动画的基本结构:\nclass ScaleAnimationRoute extends StatefulWidget {\n @override\n _ScaleAnimationRouteState createState() => new _ScaleAnimationRouteState();\n}\n\n//需要继承TickerProvider,如果有多个AnimationController,则应该使用TickerProviderStateMixin。\nclass _ScaleAnimationRouteState extends State with SingleTickerProviderStateMixin{ \n\n Animation animation;\n AnimationController controller;\n\n initState() {\n super.initState();\n controller = new AnimationController(\n duration: const Duration(seconds: 3), vsync: this);\n //图片宽高从0变到300\n animation = new Tween(begin: 0.0, end: 300.0).animate(controller)\n ..addListener(() {\n setState(()=>{});\n });\n //启动动画(正向执行)\n controller.forward();\n }\n\n @override\n Widget build(BuildContext context) {\n return new Center(\n child: Image.asset(\"images/avatar.png\",\n width: animation.value,\n height: animation.value\n ),\n );\n }\n\n dispose() {\n //路由销毁时需要释放动画资源\n controller.dispose();\n super.dispose();\n }\n}\n\n上面代码中addListener()函数调用了setState(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变Image的宽高,因为它的高度和宽度现在使用的是animation.value ,所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。\n上面的例子中并没有指定Curve,所以放大的过程是线性的(匀速),下面我们指定一个Curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initState中的代码改为下面这样即可:\n initState() {\n super.initState();\n controller = new AnimationController(\n duration: const Duration(seconds: 3), vsync: this);\n //使用弹性曲线\n animation=CurvedAnimation(parent: controller, curve: Curves.bounceIn);\n //图片宽高从0变到300\n animation = new Tween(begin: 0.0, end: 300.0).animate(animation)\n ..addListener(() {\n setState(() {\n });\n });\n //启动动画\n controller.forward();\n }\n\n使用AnimatedWidget简化\n细心的读者可能已经发现上面示例中通过addListener()和setState() 来更新UI这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。AnimatedWidget类封装了调用setState()的细节,并允许我们将Widget分离出来,重构后的代码如下:\nclass AnimatedImage extends AnimatedWidget {\n AnimatedImage({Key key, Animation animation})\n : super(key: key, listenable: animation);\n\n Widget build(BuildContext context) {\n final Animation animation = listenable;\n return new Center(\n child: Image.asset(\"images/avatar.png\",\n width: animation.value,\n height: animation.value\n ),\n );\n }\n}\n\n\nclass ScaleAnimationRoute extends StatefulWidget {\n @override\n _ScaleAnimationRouteState createState() => new _ScaleAnimationRouteState();\n}\n\nclass _ScaleAnimationRouteState extends State\n with SingleTickerProviderStateMixin {\n\n Animation animation;\n AnimationController controller;\n\n initState() {\n super.initState();\n controller = new AnimationController(\n duration: const Duration(seconds: 3), vsync: this);\n //图片宽高从0变到300\n animation = new Tween(begin: 0.0, end: 300.0).animate(controller);\n //启动动画\n controller.forward();\n }\n\n @override\n Widget build(BuildContext context) {\n return AnimatedImage(animation: animation,);\n }\n\n dispose() {\n //路由销毁时需要释放动画资源\n controller.dispose();\n super.dispose();\n }\n}\n\n用AnimatedBuilder重构\n用AnimatedWidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在AnimatedWidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个AnimatedWidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而AnimatedBuilder正是将渲染逻辑分离出来, 上面的build方法中的代码可以改为:\n@override\nWidget build(BuildContext context) {\n //return AnimatedImage(animation: animation,);\n return AnimatedBuilder(\n animation: animation,\n child: Image.asset(\"images/avatar.png\"),\n builder: (BuildContext ctx, Widget child) {\n return new Center(\n child: Container(\n height: animation.value, \n width: animation.value, \n child: child,\n ),\n );\n },\n );\n}\n\n上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给AnimatedBuilder后AnimatedBuilder再将其传递给匿名构造器, 然后将该对象用作其子对象。最终的结果是AnimatedBuilder返回的对象插入到Widget树中。\n也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:\n\n不用显式的去添加帧监听器,然后再调用setState() 了,这个好处和AnimatedWidget是一样的。\n\n动画构建的范围缩小了,如果没有builder,setState()将会在父widget上下文调用,这将会导致父widget的build方法重新调用,而有了builder之后,只会导致动画widget的build重新调用,这在复杂布局下性能会提高。\n\n通过AnimatedBuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个GrowTransition来说明,它可以对子widget实现放大动画:\nclass GrowTransition extends StatelessWidget {\n GrowTransition({this.child, this.animation});\n\n final Widget child;\n final Animation animation;\n\n Widget build(BuildContext context) {\n return new Center(\n child: new AnimatedBuilder(\n animation: animation,\n builder: (BuildContext context, Widget child) {\n return new Container(\n height: animation.value, \n width: animation.value, \n child: child\n );\n },\n child: child\n ),\n );\n }\n}\n\n这样,最初的示例就可以改为:\n...\nWidget build(BuildContext context) {\n return GrowTransition(\n child: Image.asset(\"images/avatar.png\"), \n animation: animation,\n );\n}\n\nFlutter中正是通过这种方式封装了很多动画,如:FadeTransition、ScaleTransition、SizeTransition、FractionalTranslation等,很多时候都可以复用这些预置的过渡类。\n\n\n动画状态监听\n上面说过,我们可以通过Animation的addStatusListener()方法来添加动画状态改变监听器。Flutter中,有四种动画状态,在AnimationStatus枚举类中定义,下面我们逐个说明:\n\n\n\n枚举值\n含义\n\n\n\n\ndismissed\n动画在起始点停止\n\n\nforward\n动画正在正向执行\n\n\nreverse\n动画正在反向执行\n\n\ncompleted\n动画在终点停止\n\n\n\n示例\n我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下:\n initState() {\n super.initState();\n controller = new AnimationController(\n duration: const Duration(seconds: 1), vsync: this);\n //图片宽高从0变到300\n animation = new Tween(begin: 0.0, end: 300.0).animate(controller);\n animation.addStatusListener((status) {\n if (status == AnimationStatus.completed) {\n //动画执行结束时反向执行动画\n controller.reverse();\n } else if (status == AnimationStatus.dismissed) {\n //动画恢复到初始状态时执行动画(正向)\n controller.forward();\n }\n });\n\n //启动动画(正向)\n controller.forward();\n }\n\n"},"chapter9/route_transition.html":{"url":"chapter9/route_transition.html","title":"自定义路由过渡动画","keywords":"","body":"自定义路由切换动画\nMaterial库中提供了一个MaterialPageRoute,它可以使用和平台风格一致的路由切换动画,如在iOS上会左右滑动切换,而在Android上会上下滑动切换。如果在Android上也想使用左右切换风格,可以直接使用CupertinoPageRoute, 如:\n Navigator.push(context, CupertinoPageRoute(\n builder: (context){\n return PageB(); //路由B\n }\n ));\n\n如果想自定义路由切换动画,可以使用PageRouteBuilder,例如我们想以渐隐渐入动画来实现路由过渡:\n Navigator.push(context, PageRouteBuilder(\n transitionDuration: Duration(milliseconds: 500), //动画时间为500毫秒\n pageBuilder: (BuildContext context, Animation animation,\n Animation secondaryAnimation) {\n return new FadeTransition( //使用渐隐渐入过渡, \n opacity: animation,\n child: PageB(); //路由B\n );\n }));\n}),\n\n我们可以看到pageBuilder 有一个animation参数,这是Flutter路由管理器提供的,在路由切换时pageBuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。\n无论是MaterialPageRoute、CupertinoPageRoute,还是PageRouteBuilder,它们都继承自PageRoute类,而PageRouteBuilder其实只是PageRoute的一个包装,我们可以直接继承PageRoute类来实现自定义路由,上面的例子可以通过如下方式实现:\n\n定义一个路由类FadeRoute\nclass FadeRoute extends PageRoute {\n FadeRoute({\n @required this.builder,\n this.transitionDuration = const Duration(milliseconds: 300),\n this.opaque = true,\n this.barrierDismissible = false,\n this.barrierColor,\n this.barrierLabel,\n this.maintainState = true,\n });\n\n final WidgetBuilder builder;\n\n @override\n final Duration transitionDuration;\n\n @override\n final bool opaque;\n\n @override\n final bool barrierDismissible;\n\n @override\n final Color barrierColor;\n\n @override\n final String barrierLabel;\n\n @override\n final bool maintainState;\n\n @override\n Widget buildPage(BuildContext context, Animation animation,\n Animation secondaryAnimation) => builder(context);\n\n @override\n Widget buildTransitions(BuildContext context, Animation animation,\n Animation secondaryAnimation, Widget child) {\n return FadeTransition( \n opacity: animation,\n child: builder(context),\n );\n }\n}\n\n\n使用FadeRoute\nNavigator.push(context, FadeRoute(builder: (context) {\n return PageB();\n}));\n\n\n\n虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应考虑优先使用PageRouteBuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候PageRouteBuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承PageRoute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isActive属性是否为true,代码如下:\n@override\nWidget buildTransitions(BuildContext context, Animation animation,\n Animation secondaryAnimation, Widget child) {\n //当前路由被激活,是打开新路由\n if(isActive) {\n return FadeTransition(\n opacity: animation,\n child: builder(context),\n );\n }else{\n //是返回,则不应用过渡动画\n return Padding(padding: EdgeInsets.zero);\n }\n}\n\n关于路由参数的详细信息读者可以自行查阅API文档,比较简单,不再赘述。\n"},"chapter9/hero.html":{"url":"chapter9/hero.html","title":"Hero动画","keywords":"","body":"Hero动画\nHero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的Widget可以在新旧路由间切换,由于共享的Widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会逐渐过渡,这样就会产生一个Hero动画。\n你可能多次看到过 hero 动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。 在Flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为 共享元素转换。下面我们通过一个示例来体验一下hero 动画。\n示例\n假设有两个路由A和B,他们的内容交互如下:\nA:包含一个用户头像,圆形,点击后跳到B路由,可以查看大图。\nB:显示用户头像原图,矩形;\n在AB两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:\n// 路由A\nclass HeroAnimationRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Container(\n alignment: Alignment.topCenter,\n child: InkWell(\n child: Hero(\n tag: \"avatar\", //唯一标记,前后两个路由页Hero的tag必须相同\n child: ClipOval(\n child: Image.asset(\"images/avatar.png\",\n width: 50.0,\n ),\n ),\n ),\n onTap: () {\n //打开B路由 \n Navigator.push(context, PageRouteBuilder(\n pageBuilder: (BuildContext context, Animation animation,\n Animation secondaryAnimation) {\n return new FadeTransition(\n opacity: animation,\n child: PageScaffold(\n title: \"原图\",\n body: HeroAnimationRouteB(),\n ),\n );\n })\n );\n },\n ),\n );\n }\n}\n\n路由B:\nclass HeroAnimationRouteB extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Center(\n child: Hero(\n tag: \"avatar\", //唯一标记,前后两个路由页Hero的tag必须相同\n child: Image.asset(\"images/avatar.png\"),\n ),\n );\n }\n}\n\n我们可以看到,实现Hero动画只需要用Hero Widget将要共享的Widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是Flutter Framework自动完成的。必须要注意, 前后路由页的共享Hero的tag必须是相同的,Flutter Framework内部正式通过tag来对应新旧路由页Widget的对应关系的。\nHero动画的原理比较简单,Flutter Framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值即可,幸运的是,这些事情Flutter已经帮我们做了。\n"},"chapter9/stagger_animation.html":{"url":"chapter9/stagger_animation.html","title":"交错动画","keywords":"","body":"交错动画\n有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。这时我们就需要使用交错动画(Stagger Animation)。交错动画需要注意以下几点:\n\n要创建交错动画,需要使用多个动画对象\n一个AnimationController控制所有动画\n给每一个动画对象指定间隔(Interval)\n\n所有动画都由同一个AnimationController驱动,无论动画实时持续多长时间,控制器的值必须介于0.0和1.0之间,而每个动画的间隔(Interval)介于0.0和1.0之间。对于在间隔中设置动画的每个属性,请创建一个Tween。 Tween指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定起始点和终止点来决定它们的开始时间和终止时间。\n示例\n下面我们看一个例子,实现一个柱状图增长的动画:\n\n开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。\n高度增长到300后,开始沿X轴向右平移100像素;这个过程占用整个动画时间的40%。\n\n我们将执行动画的Widget分离出来:\nclass StaggerAnimation extends StatelessWidget {\n StaggerAnimation({ Key key, this.controller }): super(key: key){\n //高度动画\n height = Tween(\n begin:.0 ,\n end: 300.0,\n ).animate(\n CurvedAnimation(\n parent: controller,\n curve: Interval(\n 0.0, 0.6, //间隔,前60%的动画时间\n curve: Curves.ease,\n ),\n ),\n );\n\n color = ColorTween(\n begin:Colors.green ,\n end:Colors.red,\n ).animate(\n CurvedAnimation(\n parent: controller,\n curve: Interval(\n 0.0, 0.6,//间隔,前60%的动画时间\n curve: Curves.ease,\n ),\n ),\n );\n\n padding = Tween(\n begin:EdgeInsets.only(left: .0),\n end:EdgeInsets.only(left: 100.0),\n ).animate(\n CurvedAnimation(\n parent: controller,\n curve: Interval(\n 0.6, 1.0, //间隔,后40%的动画时间\n curve: Curves.ease,\n ),\n ),\n );\n }\n\n\n final Animation controller;\n Animation height;\n Animation padding;\n Animation color;\n\n Widget _buildAnimation(BuildContext context, Widget child) {\n return Container(\n alignment: Alignment.bottomCenter,\n padding:padding.value ,\n child: Container(\n color: color.value,\n width: 50.0,\n height: height.value,\n ),\n );\n }\n\n @override\n Widget build(BuildContext context) {\n return AnimatedBuilder(\n builder: _buildAnimation,\n animation: controller,\n );\n }\n}\n\nStaggerAnimation中定义了三个动画,分别是对Container的height、color、padding属性设置的动画,然后通过Interval来为每个动画指定在整个动画过程的起始点和终点。\n下面我们来实现启动动画的路由:\nclass StaggerDemo extends StatefulWidget {\n @override\n _StaggerDemoState createState() => _StaggerDemoState();\n}\n\nclass _StaggerDemoState extends State with TickerProviderStateMixin {\n AnimationController _controller;\n\n @override\n void initState() {\n super.initState();\n\n _controller = AnimationController(\n duration: const Duration(milliseconds: 2000),\n vsync: this\n );\n }\n\n\n Future _playAnimation() async {\n try {\n //先正向执行动画\n await _controller.forward().orCancel;\n //再反向执行动画\n await _controller.reverse().orCancel;\n } on TickerCanceled {\n // the animation got canceled, probably because we were disposed\n }\n }\n\n @override\n Widget build(BuildContext context) {\n return GestureDetector(\n behavior: HitTestBehavior.opaque,\n onTap: () {\n _playAnimation();\n },\n child: Center(\n child: Container(\n width: 300.0,\n height: 300.0,\n decoration: BoxDecoration(\n color: Colors.black.withOpacity(0.1),\n border: Border.all(\n color: Colors.black.withOpacity(0.5),\n ),\n ),\n //调用我们定义的交错动画Widget\n child: StaggerAnimation(\n controller: _controller\n ),\n ),\n ),\n );\n }\n}\n\n执行效果如下,点击灰色矩形,就可以看到整个动画效果:\n\n"},"chapter13/":{"url":"chapter13/","title":"自定义Widget","keywords":"","body":"本章目录\n\n自定义Widget方法简介\n通过组合现有Widget实现\n实例:TurnBox\nCustomPaint与Canvas \n实例:圆形渐变进度条 \n\n"},"chapter13/intro.html":{"url":"chapter13/intro.html","title":"自定义Widget方法简介","keywords":"","body":"自定义Widget方法简介\n当Flutter提供的现有Widget无法满足我们的需求,或者我们为了共享代码需要封装一些通用Widget,这时我们就需要自定义Widget。在Flutter中自定义Widget有三种方式:通过组合其它Widget、自绘和实现RenderObject,本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。\n组合其它Widget\n这种方式是通过拼装其它低级别的Widget来组合成一个高级别的Widget,例如我们之前介绍的Container就是一个组合Widget,它是由DecoratedBox、ConstrainedBox、Transform、Padding、Align等组成。\n在Flutter中,组合的思想非常重要,Flutter提供了非常多的基础Widget,而我们的界面开发都是按照需要组合这些Widget来实现各种不同的布局。 \n自绘\n如果遇到无法通过系统提供的现有Widget实现的UI时,如我们需要一个渐变圆形进度条,而Flutter提供的CircularProgressIndicator并不支持在显示精确进度时对进度条应用渐变色(其valueColor 属性只支持执行旋转动画时变化Indicator的颜色),这时最好的方法就是通过自定义Widget绘制逻辑来画出我们期望的外观。Flutter中提供了CustomPaint和Canvas供我们自绘UI外观。\n实现RenderObject\nFlutter提供的任何具有UI外观的Widget,如文本Text、Image都是通过相应的RenderObject渲染出来的,如Text是由RenderParagraph渲染,而Image是由RenderImage渲染。RenderObject是一个抽象类,它定义了一个抽象方法paint(...):\nvoid paint(PaintingContext context, Offset offset)\n\nPaintingContext代表Widget的绘制上下文,通过PaintingContext.canvas可以获得Canvas,绘制逻辑主要是通过Canvas API来实现。子类需要实现此方法以实现自身的绘制逻辑,如RenderParagraph需要实现文本绘制逻辑,而RenderImage需要实现图片绘制逻辑。\n可以发现,RenderObject中最终也是通过Canvas来绘制的,那么通过实现RenderObject的方式和上面介绍的通过CustomPaint和Canvas自绘的方式有什么区别?其实答案很简单,CustomPaint只是为了方便开发者封装的一个代理类,它直接继承自SingleChildRenderObjectWidget,通过RenderCustomPaint的paint方法将Canvas和画笔Painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在Painter中)。\n总结\n组合是自定义组件最简单的方法,在任何需要自定义的场景下,都应该优先考虑是否能够通过组合来实现。而自绘和通过实现RenderObject的方法本质上是一样的,都需要开发者调用Canvas API手动去绘制UI,缺点是必须了解Canvas API,并且得自己去实现绘制逻辑,而优点是强大灵活,理论上可以实现任何外观的UI。\n在本章接下来的小节中,我们将通过一些实例来详细介绍自定义UI的过程,由于后两种方法本质是相同的,后续我们只介绍CustomPaint和Canvas的方式,读者如果对自定义RenderObject的方法好奇,可以查看RenderParagraph或RenderImage源码。\n"},"chapter13/combine.html":{"url":"chapter13/combine.html","title":"通过组合现有Widget实现","keywords":"","body":"通过组合现有Widget实现自定义Widget\n在Flutter中页面UI通常都是由一些低阶别的Widget组合而成,当我们需要封装一些通用Widget时,应该首先考虑是否可以通过组合其它Widget来实现,如果可以则应优先使用组合,因为直接通过现有Widget拼装会非常方便、简单、高效。\n示例:自定义渐变按钮\nFlutter Widget库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个GradientButton Widget。我们先来看看效果:\n\n我们看看GradientButton实现:\nimport 'package:flutter/material.dart';\n\nclass GradientButton extends StatelessWidget {\n GradientButton({\n this.colors,\n this.width,\n this.height,\n this.onTap,\n @required this.child,\n });\n\n // 渐变色数组\n final List colors;\n\n // 按钮宽高\n final double width;\n final double height;\n\n final Widget child;\n\n //点击回调\n final GestureTapCallback onTap;\n\n @override\n Widget build(BuildContext context) {\n ThemeData theme = Theme.of(context);\n\n //确保colors数组不空\n List _colors = colors ??\n [theme.primaryColor, theme.primaryColorDark ?? theme.primaryColor];\n\n return DecoratedBox(\n decoration: BoxDecoration(\n gradient: LinearGradient(colors: _colors),\n ),\n child: Material(\n type: MaterialType.transparency,\n child: InkWell(\n splashColor: colors.last,\n highlightColor: Colors.transparent,\n onTap: onTap,\n child: ConstrainedBox(\n constraints: BoxConstraints.tightFor(height: height, width: width),\n child: Center(\n child: Padding(\n padding: const EdgeInsets.all(8.0),\n child: DefaultTextStyle(\n style: TextStyle(fontWeight: FontWeight.bold),\n child: child),\n ),\n ),\n ),\n ),\n ),\n );\n }\n}\n\n可以看到GradientButton是由Padding、Center、InkWell等Widget组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态、不能定义圆角等,读者可以根据实际需要来完善。\n使用GradientButton\nclass GradientButtonRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Container(\n child: Column(\n children: [\n GradientButton(\n colors: [Colors.orange,Colors.red],\n height: 50.0,\n child: Text(\"Submit\"),\n onTap:onTap ,\n ),\n GradientButton(\n height: 50.0,\n colors: [Colors.lightGreen, Colors.green[700]],\n child: Text(\"Submit\"),\n onTap: onTap,\n ),\n GradientButton(\n height: 50.0,\n colors: [Colors.lightBlue[300], Colors.blueAccent],\n child: Text(\"Submit\"),\n onTap: onTap,\n ),\n ],\n ),\n );\n }\n\n onTap(){\n print(\"button click\");\n }\n}\n\n总结\n通过组合的方式定义Widget和我们之前写界面并无差异,不过在抽离出单独的Widget时我们要考虑代码规范性,如必要参数要用@required 标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解Widget的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用Widget时能够兼容或报错提示(使用assert断言函数)。\n"},"chapter13/turn_box.html":{"url":"chapter13/turn_box.html","title":"实例:TurnBox","keywords":"","body":"实例:TurnBox\n我们之前已经介绍过RotatedBox,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转,二是当旋转的角度发生变化时,旋转角度更新过程没有动画。\n本节我们将实现一个TurnBox,它可以以任意角度来旋转其子节点,并且在角度发生变化时可以执行一个动画过渡到新状态,同时,我们可以手动指定动画速度。\nTurnBox的完整代码如下:\nimport 'package:flutter/widgets.dart';\n\nclass TurnBox extends StatefulWidget {\n const TurnBox({\n Key key,\n this.turns = .0, //旋转的“圈”数,一圈为360度,如0.25圈即90度\n this.speed = 200, //过渡动画执行的总时长\n this.child\n }) :super(key: key);\n\n final double turns;\n final int speed;\n final Widget child;\n\n @override\n _TurnBoxState createState() => new _TurnBoxState();\n}\n\nclass _TurnBoxState extends State\n with SingleTickerProviderStateMixin {\n AnimationController _controller;\n\n @override\n void initState() {\n super.initState();\n _controller = new AnimationController(\n vsync: this,\n lowerBound: -double.infinity,\n upperBound: double.infinity\n );\n _controller.value = widget.turns;\n }\n\n @override\n void dispose() {\n _controller.dispose();\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return RotationTransition(\n turns: _controller,\n child: widget.child,\n );\n }\n\n @override\n void didUpdateWidget(TurnBox oldWidget) {\n super.didUpdateWidget(oldWidget);\n //旋转角度发生变化时执行过渡动画 \n if (oldWidget.turns != widget.turns) {\n _controller.animateTo(\n widget.turns,\n duration: Duration(milliseconds: widget.speed??200),\n curve: Curves.easeOut,\n );\n }\n }\n}\n\n代码比较简单,我们主要是通过包装(组合)RotationTransition来实现的。\n下面我们测试一下TurnBox的功能,测试代码如下:\nimport 'package:flutter/material.dart';\nimport '../widgets/index.dart';\n\nclass TurnBoxRoute extends StatefulWidget {\n @override\n _TurnBoxRouteState createState() => new _TurnBoxRouteState();\n}\n\nclass _TurnBoxRouteState extends State {\n double _turns = .0;\n\n @override\n Widget build(BuildContext context) {\n\n return Center(\n child: Column(\n children: [\n TurnBox(\n turns: _turns,\n speed: 500,\n child: Icon(Icons.refresh, size: 50,),\n ),\n TurnBox(\n turns: _turns,\n speed: 1000,\n child: Icon(Icons.refresh, size: 150.0,),\n ),\n RaisedButton(\n child: Text(\"顺时针旋转1/5圈\"),\n onPressed: () {\n setState(() {\n _turns += .2;\n });\n },\n ),\n RaisedButton(\n child: Text(\"逆时针旋转1/5圈\"),\n onPressed: () {\n setState(() {\n _turns -= .2;\n });\n },\n )\n ],\n ),\n );\n }\n}\n\n测试代码运行后效果如下图:\n\n当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。\n"},"chapter13/custom_paint.html":{"url":"chapter13/custom_paint.html","title":"CustomPaint与Canvas","keywords":"","body":"CustomPaint与Canvas\n对于一些复杂或不规则的UI,我们可能无法使用现有Widget组合的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等,当然有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片是实现不了的,比如要实现一个手写输入面板。这时,我们就需要来自己绘制UI外观。\n几乎所有的UI系统都会提供一个自绘UI的接口,这个接口通常会提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。在Flutter中,提供了一个CustomPaint Widget,它可以结合一个画笔CustomPainter来实现绘制自定义图形。\nCustomPaint\n我们看看CustomPaint构造函数:\nconst CustomPaint({\n Key key,\n this.painter, \n this.foregroundPainter,\n this.size = Size.zero, \n this.isComplex = false, \n this.willChange = false, \n Widget child, //子节点,可以为空\n})\n\n\npainter: 背景画笔,会显示在子节点后面;\nforegroundPainter: 前景画笔,会显示在子节点前面\nsize:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用SizeBox包裹CustomPaint实现。\nisComplex:是否复杂的绘制,如果是,Flutter会应用一些缓存策略来减少重复渲染的开销。\nwillChange:和isComplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。\n\n可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承CustomPainter类,我们在画笔类中实现真正的绘制逻辑。\n注意\n如果CustomPaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在RepaintBoundary Widget中,这样会在绘制时创建一个新的绘制层(Layer),其子Widget将在新的Layer上绘制,而父Widget将在原来Layer上绘制,也就是说RepaintBoundary 子Widget的绘制将独立于父Widget的绘制,RepaintBoundary会隔离其子节点和CustomPaint本身的绘制边界。示例如下:\nCustomPaint(\n size: Size(300, 300), //指定画布大小\n painter: MyPainter(),\n child: RepaintBoundary(child:...)), \n)\n\nCustomPainter\nCustomPainter中提定义了一个虚函数paint:\nvoid paint(Canvas canvas, Size size);\npaint有两个参数:\n\nCanvas:一个画布,包括各种绘制方法,我们列出一下常用的方法:\n|API名称 | 功能 |\n| ---------- | ------ |\n| drawLine | 画线 |\n| drawPoint | 画点 |\n| drawPath | 画路径 |\n| drawImage | 画图像 |\n| drawRect | 画矩形 |\n| drawCircle | 画圆 |\n| drawOval | 画椭圆 |\n| drawArc | 画圆弧 |\n\nSize:当前绘制区域大小。\n\n\n画笔Paint\n现在画布有了,我们最后还缺一个画笔,Flutter提供了Paint类来实现画笔。在Paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:\nvar paint = Paint() //创建一个画笔并配置其属性\n ..isAntiAlias = true //是否抗锯齿\n ..style = PaintingStyle.fill //画笔样式:填充\n ..color=Color(0x77cdb175);//画笔颜色\n\n更多的配置属性读者可以参考Paint类定义。\n示例:五子棋/盘\n下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘UI的过程,首先我们看一下我们的目标结果:\n\n代码:\nimport 'package:flutter/material.dart';\nimport 'dart:math';\n\nclass CustomPaintRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Center(\n child: CustomPaint(\n size: Size(300, 300), //指定画布大小\n painter: MyPainter(),\n ),\n );\n }\n}\n\nclass MyPainter extends CustomPainter {\n @override\n void paint(Canvas canvas, Size size) {\n double eWidth = size.width / 15;\n double eHeight = size.height / 15;\n\n //画棋盘背景\n var paint = Paint()\n ..isAntiAlias = true\n ..style = PaintingStyle.fill //填充\n ..color = Color(0x77cdb175); //背景为纸黄色\n canvas.drawRect(Offset.zero & size, paint);\n\n //画棋盘网格\n paint\n ..style = PaintingStyle.stroke //线\n ..color = Colors.black87\n ..strokeWidth = 1.0;\n\n for (int i = 0; i true;\n}\n\n性能\n绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:\n\n尽可能的利用好shouldRepaint返回值;在UI树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的UI不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的UI外观;如果绘制依赖外部状态,那么我们就应该在shouldRepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。\n\n绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个Widget,并设置其shouldRepaint回调值为false,然后将棋盘Widget作为背景。然后将棋子的绘制放到另一个Widget中,这样落子时只需要绘制棋子。\n\n\n总结\n自绘控件非常强大,理论上可以实现任何2D图形外观,实际上Flutter提供的所有Widget最终都是调用Canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的Widget的源码,找到其对应的RenderObject对象,如Text Widget最终会通过RenderParagraph对象来通过Canvas实现文本绘制逻辑。\n下一节我们再通过实现一个自绘的圆形渐变进度条的实例来帮助读者加深印象。\n"},"chapter13/gradient_circular_progress_demo.html":{"url":"chapter13/gradient_circular_progress_demo.html","title":"实例:圆形渐变进度条(自绘)","keywords":"","body":"实例:圆形渐变进度条(自绘)\n本节我们实现一个圆形渐变进度条,它支持:\n\n支持多种渐变色。\n任意弧度;整个进度可以不是整圆。\n可以自定义粗细、两端是否圆角等样式。\n\n可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现。\n实现代码如下:\nimport 'dart:math';\nimport 'package:flutter/material.dart';\n\nclass GradientCircularProgressIndicator extends StatelessWidget {\n GradientCircularProgressIndicator({\n this.stokeWidth = 2.0,\n @required this.radius,\n @required this.colors,\n this.stops,\n this.strokeCapRound = false,\n this.backgroundColor = const Color(0xFFEEEEEE),\n this.totalAngle = 2 * pi,\n this.value\n });\n\n ///粗细\n final double stokeWidth;\n\n /// 圆的半径\n final double radius;\n\n ///两端是否为圆角\n final bool strokeCapRound;\n\n /// 当前进度,取值范围 [0.0-1.0]\n final double value;\n\n /// 进度条背景色\n final Color backgroundColor;\n\n /// 进度条的总弧度,2*PI为整圆,小于2*PI则不是整圆\n final double totalAngle;\n\n /// 渐变色数组\n final List colors;\n\n /// 渐变色的终止点,对应colors属性\n final List stops;\n\n @override\n Widget build(BuildContext context) {\n double _offset = .0;\n // 如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置\n // 下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样 \n if (strokeCapRound) {\n _offset = asin(stokeWidth / (radius * 2 - stokeWidth));\n }\n var _colors = colors;\n if (_colors == null) {\n Color color = Theme\n .of(context)\n .accentColor;\n _colors = [color, color];\n }\n return Transform.rotate(\n angle: -pi / 2.0 - _offset, \n child: CustomPaint(\n size: Size.fromRadius(radius),\n painter: _GradientCircularProgressPainter(\n stokeWidth: stokeWidth,\n strokeCapRound: strokeCapRound,\n backgroundColor: backgroundColor,\n value: value,\n total: totalAngle,\n radius: radius,\n colors: _colors,\n )\n ),\n );\n }\n}\n\n//实现画笔\nclass _GradientCircularProgressPainter extends CustomPainter {\n _GradientCircularProgressPainter({\n this.stokeWidth: 10.0,\n this.strokeCapRound: false,\n this.backgroundColor = const Color(0xFFEEEEEE),\n this.radius,\n this.total = 2 * pi,\n @required this.colors,\n this.stops,\n this.value\n });\n\n final double stokeWidth;\n final bool strokeCapRound;\n final double value;\n final Color backgroundColor;\n final List colors;\n final double total;\n final double radius;\n final List stops;\n\n @override\n void paint(Canvas canvas, Size size) {\n if (radius != null) {\n size = Size.fromRadius(radius);\n }\n double _offset = stokeWidth / 2.0;\n double _value = (value ?? .0);\n _value = _value.clamp(.0, 1.0) * total;\n double _start = .0;\n\n if (strokeCapRound) {\n _start = asin(stokeWidth/ (size.width - stokeWidth));\n }\n\n Rect rect = Offset(_offset, _offset) & Size(\n size.width - stokeWidth,\n size.height - stokeWidth\n );\n\n var paint = Paint()\n ..strokeCap = strokeCapRound ? StrokeCap.round : StrokeCap.butt\n ..style = PaintingStyle.stroke\n ..isAntiAlias = true\n ..strokeWidth = stokeWidth;\n\n // 先画背景\n if (backgroundColor != Colors.transparent) {\n paint.color = backgroundColor;\n canvas.drawArc(\n rect,\n _start,\n total,\n false,\n paint\n );\n }\n\n // 再画前景,应用渐变\n if (_value > 0) {\n paint.shader = SweepGradient(\n startAngle: 0.0,\n endAngle: _value,\n colors: colors,\n stops: stops,\n ).createShader(rect);\n\n canvas.drawArc(\n rect,\n _start,\n _value,\n false,\n paint\n );\n }\n }\n\n @override\n bool shouldRepaint(CustomPainter oldDelegate) => true;\n\n}\n\n下面我们来测试一下,为了尽可能多的展示GradientCircularProgressIndicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:\n\n完整的代码:\nimport 'dart:math';\nimport 'package:flutter/material.dart';\nimport '../widgets/index.dart';\n\nclass GradientCircularProgressRoute extends StatefulWidget {\n @override\n GradientCircularProgressRouteState createState() {\n return new GradientCircularProgressRouteState();\n }\n}\n\nclass GradientCircularProgressRouteState\n extends State with TickerProviderStateMixin {\n AnimationController _animationController;\n\n @override\n void initState() {\n super.initState();\n _animationController =\n new AnimationController(vsync: this, duration: Duration(seconds: 3));\n bool isForward = true;\n _animationController.addStatusListener((status) {\n if (status == AnimationStatus.forward) {\n isForward = true;\n } else if (status == AnimationStatus.completed ||\n status == AnimationStatus.dismissed) {\n if (isForward) {\n _animationController.reverse();\n } else {\n _animationController.forward();\n }\n } else if (status == AnimationStatus.reverse) {\n isForward = false;\n }\n });\n _animationController.forward();\n }\n\n @override\n void dispose() {\n _animationController.dispose();\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return SingleChildScrollView(\n child: Center(\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.center,\n children: [\n AnimatedBuilder(\n animation: _animationController,\n builder: (BuildContext context, Widget child) {\n return Padding(\n padding: const EdgeInsets.symmetric(vertical: 16.0),\n child: Column(\n children: [\n Wrap(\n spacing: 10.0,\n runSpacing: 16.0,\n children: [\n GradientCircularProgressIndicator(\n // No gradient\n colors: [Colors.blue, Colors.blue],\n radius: 50.0,\n stokeWidth: 3.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange],\n radius: 50.0,\n stokeWidth: 3.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange, Colors.red],\n radius: 50.0,\n stokeWidth: 5.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.teal, Colors.cyan],\n radius: 50.0,\n stokeWidth: 5.0,\n strokeCapRound: true,\n value: CurvedAnimation(\n parent: _animationController,\n curve: Curves.decelerate)\n .value,\n ),\n TurnBox(\n turns: 1 / 8,\n child: GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange, Colors.red],\n radius: 50.0,\n stokeWidth: 5.0,\n strokeCapRound: true,\n backgroundColor: Colors.red[50],\n totalAngle: 1.5 * pi,\n value: CurvedAnimation(\n parent: _animationController,\n curve: Curves.ease)\n .value),\n ),\n RotatedBox(\n quarterTurns: 1,\n child: GradientCircularProgressIndicator(\n colors: [Colors.blue[700], Colors.blue[200]],\n radius: 50.0,\n stokeWidth: 3.0,\n strokeCapRound: true,\n backgroundColor: Colors.transparent,\n value: _animationController.value),\n ),\n GradientCircularProgressIndicator(\n colors: [\n Colors.red,\n Colors.amber,\n Colors.cyan,\n Colors.green[200],\n Colors.blue,\n Colors.red\n ],\n radius: 50.0,\n stokeWidth: 5.0,\n strokeCapRound: true,\n value: _animationController.value,\n ),\n ],\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.blue[700], Colors.blue[200]],\n radius: 100.0,\n stokeWidth: 20.0,\n value: _animationController.value,\n ),\n\n Padding(\n padding: const EdgeInsets.symmetric(vertical: 16.0),\n child: GradientCircularProgressIndicator(\n colors: [Colors.blue[700], Colors.blue[300]],\n radius: 100.0,\n stokeWidth: 20.0,\n value: _animationController.value,\n strokeCapRound: true,\n ),\n ),\n //剪裁半圆\n ClipRect(\n child: Align(\n alignment: Alignment.topCenter,\n heightFactor: .5,\n child: Padding(\n padding: const EdgeInsets.only(bottom: 8.0),\n child: SizedBox(\n //width: 100.0,\n child: TurnBox(\n turns: .75,\n child: GradientCircularProgressIndicator(\n colors: [Colors.teal, Colors.cyan[500]],\n radius: 100.0,\n stokeWidth: 8.0,\n value: _animationController.value,\n totalAngle: pi,\n strokeCapRound: true,\n ),\n ),\n ),\n ),\n ),\n ),\n SizedBox(\n height: 104.0,\n width: 200.0,\n child: Stack(\n alignment: Alignment.center,\n children: [\n Positioned(\n height: 200.0,\n top: .0,\n child: TurnBox(\n turns: .75,\n child: GradientCircularProgressIndicator(\n colors: [Colors.teal, Colors.cyan[500]],\n radius: 100.0,\n stokeWidth: 8.0,\n value: _animationController.value,\n totalAngle: pi,\n strokeCapRound: true,\n ),\n ),\n ),\n Padding(\n padding: const EdgeInsets.only(top: 10.0),\n child: Text(\n \"${(_animationController.value * 100).toInt()}%\",\n style: TextStyle(\n fontSize: 25.0,\n color: Colors.blueGrey,\n ),\n ),\n )\n ],\n ),\n ),\n ],\n ),\n );\n },\n ),\n ],\n ),\n ),\n );\n }\n}\n\n"},"chapter10/":{"url":"chapter10/","title":"文件操作与网络请求","keywords":"","body":"本章目录\n\n文件操作\nHttp请求-HttpClient\nHttp请求-Dio package \nWebSocket \n使用Socket API \nJson转Model \n\n"},"chapter10/file_operation.html":{"url":"chapter10/file_operation.html","title":"文件操作","keywords":"","body":"文件操作\nDart的IO库包含了文件读写的相关类,它属于Dart语法标准的一部分,所以通过Dart IO库,无论是Dart VM下的脚本还是Flutter,都是通过Dart IO库来操作文件的,不过和Dart VM相比,Flutter有一个重要差异是文件系统路径不同,这是因为Dart VM是运行在PC或服务器操作系统下,而Flutter是运行在移动操作系统中,他们的文件系统会有一些差异。\nAPP目录\nAndroid和iOS的应用存储目录不同,PathProvider 插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:\n\n临时目录: 可以使用 getTemporaryDirectory() 来获取临时目录; 系统可随时清除的临时目录(缓存)。在iOS上,这对应于NSTemporaryDirectory() 返回的值。在Android上,这是getCacheDir())返回的值。\n文档目录: 可以使用getApplicationDocumentsDirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在iOS上,这对应于NSDocumentDirectory。在Android上,这是AppData目录。\n外部存储目录:可以使用getExternalStorageDirectory()来获取外部存储目录,如SD卡;由于iOS不支持外部目录,所以在iOS下调用该方法会抛出UnsupportedError异常,而在Android下结果是android SDK中getExternalStorageDirectory的返回值。\n\n一旦你的Flutter应用程序有一个文件位置的引用,你可以使用dart:ioAPI来执行对文件系统的读/写操作。有关使用Dart处理文件和目录的详细内容可以参考Dart语言文档,下面我们看一个简单的例子。\n示例\n我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。 这里,我们使用文件来保存数据:\n\n引入PathProvider插件;在pubspec.yaml文件中添加如下声明:\npath_provider: ^0.4.1\n\n添加后,执行flutter packages get 获取一下, 版本号可能随着时间推移会发生变化,读者可以使用最新版。\n\n实现:\nimport 'dart:io';\nimport 'dart:async';\nimport 'package:flutter/material.dart';\nimport 'package:path_provider/path_provider.dart';\n\nclass FileOperationRoute extends StatefulWidget {\n FileOperationRoute({Key key}) : super(key: key);\n\n @override\n _FileOperationRouteState createState() => new _FileOperationRouteState();\n}\n\nclass _FileOperationRouteState extends State {\n int _counter;\n\n @override\n void initState() {\n super.initState();\n //从文件读取点击次数\n _readCounter().then((int value) {\n setState(() {\n _counter = value;\n });\n });\n }\n\n Future _getLocalFile() async {\n // 获取应用目录\n String dir = (await getApplicationDocumentsDirectory()).path;\n return new File('$dir/counter.txt');\n }\n\n Future _readCounter() async {\n try {\n File file = await _getLocalFile();\n // 读取点击次数(以字符串)\n String contents = await file.readAsString();\n return int.parse(contents);\n } on FileSystemException {\n return 0;\n }\n }\n\n Future _incrementCounter() async {\n setState(() {\n _counter++;\n });\n // 将点击次数以字符串类型写到文件中\n await (await _getLocalFile()).writeAsString('$_counter');\n }\n\n @override\n Widget build(BuildContext context) {\n return new Scaffold(\n appBar: new AppBar(title: new Text('文件操作')),\n body: new Center(\n child: new Text('点击了 $_counter 次'),\n ),\n floatingActionButton: new FloatingActionButton(\n onPressed: _incrementCounter,\n tooltip: 'Increment',\n child: new Icon(Icons.add),\n ),\n );\n }\n}\n\n上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。\n\n注意,Dart IO库操作文件的API非常丰富,但本书不是介绍Dart语言的,故不详细说明,读者需要的话可以自行学习。\n\n\n\n"},"chapter10/http.html":{"url":"chapter10/http.html","title":"Http请求-HttpClient","keywords":"","body":"通过HttpClient发起HTTP请求\nDart IO库中提供了Http请求的一些类,我们可以直接使用HttpClient来发起请求。使用HttpClient发起请求分为五步:\n\n创建一个HttpClient\n HttpClient httpClient = new HttpClient();\n\n\n打开Http连接,设置请求头\nHttpClientRequest request = await httpClient.getUrl(uri);\n\n这一步可以使用任意Http method,如httpClient.post(...)、httpClient.delete(...)等。如果包含Query参数,可以在构建uri时添加,如:\nUri uri=Uri(scheme: \"https\", host: \"flutterchina.club\", queryParameters: {\n \"xx\":\"xx\",\n \"yy\":\"dd\"\n });\n\n通过HttpClientRequest可以设置请求header,如:\nrequest.headers.add(\"user-agent\", \"test\");\n\n如果是post或put等可以携带请求体方法,可以通过HttpClientRequest对象发送request body,如:\nString payload=\"...\";\nrequest.add(utf8.encode(payload)); \n//request.addStream(_inputStream); //可以直接添加输入流\n\n\n等待连接服务器\nHttpClientResponse response = await request.close();\n\n这一步完成后,请求信息就已经发送给服务器了,返回一个HttpClientResponse对象,它包含响应头(header)和响应流(响应体的Stream),接下来就可以通过读取响应流来获取响应内容。\n\n读取响应内容\nString responseBody = await response.transform(utf8.decoder).join();\n\n我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。\n\n请求结束,关闭HttpClient\nhttpClient.close();\n\n 关闭client后,通过该client发起的所有请求都会中止。\n\n\n示例\n我们实现一个获取百度首页html的例子,示例效果如下:\n​ \n点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下:\nimport 'dart:convert';\nimport 'dart:io';\n\nimport 'package:flutter/material.dart';\n\nclass HttpTestRoute extends StatefulWidget {\n @override\n _HttpTestRouteState createState() => new _HttpTestRouteState();\n}\n\nclass _HttpTestRouteState extends State {\n bool _loading = false;\n String _text = \"\";\n\n @override\n Widget build(BuildContext context) {\n return ConstrainedBox(\n constraints: BoxConstraints.expand(),\n child: SingleChildScrollView(\n child: Column(\n children: [\n RaisedButton(\n child: Text(\"获取百度首页\"),\n onPressed: _loading ? null : () async {\n setState(() {\n _loading = true;\n _text = \"正在请求...\";\n });\n try {\n //创建一个HttpClient\n HttpClient httpClient = new HttpClient();\n //打开Http连接\n HttpClientRequest request = await httpClient.getUrl(\n Uri.parse(\"https://www.baidu.com\"));\n //使用iPhone的UA\n request.headers.add(\"user-agent\", \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1\");\n //等待连接服务器(会将请求信息发送给服务器)\n HttpClientResponse response = await request.close();\n //读取响应内容\n _text = await response.transform(utf8.decoder).join();\n //输出响应头\n print(response.headers);\n\n //关闭client后,通过该client发起的所有请求都会中止。\n httpClient.close();\n\n } catch (e) {\n _text = \"请求失败:$e\";\n } finally {\n setState(() {\n _loading = false;\n });\n }\n }\n ),\n Container(\n width: MediaQuery.of(context).size.width-50.0,\n child: Text(_text.replaceAll(new RegExp(r\"\\s\"), \"\"))\n )\n ],\n ),\n ),\n );\n }\n}\n\n控制台输出:\nI/flutter (18545): connection: Keep-Alive\nI/flutter (18545): cache-control: no-cache\nI/flutter (18545): set-cookie: .... //有多个,省略...\nI/flutter (18545): transfer-encoding: chunked\nI/flutter (18545): date: Tue, 30 Oct 2018 10:00:52 GMT\nI/flutter (18545): content-encoding: gzip\nI/flutter (18545): vary: Accept-Encoding\nI/flutter (18545): strict-transport-security: max-age=172800\nI/flutter (18545): content-type: text/html;charset=utf-8\nI/flutter (18545): tracecode: 00525262401065761290103018, 00522983\nHttpClient配置\nHttpClient有很多属性可以配置,常用的属性列表如下:\n\n\n\n属性\n含义\n\n\n\n\nidleTimeout\n对应请求头中的keep-alive字段值,为了避免频繁建立连接,httpClient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。\n\n\nconnectionTimeout\n和服务器建立连接的超时,如果超过这个值则会抛出SocketException异常。\n\n\nmaxConnectionsPerHost\n同一个host,同时允许建立连接的最大数量。\n\n\nautoUncompress\n对应请求头中的Content-Encoding,如果设置为true,则请求头中Content-Encoding的值为当前HttpClient支持的压缩算法列表,目前只有\"gzip\"\n\n\nuserAgent\n对应请求头中的User-Agent字段。\n\n\n\n可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过HttpClientRequest直接设置header,不同的是通过HttpClient设置的对整个httpClient都生效,而通过HttpClientRequest设置的只对当前请求生效。\nHTTP请求认证\nHttp协议的认证(Authentication)机制可以用于保护非公开资源。如果Http服务器开启了认证,那么用户在发起请求时就需要携带用户凭据,如果你在浏览器中访问了启用Basic认证的资源时,浏览就会弹出一个登录框,如:\n\n我们先看看Basic认证的基本过程:\n\n客户端发送http请求给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话, 服务器会返回一个401 Unauthozied给客户端,并且在响应header中添加一个 “WWW-Authenticate” 字段,例如:\nWWW-Authenticate: Basic realm=\"admin\"\n其中\"Basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。\n\n客户端得到响应码后,将用户名和密码进行base64编码(格式为用户名:密码),设置请求头Authorization,继续访问 :\nAuthorization: Basic YXXFISDJFISJFGIJIJG\n服务器验证用户凭据,如果通过就返回资源内容。\n\n\n注意,Http的方式除了Basic认证之外还有:Digest认证、Client认证、Form Based认证等,目前Flutter的HttpClient只支持Basic和Digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过Base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用Basic认证还是Digest认证,都应该在Https协议下,这样可以防止抓包和中间人攻击。\nHttpClient关于Http认证的方法和属性:\n\naddCredentials(Uri url, String realm, HttpClientCredentials credentials)\n该方法用于添加用户凭据,如:\nhttpClient.addCredentials(_uri,\n \"admin\", \n new HttpClientBasicCredentials(\"username\",\"password\"), //Basic认证凭据\n);\n\n如果是Digest认证,可以创建Digest认证凭据:\nHttpClientDigestCredentials(\"username\",\"password\")\n\n\nauthenticate(Future f(Uri url, String scheme, String realm))\n这是一个setter,类型是一个回调,当服务器需要用户凭据且该用户凭据未被添加时,httpClient会调用此回调,在这个回调当中,一般会调用addCredential()来动态添加用户凭证,例如:\nhttpClient.authenticate=(Uri url, String scheme, String realm) async{\n if(url.host==\"xx.com\" && realm==\"admin\"){\n httpClient.addCredentials(url,\n \"admin\",\n new HttpClientBasicCredentials(\"username\",\"pwd\"), \n );\n return true;\n }\n return false;\n};\n\n一个建议是,如果所有请求都需要认证,那么应该在HttpClient初始化时就调用addCredentials()来添加全局凭证,而不是去动态添加。\n\n\n代理\n可以通过findProxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去:\n client.findProxy = (uri) {\n // 如果需要过滤uri,可以手动判断\n return \"PROXY 192.168.1.2:8888\";\n };\n\nfindProxy 回调返回值是一个遵循浏览器PAC脚本格式的字符串,详情可以查看API文档,如果不需要代理,返回\"DIRECT\"即可。\n在APP开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。\n有时代理服务器也启用了身份验证,这和http协议的认证是相似的,HttpClient提供了对应的Proxy认证方法和属性:\nset authenticateProxy(\n Future f(String host, int port, String scheme, String realm));\nvoid addProxyCredentials(\n String host, int port, String realm, HttpClientCredentials credentials);\n\n他们的使用方法和上面“HTTP请求认证”一节中介绍的addCredentials和authenticate 相同,故不再赘述。\n证书校验\nHttps中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非CA颁发的证书进行校验。HttpClient对证书校验的逻辑如下:\n\n如果请求的Https证书是可信CA颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。\n如果第一步验证失败,但在创建HttpClient时,已经通过SecurityContext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。\n如果1、2验证都失败了,如果用户提供了badCertificateCallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。\n\n综上所述,我们的证书校验其实就是提供一个badCertificateCallback回调,下面通过一个示例来说明。\n示例\n假设我们的后台服务使用的是自签名证书,证书格式是PEM格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下:\nString PEM=\"XXXXX\";//可以从文件读取\n...\nhttpClient.badCertificateCallback=(X509Certificate cert, String host, int port){\n if(cert.pem==PEM){\n return true; //证书一致,则允许发送数据\n }\n return false;\n};\n\nX509Certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。\n对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badCertificateCallback回调中:\nSecurityContext sc=new SecurityContext();\n//file为证书路径\nsc.setTrustedCertificates(file);\n//创建一个HttpClient\nHttpClient httpClient = new HttpClient(context: sc);\n\n注意,通过setTrustedCertificates()设置的证书格式必须为PEM或PKCS12,如果证书格式为PKCS12,则需将证书密码传入,这样则会在代码中暴露证书密码,所以客户端证书校验不建议使用PKCS12格式的证书。\n总结\n值得注意的是,HttpClient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,Http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。\n"},"chapter10/dio.html":{"url":"chapter10/dio.html","title":"Http请求-Dio package","keywords":"","body":"网络操作\nDio http库\n通过上一节介绍,我们可以发现直接使用HttpClient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、Cookie管理等就会非常繁琐。幸运的是,Dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。\n\n dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等。\n\n引入\n引入dio:\ndependencies:\n dio: ^x.x.x #请使用pub上的最新版本\n\n导入并创建dio实例:\nimport 'package:dio/dio.dart';\nDio dio = new Dio();\n\n接下来就可以通过 dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,APP只有一个http数据源时,dio应该使用单例模式。\n示例\n发起 GET 请求 :\nResponse response;\nresponse=await dio.get(\"/test?id=12&name=wendu\")\nprint(response.data.toString());\n\n对于GET请求我们可以将query参数通过对象来传递,上面的代码等同于:\nresponse=await dio.get(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})\nprint(response.data.toString());\n\n发起一个 POST 请求:\nresponse=await dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})\n\n发起多个并发请求:\nresponse= await Future.wait([dio.post(\"/info\"),dio.get(\"/token\")]);\n\n下载文件:\nresponse=await dio.download(\"https://www.google.com/\",_savePath);\n\n发送 FormData:\nFormData formData = new FormData.from({\n \"name\": \"wendux\",\n \"age\": 25,\n});\nresponse = await dio.post(\"/info\", data: formData)\n\n如果发送的数据是FormData,则dio会将请求header的contentType设为“multipart/form-data”。\n通过FormData上传多个文件:\nFormData formData = new FormData.from({\n \"name\": \"wendux\",\n \"age\": 25,\n \"file1\": new UploadFileInfo(new File(\"./upload.txt\"), \"upload1.txt\"),\n \"file2\": new UploadFileInfo(new File(\"./upload.txt\"), \"upload2.txt\"),\n // 支持文件数组上传\n \"files\": [\n new UploadFileInfo(new File(\"./example/upload.txt\"), \"upload.txt\"),\n new UploadFileInfo(new File(\"./example/upload.txt\"), \"upload.txt\")\n ]\n});\nresponse = await dio.post(\"/info\", data: formData)\n\n值得一提的是,dio内部仍然使用HttpClient发起的请求,所以代理、请求认证、证书校验等和HttpClient是相同的,我们可以在onHttpClientCreate回调中设置,例如:\n dio.onHttpClientCreate = (HttpClient client) {\n //设置代理 \n client.findProxy = (uri) {\n return \"PROXY 192.168.1.2:8888\";\n };\n //校验证书\n httpClient.badCertificateCallback=(X509Certificate cert, String host, int port){\n if(cert.pem==PEM){\n return true; //证书一致,则允许发送数据\n }\n return false;\n }; \n };\n\n注意,onHttpClientCreate会在当前dio实例内部需要创建HttpClient时调用,所以通过此回调配置HttpClient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。\n怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio 。\n"},"chapter10/websocket.html":{"url":"chapter10/websocket.html","title":"WebSocket","keywords":"","body":"使用WebSockets\nHttp协议是无状态的,只能由客户端主动发起,服务端再被动响应,服务端无法向客户端主动推送内容,并且一旦服务器响应结束,链接就会断开(见注解部分),所以无法进行实时通信。WebSocket协议正是为解决客户端与服务端实时通信而产生的技术,现在已经被主流浏览器支持,所以对于Web开发者来说应该比较熟悉了,Flutter也提供了专门的包来支持WebSocket协议。\n\n注意:Http协议中虽然可以通过keep-alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep-alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。\n\nWebSocket协议本质上是一个基于tcp的协议,它是先通过HTTP协议发起一条特殊的http请求进行握手后,如果服务端支持WebSocket协议,则会进行协议升级。WebSocket会使用http协议握手后创建的tcp链接,和http协议不同的是,WebSocket的tcp链接是个长链接(不会断开),所以服务端与客户端就可以通过此TCP连接进行实时通信。有关WebSocket协议细节,读者可以看RFC文档,下面我们重点看看Flutter中如何使用WebSocket。\n在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息!\n步骤\n\n连接到WebSocket服务器。\n监听来自服务器的消息。\n将数据发送到服务器。\n关闭WebSocket连接。\n\n1. 连接到WebSocket服务器\nweb_socket_channel package 提供了我们需要连接到WebSocket服务器的工具.\n该package提供了一个WebSocketChannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。\n在Flutter中,我们可以创建一个WebSocketChannel连接到一台服务器:\nfinal channel = new IOWebSocketChannel.connect('ws://echo.websocket.org');\n\n2. 监听来自服务器的消息\n现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。\n我们如何收取消息并显示它们?在这个例子中,我们将使用一个StreamBuilder Widget来监听新消息, 并用一个Text Widget来显示它们。\nnew StreamBuilder(\n stream: widget.channel.stream,\n builder: (context, snapshot) {\n return new Text(snapshot.hasData ? '${snapshot.data}' : '');\n },\n);\n\n工作原理\nWebSocketChannel提供了一个来自服务器的消息Stream 。\n该Stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与Future返回单个异步响应不同,Stream类可以随着时间推移传递很多事件。\n该StreamBuilder Widget将连接到一个Stream, 并在每次收到消息时通知Flutter重新构建界面。\n3. 将数据发送到服务器\n为了将数据发送到服务器,我们会add消息给WebSocketChannel提供的sink。\nchannel.sink.add('Hello!');\n\n工作原理\nWebSocketChannel提供了一个StreamSink,它将消息发给服务器。\nStreamSink类提供了给数据源同步或异步添加事件的一般方法。\n4. 关闭WebSocket连接\n在我们使用WebSocket后,要关闭连接:\nchannel.sink.close();\n\n完整的例子\nimport 'package:flutter/material.dart';\nimport 'package:web_socket_channel/io.dart';\n\nclass WebSocketRoute extends StatefulWidget {\n @override\n _WebSocketRouteState createState() => new _WebSocketRouteState();\n}\n\nclass _WebSocketRouteState extends State {\n TextEditingController _controller = new TextEditingController();\n IOWebSocketChannel channel;\n String _text = \"\";\n\n\n @override\n void initState() {\n //创建websocket连接\n channel = new IOWebSocketChannel.connect('ws://echo.websocket.org');\n }\n\n @override\n Widget build(BuildContext context) {\n return new Scaffold(\n appBar: new AppBar(\n title: new Text(\"WebSocket(内容回显)\"),\n ),\n body: new Padding(\n padding: const EdgeInsets.all(20.0),\n child: new Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n new Form(\n child: new TextFormField(\n controller: _controller,\n decoration: new InputDecoration(labelText: 'Send a message'),\n ),\n ),\n new StreamBuilder(\n stream: channel.stream,\n builder: (context, snapshot) {\n //网络不通会走到这\n if (snapshot.hasError) {\n _text = \"网络不通...\";\n } else if (snapshot.hasData) {\n _text = \"echo: \"+snapshot.data;\n }\n return new Padding(\n padding: const EdgeInsets.symmetric(vertical: 24.0),\n child: new Text(_text),\n );\n },\n )\n ],\n ),\n ),\n floatingActionButton: new FloatingActionButton(\n onPressed: _sendMessage,\n tooltip: 'Send message',\n child: new Icon(Icons.send),\n ),\n );\n }\n\n void _sendMessage() {\n if (_controller.text.isNotEmpty) {\n channel.sink.add(_controller.text);\n }\n }\n\n @override\n void dispose() {\n channel.sink.close();\n super.dispose();\n }\n}\n\n上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过WebSocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现StreamBuilder和Stream都没有指定接收类型的参数,并且在创建WebSocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用StreamBuilder,因为WebSocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过Opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,StreamBuilder的snapshot.data的类型就是List,是文本时,则为String。\n"},"chapter10/socket.html":{"url":"chapter10/socket.html","title":"使用Socket API","keywords":"","body":"Socket\n我们之前介绍的Http协议和WebSocket协议都属于应用层协议,除了它们,应用层协议还有很多如:SMTP、FTP等,它们都是通过Socket实现的。其实,操作系统中提供的原生网络请求API是标准的,在C语言的Socket库中,它主要提供了端到端建立链接和发送数据的基础API,而高级编程语言中的Socket库其实都是对操作系统的socket API的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的HttpClient不好用想重新实现一个,这时我们就需要使用Socket。Flutter的Socket API在dart io包中,下面我们看一个使用Socket实现简单http请求的示例,以请求百度首页为例:\n_request() async{\n //建立连接\n var socket=await Socket.connect(\"baidu.com\", 80);\n //根据http协议,发送请求头\n socket.writeln(\"GET / HTTP/1.1\");\n socket.writeln(\"Host:baidu.com\");\n socket.writeln(\"Connection:close\");\n socket.writeln();\n await socket.flush(); //发送\n //读取返回内容\n _response =await socket.transform(utf8.decoder).join();\n await socket.close();\n}\n\n可以看到,使用Socket需要我们自己实现Http协议细节,本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后如下:\n\n可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user-agent)来看看输出的变化。\n"},"chapter10/json_model.html":{"url":"chapter10/json_model.html","title":"Json转Model","keywords":"","body":"Json Model\n在实战中,后台接口往往会返回一些结构化数据,如JSON、XML等,如之前我们请求Github API的示例,它返回的数据就是JSON格式的字符串,为了方便我们在代码中操作JSON,我们先将JSON格式的字符串转为Dart对象,这个可以通过dart:convert中内置的JSON解码器json.decode() 来实现,该方法可以根据JSON字符串具体内容将其转为List或Map,这样我们就可以通过他们来查找所需的值,如:\n//一个JSON格式的用户列表字符串\nString jsonStr='[{\"name\":\"Jack\"},{\"name\":\"Rose\"}]';\n//将JSON字符串转为Dart对象(此处是List)\nList items=json.decode(jsonStr);\n//输出第一个用户的姓名\nprint(items[0][\"name\"]);\n\n通过json.decode() 将JSON字符串转为List/Map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下JSON:\n{\n \"name\": \"John Smith\",\n \"email\": \"john@example.com\"\n}\n\n我们可以通过调用json.decode方法来解码JSON ,使用JSON字符串作为参数:\nMap user = json.decode(json);\n\nprint('Howdy, ${user['name']}!');\nprint('We sent the verification link to ${user['email']}.');\n\n由于json.decode()仅返回一个Map,这意味着直到运行时我们才知道值的类型。 通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个JSON在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。\n其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“Json Model化”,具体做法就是,通过预定义一些与Json结构对应的Model类,然后在请求到数据后再动态根据数据创建出Model类的实例。这样一来,在开发阶段我们使用的是Model类的实例,而不再是Map/List,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(Model class)来解决前面提到的问题,我们称之为User。在User类内部,我们有:\n\n一个User.fromJson 构造函数, 用于从一个map构造出一个 User实例 map structure\n一个toJson 方法, 将 User 实例转化为一个map.\n\n这样,调用代码现在可以具有类型安全、自动补全字段(name和email)以及编译时异常。如果我们将拼写错误字段视为int类型而不是String, 那么我们的代码就不会通过编译,而不是在运行时崩溃。\nuser.dart\nclass User {\n final String name;\n final String email;\n\n User(this.name, this.email);\n\n User.fromJson(Map json)\n : name = json['name'],\n email = json['email'];\n\n Map toJson() =>\n {\n 'name': name,\n 'email': email,\n };\n}\n\n现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user.\nMap userMap = json.decode(json);\nvar user = new User.fromJson(userMap);\n\nprint('Howdy, ${user.name}!');\nprint('We sent the verification link to ${user.email}.');\n\n要序列化一个user,我们只是将该User对象传递给该json.encode方法。我们不需要手动调用toJson这个方法,因为`JSON.encode内部会自动调用。\nString json = json.encode(user);\n\n这样,调用代码就不用担心JSON序列化了,但是,Model类还是必须的。在实践中,User.fromJson和User.toJson方法都需要单元测试到位,以验证正确的行为。\n另外,实际场景中,JSON对象很少会这么简单,嵌套的JSON对象并不罕见,如果有什么能为我们自动处理JSON序列化,那将会非常好。幸运的是,有!\n自动生成Model\n尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializable package包。 它是一个自动化的源代码生成器,可以在开发阶段为我们生成JSON序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生JSON序列化异常的风险降至最低。\n在项目中设置json_serializable\n要包含json_serializable到我们的项目中,我们需要一个常规和两个开发依赖项。简而言之,开发依赖项是不包含在我们的应用程序源代码中的依赖项,它是开发过程中的一些辅助工具、脚本,和node中的开发依赖项相似。\npubspec.yaml\ndependencies:\n # Your other regular dependencies here\n json_annotation: ^2.0.0\n\ndev_dependencies:\n # Your other dev_dependencies here\n build_runner: ^1.0.0\n json_serializable: ^2.0.0\n\n在您的项目根文件夹中运行 flutter packages get (或者在编辑器中点击 “Packages Get”) 以在项目中使用这些新的依赖项.\n以json_serializable的方式创建model类\n让我们看看如何将我们的User类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化JSON model。\nuser.dart\nimport 'package:json_annotation/json_annotation.dart';\n\n// user.g.dart 将在我们运行生成命令后自动生成\npart 'user.g.dart';\n\n///这个标注是告诉生成器,这个类是需要生成Model类的\n@JsonSerializable()\n\nclass User{\n User(this.name, this.email);\n\n String name;\n String email;\n //不同的类使用不同的mixin即可\n factory User.fromJson(Map json) => _$UserFromJson(json);\n Map toJson() => _$UserToJson(this); \n}\n\n有了上面的设置,源码生成器将生成用于序列化name和email字段的JSON代码。\n如果需要,自定义命名策略也很容易。例如,如果我们正在使用的API返回带有snake_case的对象,但我们想在我们的模型中使用lowerCamelCase, 那么我们可以使用@JsonKey标注:\n//显式关联JSON字段名与Model属性的对应关系 \n@JsonKey(name: 'registration_date_millis')\nfinal int registrationDateMillis;\n\n运行代码生成程序\njson_serializable第一次创建类时,您会看到与下图类似的错误。\n\n这些错误是完全正常的,这是因为Model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法:\n一次性生成\n通过在我们的项目根目录下运行:\nflutter packages pub run build_runner build\n 这触发了一次性构建,我们可以在需要时为我们的Model生成json序列化代码,它通过我们的源文件,找出需要生成Model类的源文件(包含@JsonSerializable标注的)来生成对应的.g.dart文件。一个好的建议是将所有Model类放在一个单独的目录下,然后在该目录下执行命令。\n虽然这非常方便,但如果我们不需要每次在Model类中进行更改时都要手动运行构建命令的话会更好。\n持续生成\n使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutter packages pub run build_runner watch在项目根目录下运行来启动watcher。只需启动一次观察器,然后它就会在后台运行,这是安全的。\n自动化生成模板\n上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据JSON文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将JSON转为Model类,下面我们看看怎么做:\n\n定义一个\"模板的模板\",名为\"template.dart\":\nimport 'package:json_annotation/json_annotation.dart';\n%t\npart '%s.g.dart';\n@JsonSerializable()\nclass %s {\n %s();\n\n %s\n factory %s.fromJson(Map json) => _$%sFromJson(json);\n Map toJson() => _$%sToJson(this);\n}\n\n模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。\n\n写一个自动生成模板的脚本(mo.dart),它可以根据指定的JSON目录,遍历生成模板,在生成时我们定义一些规则:\n\n如果JSON文件名以下划线“_”开始,则忽略此JSON文件。\n复杂的JSON对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。\n\n脚本我们通过Dart来写,源码如下:\nimport 'dart:convert';\nimport 'dart:io';\nimport 'package:path/path.dart' as path;\nconst TAG=\"\\$\";\nconst SRC=\"./json\"; //JSON 目录\nconst DIST=\"lib/models/\"; //输出model目录\n\nvoid walk() { //遍历JSON目录生成模板\n var src = new Directory(SRC);\n var list = src.listSync();\n var template=new File(\"./template.dart\").readAsStringSync();\n File file;\n list.forEach((f) {\n if (FileSystemEntity.isFileSync(f.path)) {\n file = new File(f.path);\n var paths=path.basename(f.path).split(\".\");\n String name=paths.first;\n if(paths.last.toLowerCase()!=\"json\"||name.startsWith(\"_\")) return ;\n if(name.startsWith(\"_\")) return;\n //下面生成模板\n var map = json.decode(file.readAsStringSync());\n //为了避免重复导入相同的包,我们用Set来保存生成的import语句。\n var set= new Set();\n StringBuffer attrs= new StringBuffer();\n (map as Map).forEach((key, v) {\n if(key.startsWith(\"_\")) return ;\n attrs.write(getType(v,set,name));\n attrs.write(\" \");\n attrs.write(key);\n attrs.writeln(\";\");\n attrs.write(\" \");\n });\n String className=name[0].toUpperCase()+name.substring(1);\n var dist=format(template,[name,className,className,attrs.toString(),\n className,className,className]);\n var _import=set.join(\";\\r\\n\");\n _import+=_import.isEmpty?\"\":\";\";\n dist=dist.replaceFirst(\"%t\",_import );\n //将生成的模板输出\n new File(\"$DIST$name.dart\").writeAsStringSync(dist);\n }\n });\n}\n\nString changeFirstChar(String str, [bool upper=true] ){\n return (upper?str[0].toUpperCase():str[0].toLowerCase())+str.substring(1);\n}\n\n//将JSON类型转为对应的dart类型\n String getType(v,Set set,String current){\n current=current.toLowerCase();\n if(v is bool){\n return \"bool\";\n }else if(v is num){\n return \"num\";\n }else if(v is Map){\n return \"Map\";\n }else if(v is List){\n return \"List\";\n }else if(v is String){ //处理特殊标志\n if(v.startsWith(\"$TAG[]\")){\n var className=changeFirstChar(v.substring(3),false);\n if(className.toLowerCase()!=current) {\n set.add('import \"$className.dart\"');\n }\n return \"List\";\n\n }else if(v.startsWith(TAG)){\n var fileName=changeFirstChar(v.substring(1),false);\n if(fileName.toLowerCase()!=current) {\n set.add('import \"$fileName.dart\"');\n }\n return changeFirstChar(fileName);\n }\n return \"String\";\n }else{\n return \"String\";\n }\n }\n\n//替换模板占位符\nString format(String fmt, List params) {\n int matchIndex = 0;\n String replace(Match m) {\n if (matchIndex \n\n写一个shell(mo.sh),将生成模板和生成model串起来:\ndart mo.dart\nflutter packages pub run build_runner build --delete-conflicting-outputs\n\n\n\n至此,我们的脚本写好了,我们在根目录下新建一个json目录,然后把user.json移进去,然后在lib目录下创建一个models目录,用于保存最终生成的Model类。现在我们只需要一句命令即可生成Model类了:\n./mo.sh\n运行后,一切都将自动执行,现在好多了,不是吗?\n嵌套JSON\n我们定义一个person.json内容修改为:\n{\n \"name\": \"John Smith\",\n \"email\": \"john@example.com\",\n \"mother\":{\n \"name\": \"Alice\",\n \"email\":\"alice@example.com\"\n },\n \"friends\":[\n {\n \"name\": \"Jack\",\n \"email\":\"Jack@example.com\"\n },\n {\n \"name\": \"Nancy\",\n \"email\":\"Nancy@example.com\"\n }\n ]\n}\n\n每个Person都有name 、email 、 mother和friends四个字段,由于mother也是一个Person,朋友是多个Person(数组),所以我们期望生成的Model是下面这样:\nimport 'package:json_annotation/json_annotation.dart';\npart 'person.g.dart';\n\n@JsonSerializable()\nclass Person {\n Person();\n\n String name;\n String email;\n Person mother;\n List friends;\n\n factory Person.fromJson(Map json) => _$PersonFromJson(json);\n Map toJson() => _$PersonToJson(this);\n}\n\n这时,我们只需要简单修改一下JSON,添加一些特殊标志,重新运行mo.sh即可:\n{\n \"name\": \"John Smith\",\n \"email\": \"john@example.com\",\n \"mother\":\"$person\",\n \"friends\":\"$[]person\"\n}\n\n我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的TAG常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给User添加一个Person类型的 boss字段:\n{\n \"name\": \"John Smith\",\n \"email\": \"john@example.com\",\n \"boss\":\"$person\"\n}\n\n重新运行mo.sh,生成的user.dart如下:\nimport 'package:json_annotation/json_annotation.dart';\nimport \"person.dart\";\npart 'user.g.dart';\n\n@JsonSerializable()\n\nclass User {\n User();\n\n String name;\n String email;\n Person boss;\n\n factory User.fromJson(Map json) => _$UserFromJson(json);\n Map toJson() => _$UserToJson(this);\n}\n\n可以看到,boss字段已自动添加,并自动导入了“person.dart”。\n使用IDE插件生成model\n目前Android Studio(或IntelliJ)有一个插件,它可以自动将Json转为model,该插件会对嵌套Json也会生成model。这个特性在有些时候可能会引起重定义,如两个Json都内嵌了一个user的对象时,会导致user model在不同的文件中会被定义两次,需要开发者手动去重。\nFAQ\n很多人可能会问Flutter中有没有像Java开发中的Gson/Jackson一样的Json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰Dart的tree shaking,使用tree shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tree shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以Flutter中禁用了Dart的反射功能,而正因如此也就无法实现动态转化Model的功能。\n"},"chapter11/":{"url":"chapter11/","title":"包与插件","keywords":"","body":"包与插件\n\n开发package\n插件开发:平台通道简介\n插件开发:实现Android端API\n插件开发:实现IOS端API\n\n"},"chapter11/develop_package.html":{"url":"chapter11/develop_package.html","title":"开发package","keywords":"","body":"Package\n使用package可以创建共享的模块化代码。一个最小的package包括:\n\n一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。\n一个 lib 文件夹:包括包中公开的(public)代码,最少应有一个.dart文件\n\nFlutter Packages分为两类:\n\nDart包:其中一些可能包含Flutter的特定功能,因此对Flutter框架具有依赖性,这种包仅用于Flutter,例如fluro包。\n插件包:一种专用的Dart包,其中包含用Dart代码编写的API,以及针对Android(使用Java或Kotlin)和针对iOS(使用OC或Swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。\n\n注意,虽然Flutter的Dart运行时和Dart VM运行时不是完全相同,但是如果Package中没有涉及这些存在差异的部分,那么这样的包可以同时支持Flutter和Dart VM,如Dart http网络库dio. \n开发Dart包\n第一步:创建Dart包\n您可以通过Android Studio:File>New>New Flutter Project 来创建:\n\n您也可以通过使用--template=package 来执行 flutter create 命令来创建:\nflutter create --template=package hello\n\n这将在hello/文件夹下创建一个具有以下专用内容的package工程:\n\nlib/hello.dart:Package的Dart代码\n\ntest/hello_test.dart:Package的单元测试代码。\n\n\n实现package\n对于纯Dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可 。要测试软件包,请在test目录中添加unit tests。下面我们看看如何组织Package包的代码,我们以shelf Package为例,它的目录结构如下:\n\n在lib根目录下的shelf.dart中,导出了多个lib/src目录下的dart文件:\nexport 'src/cascade.dart';\nexport 'src/handler.dart';\nexport 'src/handlers/logger.dart';\nexport 'src/hijack_exception.dart';\nexport 'src/middleware.dart';\nexport 'src/pipeline.dart';\nexport 'src/request.dart';\nexport 'src/response.dart';\nexport 'src/server.dart';\nexport 'src/server_handler.dart';\n\n而Package中主要的功能的源码都在src目录下。shelf Package也导出了一个迷你库: shelf_io,它主要是处理HttpRequest的。\n导入包\n当需要使用这个Package时,我们可以通过\"package:\"指令来指定包的入口文件:\nimport 'package:utilities/utilities.dart';\n\n同一个包中的源码文件之间也可以使用相对路径来导入。\n生成文档\n可以使用 dartdoc 工具来为Package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成API文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:\n/// The event handler responsible for updating the badge in the UI.\nvoid updateBadge() {\n ...\n}\n\n详细的文档语法请参考dartdoc 。\n处理包的相互依赖\n如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。 下面的代码使url_launcher插件的API在hello包中是可用的:\n在 hello/pubspec.yaml中:\ndependencies:\n url_launcher: ^0.4.2\n\n现在可以在hello中import 'package:url_launcher/url_launcher.dart' 然后调用 launch()方法了。\n这与在Flutter应用程序或任何其他Dart项目中引用软件包没有什么不同。\n但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的API,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。\nAndroid\n在 hello/android/build.gradle:\nandroid {\n // lines skipped\n dependencies {\n provided rootProject.findProject(\":url_launcher\")\n }\n}\n\n您现在可以在hello/android/src源码中import io.flutter.plugins.urllauncher.UrlLauncherPlugin访问UrlLauncherPlugin类。\niOS\n在hello/ios/hello.podspec:\nPod::Spec.new do |s|\n # lines skipped\n s.dependency 'url_launcher'\n\n您现在可以在hello/ios/Classes源码中 #import \"UrlLauncherPlugin.h\" 然后访问 UrlLauncherPlugin类。\n解决依赖冲突\n假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。 那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。\ndependencies:\n url_launcher: ^0.4.2 # 这样会较好, 任何0.4.x(x >= 2)都可.\n image_picker: '0.1.1' # 不是很好,只有0.1.1版本.\n\n如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。 \n即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。 你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:\n强制使用 0.4.3版本的url_launcher,在 hello/pubspec.yaml中:\ndependencies:\n some_package:\n other_package:\ndependency_overrides:\n url_launcher: '0.4.3'\n\n如果冲突的依赖不是一个包,而是一个特定于Android的库,比如guava,那么必须将依赖重写声明添加到Gradle构建逻辑中。\n强制使用23.0版本的guava库,在hello/android/build.gradle中:\nconfigurations.all {\n resolutionStrategy {\n force 'com.google.guava:guava:23.0-android'\n }\n}\n\nCocoapods目前不提供依赖覆盖功能。\n发布Package\n一旦实现了一个包,我们可以在Pub上发布它 ,这样其他开发者就可以轻松使用它。\n在发布之前,检查pubspec.yaml、README.md以及CHANGELOG.md文件,以确保其内容的完整性和正确性。然后,运行 dry-run 命令以查看是否都准备OK了:\nflutter packages pub publish --dry-run\n\n验证无误后,我们就可以运行发布命令了:\nflutter packages pub publish\n\n\n如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用VPN,这里需要注意的是一些代理只会代理部分APP的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到Pub,因此,在发布Pub包时使用全局代理或全局VPN会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。\n\n"},"chapter11/platform-channel.html":{"url":"chapter11/platform-channel.html","title":"插件开发:平台通道简介","keywords":"","body":"插件开发:平台通道简介\n所谓“平台特定”或“特定平台”,平台指的就是指Flutter运行的平台,如Android或IOS,可以认为就是应用的原生部分。所以,平台通道正是Flutter和原生之间通信的桥梁,它也是Flutter插件的底层基础设施。\nFlutter使用了一个灵活的系统,允许您调用特定平台的API,无论在Android上的Java或Kotlin代码中,还是iOS上的ObjectiveC或Swift代码中均可用。\nFlutter与原生之间的通信依赖灵活的消息传递方式:\n\n应用的Flutter部分通过平台通道(platform channel)将消息发送到其应用程序的所在的宿主(iOS或Android)应用(原生应用)。\n宿主监听平台通道,并接收该消息。然后它会调用该平台的API,并将响应发送回客户端,即应用程序的Flutter部分。\n\n平台通道\n使用平台通道在Flutter(client)和原生(host)之间传递消息,如下图所示:\n\n当在Flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给Flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。\n在客户端,MethodChannel API 可以发送与方法调用相对应的消息。 在宿主平台上,MethodChannel 在Android API 和 FlutterMethodChannel iOS API可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。\n\n注意: 如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用Dart中实现的API。 quick_actions插件就是一个具体的例子。\n\n平台通道数据类型支持\n平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于Dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。\n\n\n\nDart\nAndroid\niOS\n\n\n\n\nnull\nnull\nnil (NSNull when nested)\n\n\nbool\njava.lang.Boolean\nNSNumber numberWithBool:\n\n\nint\njava.lang.Integer\nNSNumber numberWithInt:\n\n\nint, if 32 bits not enough\njava.lang.Long\nNSNumber numberWithLong:\n\n\nint, if 64 bits not enough\njava.math.BigInteger\nFlutterStandardBigInteger\n\n\ndouble\njava.lang.Double\nNSNumber numberWithDouble:\n\n\nString\njava.lang.String\nNSString\n\n\nUint8List\nbyte[]\nFlutterStandardTypedData typedDataWithBytes:\n\n\nInt32List\nint[]\nFlutterStandardTypedData typedDataWithInt32:\n\n\nInt64List\nlong[]\nFlutterStandardTypedData typedDataWithInt64:\n\n\nFloat64List\ndouble[]\nFlutterStandardTypedData typedDataWithFloat64:\n\n\nList\njava.util.ArrayList\nNSArray\n\n\nMap\njava.util.HashMap\nNSDictionary\n\n\n\n 当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。\n开发Flutter插件\n使用平台通道调用原生代码\n下面我们通过一个获取电池电量的插件来介绍一下Flutter插件的开发流程。该插件中我们在Dart中通过getBatteryLevel 调用Android BatteryManager API和iOS device.batteryLevel API。 \n创建一个新的应用程序项目\n首先创建一个新的应用程序:\n\n在终端中运行:flutter create batterylevel\n\n默认情况下,模板支持使用Java编写Android代码,或使用Objective-C编写iOS代码。要使用Kotlin或Swift,请使用-i和/或-a标志:\n\n在终端中运行: flutter create -i swift -a kotlin batterylevel\n\n创建Flutter平台客户端\n该应用的State类拥有当前的应用状态。我们需要延长这一点以保持当前的电量\n首先,我们构建通道。我们使用MethodChannel调用一个方法来返回电池电量。\n通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的; 我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。\nimport 'dart:async';\n\nimport 'package:flutter/material.dart';\nimport 'package:flutter/services.dart';\n...\nclass _MyHomePageState extends State {\n static const platform = const MethodChannel('samples.flutter.io/battery');\n\n // Get battery level.\n}\n\n接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getBatteryLevel。 该调用可能失败(平台不支持平台API,例如在模拟器中运行时),所以我们将invokeMethod调用包装在try-catch语句中。\n我们使用返回的结果,在setState中来更新用户界面状态batteryLevel。\n // Get battery level.\n String _batteryLevel = 'Unknown battery level.';\n\n Future _getBatteryLevel() async {\n String batteryLevel;\n try {\n final int result = await platform.invokeMethod('getBatteryLevel');\n batteryLevel = 'Battery level at $result % .';\n } on PlatformException catch (e) {\n batteryLevel = \"Failed to get battery level: '${e.message}'.\";\n }\n\n setState(() {\n _batteryLevel = batteryLevel;\n });\n }\n\n最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。\n@override\nWidget build(BuildContext context) {\n return new Material(\n child: new Center(\n child: new Column(\n mainAxisAlignment: MainAxisAlignment.spaceEvenly,\n children: [\n new RaisedButton(\n child: new Text('Get Battery Level'),\n onPressed: _getBatteryLevel,\n ),\n new Text(_batteryLevel),\n ],\n ),\n ),\n );\n}\n\n在接下来的两节中,我们会分别介绍Android和iOS端API的实现。\n自定义平台通道和编解码器\n除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodec、StringCodec和 JSONMessageCodec类,或创建自己的编解码器。\n"},"chapter11/android_implement.html":{"url":"chapter11/android_implement.html","title":"插件开发:实现Android端API","keywords":"","body":"插件开发:Android端API实现\n本节我们接着上一节\"获取电池电量\"插件的示例,来完成Android端API的实现。以下步骤是使用Java的示例,如果您更喜欢Kotlin,可以直接跳到后面Kotlin部分。\n首先在Android Studio中打开您的Flutter应用的Android部分:\n\n启动 Android Studio\n选择 File > Open…\n定位到您 Flutter app目录, 然后选择里面的 android文件夹,点击 OK\n在java目录下打开 MainActivity.java\n\n接下来,在onCreate里创建MethodChannel并设置一个MethodCallHandler。确保使用和Flutter客户端中使用的通道名称相同的名称。\nimport io.flutter.app.FlutterActivity;\nimport io.flutter.plugin.common.MethodCall;\nimport io.flutter.plugin.common.MethodChannel;\nimport io.flutter.plugin.common.MethodChannel.MethodCallHandler;\nimport io.flutter.plugin.common.MethodChannel.Result;\n\npublic class MainActivity extends FlutterActivity {\n private static final String CHANNEL = \"samples.flutter.io/battery\";\n\n @Override\n public void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(\n new MethodCallHandler() {\n @Override\n public void onMethodCall(MethodCall call, Result result) {\n // TODO\n }\n });\n }\n}\n\n接下来,我们添加Java代码,使用Android电池API来获取电池电量。此代码和在原生Android应用中编写的代码完全相同。\n首先,添加需要导入的依赖。\nimport android.content.ContextWrapper;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.os.BatteryManager;\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport android.os.Bundle;\n\n然后,将下面的新方法添加到activity类中的,位于onCreate 方法下方:\nprivate int getBatteryLevel() {\n int batteryLevel = -1;\n if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {\n BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);\n batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);\n } else {\n Intent intent = new ContextWrapper(getApplicationContext()).\n registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));\n batteryLevel = (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) /\n intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);\n }\n\n return batteryLevel;\n}\n\n最后,我们完成之前添加的onMethodCall方法。我们需要处理平台方法名为getBatteryLevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的Android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的API,我们也会通知返回:\n@Override\npublic void onMethodCall(MethodCall call, Result result) {\n if (call.method.equals(\"getBatteryLevel\")) {\n int batteryLevel = getBatteryLevel();\n\n if (batteryLevel != -1) {\n result.success(batteryLevel);\n } else {\n result.error(\"UNAVAILABLE\", \"Battery level not available.\", null);\n }\n } else {\n result.notImplemented();\n }\n}\n\n现在就可以在Android上运行该应用程序了,如果使用的是Android模拟器,则可以通过工具栏中的\"...\"按钮访问Extended Controls面板中的电池电量。\n使用Kotlin添加Android平台特定的实现\n使用Kotlin和使用Java的步骤类似,首先在Android Studio中打开您的Flutter应用的Android部分:\n\n启动 Android Studio。\n选择 the menu item \"File > Open…\"。\n定位到 Flutter app目录, 然后选择里面的 android文件夹,点击 OK。\n在kotlin目录中打开MainActivity.kt。\n\n接下来,在onCreate里创建MethodChannel并设置一个MethodCallHandler。确保使用与在Flutter客户端使用的通道名称相同。\nimport android.os.Bundle\nimport io.flutter.app.FlutterActivity\nimport io.flutter.plugin.common.MethodChannel\nimport io.flutter.plugins.GeneratedPluginRegistrant\n\nclass MainActivity() : FlutterActivity() {\n private val CHANNEL = \"samples.flutter.io/battery\"\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n GeneratedPluginRegistrant.registerWith(this)\n\n MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result ->\n // TODO\n }\n }\n}\n\n接下来,我们添加Kotlin代码,使用Android电池API来获取电池电量,这和原生开发是一样的。\n首先,添加需要导入的依赖。\nimport android.content.Context\nimport android.content.ContextWrapper\nimport android.content.Intent\nimport android.content.IntentFilter\nimport android.os.BatteryManager\nimport android.os.Build.VERSION\nimport android.os.Build.VERSION_CODES\n\n然后,将下面的新方法添加到activity类中的,位于onCreate 方法下方:\n private fun getBatteryLevel(): Int {\n val batteryLevel: Int\n if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {\n val batteryManager = getSystemService(Context.BATTERY_SERVICE) as BatteryManager\n batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY)\n } else {\n val intent = ContextWrapper(applicationContext).registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))\n batteryLevel = intent!!.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100 / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1)\n }\n\n return batteryLevel\n }\n\n最后,我们完成之前添加的onMethodCall方法。我们需要处理平台方法名为getBatteryLevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的Android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的API,我们也会通知返回:\n​ \nMethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result ->\n if (call.method == \"getBatteryLevel\") {\n val batteryLevel = getBatteryLevel()\n if (batteryLevel != -1) {\n result.success(batteryLevel)\n } else {\n result.error(\"UNAVAILABLE\", \"Battery level not available.\", null)\n }\n } else {\n result.notImplemented()\n }\n}\n\n您现在就可以在Android上运行该应用程序。如果您使用的是Android模拟器,则可以通过工具栏中的\"...\"按钮访问Extended Controls面板中的电池电量。\n"},"chapter11/ios_implement.html":{"url":"chapter11/ios_implement.html","title":"插件开发:实现IOS端API","keywords":"","body":"插件开发:iOS端API实现\n本节我们接着之前\"获取电池电量\"插件的示例,来完成iOS端API的实现。以下步骤使用Objective-C,如果您更喜欢Swift,可以直接跳到后面Swift部分。\n首先打开Xcode中Flutter应用程序的iOS部分:\n\n启动 Xcode\n选择 File > Open…\n定位到您 Flutter app目录, 然后选择里面的 iOS文件夹,点击 OK\n确保Xcode项目的构建没有错误。\n选择 Runner > Runner ,打开AppDelegate.m\n\n接下来,在application didFinishLaunchingWithOptions:方法内部创建一个FlutterMethodChannel,并添加一个处理方法。 确保与在Flutter客户端使用的通道名称相同。\n#import \n\n@implementation AppDelegate\n- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {\n FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController;\n\n FlutterMethodChannel* batteryChannel = [FlutterMethodChannel\n methodChannelWithName:@\"samples.flutter.io/battery\"\n binaryMessenger:controller];\n\n [batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) {\n // TODO\n }];\n\n return [super application:application didFinishLaunchingWithOptions:launchOptions];\n}\n\n接下来,我们添加Objective-C代码,使用iOS电池API来获取电池电量,这和原生是相同的。\n在AppDelegate类中添加以下新的方法:\n- (int)getBatteryLevel {\n UIDevice* device = UIDevice.currentDevice;\n device.batteryMonitoringEnabled = YES;\n if (device.batteryState == UIDeviceBatteryStateUnknown) {\n return -1;\n } else {\n return (int)(device.batteryLevel * 100);\n }\n}\n\n最后,我们完成之前添加的setMethodCallHandler方法。我们需要处理的平台方法名为getBatteryLevel,所以我们在call参数中需要先判断是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的iOS代码,并使用result参数返回成功或错误的响应。如果调用了未定义的API,我们也会通知返回:\n[batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) {\n if ([@\"getBatteryLevel\" isEqualToString:call.method]) {\n int batteryLevel = [self getBatteryLevel];\n\n if (batteryLevel == -1) {\n result([FlutterError errorWithCode:@\"UNAVAILABLE\"\n message:@\"电池信息不可用\"\n details:nil]);\n } else {\n result(@(batteryLevel));\n }\n } else {\n result(FlutterMethodNotImplemented);\n }\n}];\n\n现在可以在iOS上运行该应用程序了,如果使用的是iOS模拟器,请注意,它不支持电池API,因此应用程序将显示“电池信息不可用”。\n使用Swift实现iOS API\n以下步骤与上面使用Objective-C相似,首先打开Xcode中Flutter应用程序的iOS部分:\n\n启动 Xcode\n选择 File > Open…\n定位到您 Flutter app目录, 然后选择里面的 ios文件夹,点击 OK\n确保Xcode项目的构建没有错误。\n选择 Runner > Runner ,然后打开AppDelegate.swift\n\n接下来,覆盖application方法并创建一个FlutterMethodChannel绑定通道名称samples.flutter.io/battery:\n@UIApplicationMain\n@objc class AppDelegate: FlutterAppDelegate {\n override func application(\n _ application: UIApplication,\n didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n GeneratedPluginRegistrant.register(with: self);\n\n let controller : FlutterViewController = window?.rootViewController as! FlutterViewController;\n let batteryChannel = FlutterMethodChannel.init(name: \"samples.flutter.io/battery\",\n binaryMessenger: controller);\n batteryChannel.setMethodCallHandler({\n (call: FlutterMethodCall, result: FlutterResult) -> Void in\n // Handle battery messages.\n });\n\n return super.application(application, didFinishLaunchingWithOptions: launchOptions);\n }\n}\n\n接下来,我们添加Swift代码,使用iOS电池API来获取电池电量,这和原生开发是相同的。\n将以下新方法添加到AppDelegate.swift底部:\nprivate func receiveBatteryLevel(result: FlutterResult) {\n let device = UIDevice.current;\n device.isBatteryMonitoringEnabled = true;\n if (device.batteryState == UIDeviceBatteryState.unknown) {\n result(FlutterError.init(code: \"UNAVAILABLE\",\n message: \"电池信息不可用\",\n details: nil));\n } else {\n result(Int(device.batteryLevel * 100));\n }\n}\n\n最后,我们完成之前添加的setMethodCallHandler方法。我们需要处理的平台方法名为getBatteryLevel,所以我们在call参数中需要先判断是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的iOS代码,并使用result参数返回成功或错误的响应。如果调用了未定义的API,我们也会通知返回:\nbatteryChannel.setMethodCallHandler({\n (call: FlutterMethodCall, result: FlutterResult) -> Void in\n if (\"getBatteryLevel\" == call.method) {\n receiveBatteryLevel(result: result);\n } else {\n result(FlutterMethodNotImplemented);\n }\n});\n\n现在可以在iOS上运行应用程序,如果使用的是iOS模拟器,请注意,它不支持电池API,因此应用程序将显示“电池信息不可用”。\n"},"todo.html":{"url":"todo.html","title":"系统能力调用","keywords":"","body":"提示\n本文档尚未完成,您可以:\n\n去Flutter中文网查看相关内容。\n您想补充此文档?可以查看《Flutter实战》开源项目\"贡献须知\"。\n点击下面的\"赏\"按钮,请作者喝杯咖啡,鼓励继续创作~~\n\n"},"chapter12/":{"url":"chapter12/","title":"国际化","keywords":"","body":"本章目录\n\n让App支持多语言\n实现Localizations \n使用Intl包 \n\n"},"chapter12/multi_languages_support.html":{"url":"chapter12/multi_languages_support.html","title":"让App支持多语言","keywords":"","body":"让App支持多语言\n如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。Flutter提供一些widget和类以帮助实现国际化,而Flutter的库本身也是国际化的。\n接下来我们以MaterialApp类为入口的应用来说明如何支持国际化。\n\n大多数应用程序都是通过MaterialApp为入口,但根据低级别的WidgetsApp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。MaterialApp实际上也是WidgetsApp的一个包装。\n\n支持国际化\n默认情况下,Flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为“flutter_localizations”的包。 截至2018年5月,该包支持24种语言。要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:\ndependencies:\n flutter:\n sdk: flutter\n flutter_localizations:\n sdk: flutter\n\n接下来,下载flutter_localizations库,然后指定MaterialApp的localizationsDelegates和supportedLocales:\nimport 'package:flutter_localizations/flutter_localizations.dart';\n\nnew MaterialApp(\n localizationsDelegates: [\n // 本地化的代理类\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n ],\n supportedLocales: [\n const Locale('en', 'US'), // 美国英语\n const Locale('zh', 'CN'), // 中文简体\n //其它Locales\n ],\n // ...\n)\n\n基于WidgetsApp的应用程序类似,只是不需要GlobalMaterialLocalizations.delegate。\nlocalizationsDelegates列表中的元素是生成本地化值集合的工厂。GlobalMaterialLocalizations.delegate 为Material 组件库提供的本地化的字符串和其他值,它可以使Material Widget支持多语言。 GlobalWidgetsLocalizations.delegate定义widget默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。\n获取当前区域Locale\nLocale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:\nconst Locale('zh', 'CN') // 中文简体\n\n我们始终可以通过以下方式来获取应用的当前区域Locale:\nLocale myLocale = Localizations.localeOf(context);\n\nLocalizations Widget一般位于Widget树中其它业务组件的顶部,它的作用是定义区域Locale以及设置子树依赖的本地化资源。 如果系统的语言环境发生变化,WidgetsApp将创建一个新的Localizations Widget并重建它,这样子树中通过Localizations.localeOf(context) 获取的Locale就会更新。\n监听系统语言切换\n当我们更改系统语言设置时,APP中的Localizations widget会重新构建,Localizations.localeOf(context)` 获取的Locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,这时我们就需要监听locale改变事件。\n我们可以通过localeResolutionCallback或localeListResolutionCallback回调来监听locale改变的事件,我们先看看localeResolutionCallback的回调函数签名:\nLocale Function(Locale locale, Iterable supportedLocales)\n\n\n参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定APP的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:\nMaterialApp(\n ...\n locale: const Locale('en', 'US'), //手动指定locale\n ...\n)\n\n上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。\n如果locale为null,则表示Flutter未能获取到设备的Locale信息,所以我们在使用locale之前一定要先判空。\n\nsupportedLocales 为当前应用支持的locale列表,是开发者在MaterialApp中通过supportedLocales属性注册的。\n\n返回值是一个Locale,此Locale为Flutter APP最终的Locale。通常在不支持的语言区域时返回一个默认的Locale。\n\n\nlocaleListResolutionCallback和localeResolutionCallback唯一的不同就在第一个参数类型,前者接收的是一个Locale列表,而后者接收的是单个Locale。\nLocale Function(List locales, Iterable supportedLocales)\n\n在新版的Android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的Locale,如果某一种语言加载成功则会停止。下面是Android中设置语言列表的截图:\n\n在Flutter中,应该优先使用localeListResolutionCallback,当然你不必担心Android系统的差异性,如果在低版本的Android系统中,Flutter会自动处理这种情况,这时Locale列表只会包含一项。\nLocalization widget\nLocalizations widget用于加载和查找包含本地化值的对象。应用程序通过Localizations.of(context,type)来引用这些对象。 如果设备的Locale区域设置发生更改,则Localizations widget会自动加载新区域的Locale值,然后重新构建使用了它们的widget。 发生这种情况是因为Localizations内部使用了InheritedWidget ,当build函数引用了InheritedWidget时,会创建对InheritedWidget的隐式依赖关系。当InheritedWidget发生更改时,即Localizations widget的Locale设置发生更改时,将重建其依赖的上下文。\n本地化值由Localizations的 LocalizationsDelegates 列表加载 。 每个委托必须定义一个异步load() 方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。\n在大型应用程序中,不同模块或Package可能会与自己的本地化值捆绑在一起。 这就是为什么要用Localizations 管理对象表的原因。 要检索由LocalizationsDelegate load方法之一产生的对象,可以指定一个BuildContext和对象的类型。例如,Material 组件库的本地化字符串由MaterialLocalizations类定义, 此类的实例由MaterialApp类提供的LocalizationDelegate创建, 它们可以通过Localizations.of被获取到:\nLocalizations.of(context, MaterialLocalizations);\n\n这个特殊的Localizations.of()表达式会经常使用,所以MaterialLocalizations类提供了一个便捷方法:\nstatic MaterialLocalizations of(BuildContext context) {\n return Localizations.of(context, MaterialLocalizations);\n}\n\n// 可以直接调用便捷方法\ntooltip: MaterialLocalizations.of(context).backButtonTooltip,\n\n使用打包好的LocalizationsDelegates\n为了尽可能小而且简单,flutter软件包中仅提供美国英语值的MaterialLocalizations和WidgetsLocalizations接口的实现。 这些实现类分别称为DefaultMaterialLocalizations和DefaultWidgetsLocalizations。flutter_localizations Package包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现, 国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化Delegate。\n上述的GlobalMaterialLocalizations和GlobalWidgetsLocalizations只是Material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的Localizations,我们将在下一节介绍其具体的实现方式。\n"},"chapter12/locallization_implement.html":{"url":"chapter12/locallization_implement.html","title":"实现Localizations","keywords":"","body":"实现Localizations\n前面讲了Material组件库如何支持国际化,本节我们将介绍一下我们自己的UI中如何支持多语言。根据上节所述,我们需要实现两个类:一个Delegate类一个Localizations类,下面我们通过一个实例说明。\n实现Localizations类\n我们已经知道Localizations类中主要实现提供了本地化值,如文本:\n//Locale资源类\nclass DemoLocalizations {\n DemoLocalizations(this.isZh);\n //是否为中文\n bool isZh = false;\n //为了使用方便,我们定义一个静态方法\n static DemoLocalizations of(BuildContext context) {\n return Localizations.of(context, DemoLocalizations);\n }\n //Locale相关值,title为应用标题\n String get title {\n return isZh ? \"Flutter应用\" : \"Flutter APP\";\n }\n //... 其它的值 \n}\n\nDemoLocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。DemoLocalizations的实例将会在Delegate类的load方法中创建。\n实现Delegate类\nDelegate类的职责是在Locale改变时加载新的Locale资源,所以它有一个load方法,Delegate类需要继承自LocalizationsDelegate类,实现相应的接口,示例如下:\n//Locale代理类\nclass DemoLocalizationsDelegate extends LocalizationsDelegate {\n const DemoLocalizationsDelegate();\n\n //是否支持某个Local\n @override\n bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode);\n\n // Flutter会调用此类加载相应的Locale资源类\n @override\n Future load(Locale locale) {\n print(\"xxxx$locale\");\n return SynchronousFuture(\n DemoLocalizations(locale.languageCode == \"zh\")\n );\n }\n\n @override\n bool shouldReload(DemoLocalizationsDelegate old) => false;\n}\n\nshouldReload的返回值决定当Localizations Widget重新build时,是否调用load方法重新加载Locale资源。一般情况下,Locale资源只应该在Locale切换时加载一次,不需要每次在Localizations 重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在APP启动后用户再改变系统语言时load方法将不会被调用,所以Locale资源将不会被加载。事实上,每当Locale改变时Flutter都会再调用load方法加载新的Locale,无论shouldReload返回true还是false。\n最后一步:添加多语言支持\n和上一节中介绍的相同,我们现在需要先注册DemoLocalizationsDelegate类,然后再通过DemoLocalizations.of(context)来动态获取当前Locale文本。\n只需要在MaterialApp或WidgetsApp的localizationsDelegates列表中添加我们的Delegate实例即可完成注册:\nlocalizationsDelegates: [\n // 本地化的代理类\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n // 注册我们的Delegate\n DemoLocalizationsDelegate()\n],\n\n接下来我们可以在Widget中使用Locale值:\nreturn Scaffold(\n appBar: AppBar(\n //使用Locale title \n title: Text(DemoLocalizations.of(context).title),\n ),\n ... //省略无关代码\n )\n\n这样,当在美国英语和中文简体之间切换系统语言时,APP的标题将会分别为“Flutter APP”和“Flutter应用”。\n总结\n本节我们通过一个简单的示例说明了Flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在DemoLocalizations类中获取title时手动的判断当前语言Locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种Locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过Dart intl包来实现这些。\n"},"chapter12/intl.html":{"url":"chapter12/intl.html","title":"使用Intl包","keywords":"","body":"使用Intl包\n使用Intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用Intl包我们需要添加两个依赖:\ndependencies:\n #...省略无关项\n intl: ^0.15.7 \ndev_dependencies:\n #...省略无关项\n intl_translation: ^0.17.2\n\nintl_translation 包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用:\n第一步:创建必要目录\n首先,在项目根目录下创建一个i10n-arb目录,该目录保存我们接下来通过intl_translation命令生成的arb文件。一个简单的arb文件内容如下:\n{\n \"@@last_modified\": \"2018-12-10T15:46:20.897228\",\n \"@@locale\":\"zh_CH\",\n \"title\": \"Flutter应用\",\n \"@title\": {\n \"description\": \"Title for the Demo application\",\n \"type\": \"text\",\n \"placeholders\": {}\n }\n}\n\n我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。\n接下来,我们在lib目录下创建一个i10n的目录,该目录用于保存从arb文件生成的dart代码文件。\n第二步:实现Localizations和Delegate类\n和上一节中的步骤类似,我们仍然要实现Localizations和Delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。\n下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下:\nimport 'package:flutter/material.dart';\nimport 'package:intl/intl.dart';\nimport 'messages_all.dart'; //1\n\nclass DemoLocalizations {\n static Future load(Locale locale) {\n final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();\n final String localeName = Intl.canonicalizedLocale(name);\n //2\n return initializeMessages(localeName).then((b) {\n Intl.defaultLocale = localeName;\n return new DemoLocalizations();\n });\n }\n\n static DemoLocalizations of(BuildContext context) {\n return Localizations.of(context, DemoLocalizations);\n }\n\n String get title {\n return Intl.message(\n 'Flutter APP',\n name: 'title',\n desc: 'Title for the Demo application',\n );\n }\n}\n\n//Locale代理类\nclass DemoLocalizationsDelegate extends LocalizationsDelegate {\n const DemoLocalizationsDelegate();\n\n //是否支持某个Local\n @override\n bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode);\n\n // Flutter会调用此类加载相应的Locale资源类\n @override\n Future load(Locale locale) {\n //3\n return DemoLocalizations.load(locale);\n }\n\n // 当Localizations Widget重新build时,是否调用load重新加载Locale资源.\n @override\n bool shouldReload(DemoLocalizationsDelegate old) => false;\n}\n\n注意:\n\n注释1的\"messages_all.dart\"文件是通过intl_translation工具从arb文件生成的代码,所以在第一次运行生成命令之前,此文件不存在。注释2处的initializeMessages()方法和\"messages_all.dart\"文件一样,是同时生成的。\n注释3处和上一节示例代码不同,这里我们直接调用DemoLocalizations.load()即可。\n\n第三部:添加需要国际化的属性\n现在我们可以在DemoLocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到Intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同:\n\n\n\n未读邮件数\n提示语\n\n\n\n\n0\nThere are no emails left\n\n\n1\nThere is 1 email left\n\n\nn(n>1)\nThere are n emails left\n\n\n\n我们可以通过Intl.plural(...)来实现:\nremainingEmailsMessage(int howMany) => Intl.plural(howMany,\n zero: 'There are no emails left',\n one: 'There is $howMany email left',\n other: 'There are $howMany emails left',\n name: \"remainingEmailsMessage\",\n args: [howMany],\n desc: \"How many emails remain after archiving.\",\n examples: const {'howMany': 42, 'userName': 'Fred'});\n\n可以看到通过Intl.plural方法可以在howMany值不同时输出不同的提示信息。\nIntl包还有一些其他的方法,读者可以自行查看其文档,本书不在赘述。\n第四步:生成arb文件\n现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名:\nflutter pub pub run intl_translation:extract_to_arb --output-dir=i10n-arb \\ lib/i10n/localization_intl.dart\n\n运行此命令后,会将我们之前通过Intl API标识的属性和字符串提取到“i10n-arb/intl_messages.arb”文件中,我们看看其内容:\n{\n \"@@last_modified\": \"2018-12-10T17:37:28.505088\",\n \"title\": \"Flutter APP\",\n \"@title\": {\n \"description\": \"Title for the Demo application\",\n \"type\": \"text\",\n \"placeholders\": {}\n },\n \"remainingEmailsMessage\": \"{howMany,plural, =0{There are no emails left}=1{There is {howMany} email left}other{There are {howMany} emails left}}\",\n \"@remainingEmailsMessage\": {\n \"description\": \"How many emails remain after archiving.\",\n \"type\": \"text\",\n \"placeholders\": {\n \"howMany\": {\n \"example\": 42\n }\n }\n }\n}\n\n这个是默认的Locale资源文件,如果我们现在要支持中文简体,只需要在该文件同级目录创建一个\"intl_zh_CN.arb\"文件,然后将\"intl_messages.arb\"的内容拷贝到\"intl_zh_CN.arb\"文件,接下来将英文翻译为中文即可,翻译后的\"intl_zh_CN.arb\"文件内容如下:\n{\n \"@@last_modified\": \"2018-12-10T15:46:20.897228\",\n \"@@locale\":\"zh_CH\",\n \"title\": \"Flutter应用\",\n \"@title\": {\n \"description\": \"Title for the Demo application\",\n \"type\": \"text\",\n \"placeholders\": {}\n },\n \"remainingEmailsMessage\": \"{howMany,plural, =0{没有未读邮件}=1{有{howMany}封未读邮件}other{有{howMany}封未读邮件}}\",\n \"@remainingEmailsMessage\": {\n \"description\": \"How many emails remain after archiving.\",\n \"type\": \"text\",\n \"placeholders\": {\n \"howMany\": {\n \"example\": 42\n }\n }\n }\n}\n\n我们必须要翻译title和remainingEmailsMessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。\n有两点需要说明:\n\n如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是Intl的托底策略。\n每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。\narb文件是标准的,其格式规范可以自行了解。通常会将arb文件交给翻译人员,当他们完成翻译后,我们再通过下面的步骤根据arb文件生成最终的dart代码。\n\n第五步:生成dart代码\n最后一步就是根据arb生成dart文件:\nflutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i10n --no-use-deferred-loading lib/i10n/localization_intl.dart i10n-arb/intl_*.arb\n\n这句命令在首次运行时会在\"lib/i10n\"目录下生成多个文件,对应多种Locale,这些代码便是最终要使用的dart代码。\n总结\n至此,我们将使用Intl包对APP进行国际化的流程介绍完了,我们可以发现,其中第一步和第二步只在第一次需要,而我们开发时的主要的工作都是在第三步。由于最后两步在第三步完成后每次也都需要,所以我们可以将最后两步放在一个shell脚本里,当我们完成第三步或完成arb文件翻译后只需要分别执行该脚本即可。我们在根目录下创建一个intl.sh的脚本,内容为:\nflutter pub pub run intl_translation:extract_to_arb --output-dir=i10n-arb lib/i10n/localization_intl.dart\nflutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i10n --no-use-deferred-loading lib/i10n/localization_intl.dart i10n-arb/intl_*.arb\n\n然后授予执行权限:\nchmod +x intl.sh\n\n执行intl.sh\n./intl.sh\n\n"},"chapter14/":{"url":"chapter14/","title":"Flutter核心原理","keywords":"","body":"本章目录\n\nFlutter UI系统\nElement和BuildContext\nRenderObject和RenderBox\nFlutter从启动到显示\n\n"},"chapter14/flutter_ui_system.html":{"url":"chapter14/flutter_ui_system.html","title":"Flutter UI系统","keywords":"","body":"Flutter UI系统\n在本书的前面章节中,我们多次提到\"UI系统\"这个概念,本书中所指的UI系统特指:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。我们说过各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍Flutter UI系统之前,我们先看看UI系统的基本原理,这样可以帮助读者对操作系统和系统底层UI逻辑有一个清晰的认识。\nUI系统原理\n硬件绘图基本原理\n提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。\n一个像素点能发出的所有颜色总数是显示器的一个重要指标,比如我们所说的1600万色的屏幕就是指一个像素点可以显示出1600万种颜色,而显示器颜色是有RGB三基色组成,所以1600万即2的24次方,即每个基本色(R、G、B)深度扩展至8 bit(位),颜色深度越深,所能显示的色彩更加丰富靓丽。\n为了更新显示画面,显示器是以固定的频率刷新(从GPU取数据),比如有一部手机屏幕的刷新频率是 60Hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如VSync), 60Hz的屏幕就会一秒内发出 60次这样的信号。而这个信号主要是用于同步CPU、GPU和显示器的。一般地来说,计算机系统中,CPU、GPU和显示器以一种特定的方式协作:CPU将计算好的显示内容提交给 GPU,GPU渲染后放入帧缓冲区,然后视频控制器按照同步信号从帧缓冲区取帧数据传递给显示器显示。\nCPU和GPU的任务是各有偏重的,CPU主要用于基本数学和逻辑计算,而GPU主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,GPU的主要作用就是确定最终输送给显示器的各个像素点的色值。\n操作系统绘制API的封装\n由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的API供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的API是比较复杂和低效的,因为操作系统提供的API往往比较基础,直接调用需要了解API的很多细节。正是因为这个原因,几乎所有用于开发GUI程序的编程语言都会在操作系统之上再封装一层,将操作系统原生API封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发GUI应用程序,而这一层抽象,正是我们所说的“UI”系统,如Android SDK正是封装了Android操作系统API,提供了一个“UI描述文件XML+Java操作DOM”的UI系统,而iOS的UIKit 对View的抽象也是一样的,他们都将操作系统API抽象成一个基础对象(如用于2D图形绘制的Canvas),然后再定义一套规则来描述UI,如UI树结构,UI操作的单线程原则等。\nFlutter UI系统\n我们可以看到,无论是Android SDK还是iOS的UIKit 的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个UI系统:可以使用同一种编程语言开发,然后针对不同操作系统API抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而Flutter的原理正是如此,它提供了一套Dart API,然后在底层通过OpenGL这种跨平台的绘制库(内部会调用操作系统API)实现了一套代码跨多端。由于Dart API也是调用操作系统API,所以它的性能接近原生。\n\n注意,虽然Dart是先调用了OpenGL,OpenGL才会调用操作系统API,但是这仍然是原生渲染,因为OpenGL只是操作系统API的一个封装库,它并不像WebView渲染那样需要JavaScript运行环境和CSS渲染器,所以不会有性能损失。\n\n至此,我们已经介绍了Flutter UI系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了, 简单概括就是:组合和响应式。我们要开发一个UI界面,需要通过组合其它Widget来实现,Flutter中,一切都是Widget,当UI要发生变化时,我们不去直接修改DOM,而是通过更新状态,让Flutter UI系统来根据新的状态来重新构建UI。\n讲到这里,读者可能发现Flutter UI系统和Flutter Framework的概念是差不多的,的确如此,之所以用“UI系统”,是因为其他平台中可能不这么叫,我们只是为了概念统一,便于描述,读者不必纠结于概念本身。\n在接下来的小节中,我们先详细介绍一下Element、RenderObject,它们是组成Flutter UI系统的基石。最后我们在分析一下Flutter应用启动和运行的整体过程。\n"},"chapter14/element_buildcontext.html":{"url":"chapter14/element_buildcontext.html","title":"Element和BuildContext","keywords":"","body":"Element与BuildContext\nElement\n在“Widget简介”一节,我们介绍了Widget和Element的关系,我们知道最终的UI树其实是由一个个独立的Element节点构成。我们也知道了组件最终的Layout、渲染都是通过RenderObject来完成的,从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element.renderObject属性上,最后再通过RenderObject来完成布局排列和绘制。\nElement就是Widget在UI树具体位置的一个实例化对象,大多数Element只有唯一的renderObject,但还有一些Element会有多个子节点,如继承自RenderObjectElement的一些类,比如MultiChildRenderObjectElement。最终所有Element的RenderObject构成一棵树,我们称之为渲染树,即render tree。\nElement的生命周期如下:\n\nFramework 调用Widget.createElement 创建一个Element实例,记为element\nFramework 调用 element.mount(parentElement,newSlot) ,mount方法中首先调用elment所对应Widget的createRenderObject方法创建与element相关联的RenderObject对象,然后调用element.attachRenderObject方法将element.renderObject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在Element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。\n当element父Widget的配置数据改变时,为了进行Element复用,Framework在决定重新创建Element前会先尝试复用相同位置旧的element:调用Element对应Widget的canUpdate()方法,如果返回true,则复用旧Element,旧的Element会使用新的Widget配置数据更新,反之则会创建一个新的Element,不会复用。Widget.canUpdate()主要是判断newWidget与oldWidget的runtimeType和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来禁止复用。\n当有父Widget的配置数据改变时,同时其State.build返回的Widget结构与之前不同,此时就需要重新构建对应的Element树。为了进行Element复用,在Element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应Widget的canUpdate方法,如果返回true,则复用旧Element,旧的Element会使用新Widget配置数据更新,反之则会创建一个新的Element。Widget.canUpdate主要是判断newWidget与oldWidget的runtimeType和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来避免复用。\n当有祖先Element决定要移除element 时(如Widget树结构发生了变化,导致element对应的Widget被移除),这时该祖先Element就会调用deactivateChild 方法来移除它,移除后element.renderObject也会被从渲染树中移除,然后Framework会调用element.deactivate 方法,这时element状态变为“inactive”状态。\n“inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成”active“状态,Framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。\n如果element要重新插入到Element树的其它位置,如element或element的祖先拥有一个GlobalKey(用于全局复用元素),那么Framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderObject重新attach到渲染树。\n\n看完Element的生命周期,可能有些读者会有疑问,开发者会直接操作Element树吗?其实对于开发者来说,大多数情况下只需要关注Widget树就行,Flutter框架已经将对Widget树的操作映射到了Element树上,这可以极大的降低复杂度,提高开发效率。但是了解Element对理解整个Flutter UI框架是至关重要的,Flutter正是通过Element这个纽带将Widget和RenderObject关联起来,了解Element层不仅会帮助读者对Flutter UI框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用Element对象来完成一些操作,比如获取主题Theme数据,具体细节将在下文介绍。\nBuildContext\n无论是StatelessWidget和StatefulWidget的build方法都会传一个BuildContext对象:\nWidget build(BuildContext context) {}\n\n我们知道,在很多时候我们都需要使用这个context 做一些事,比如:\nTheme.of(context) //获取主题\nNavigator.push(context, route) //入栈新路由\nLocalizations.of(context, type) //获取Local\ncontext.size //获取上下文大小\ncontext.findRenderObject() //查找当前或最近的一个祖先RenderObject\n\n那么BuildContext到底是什么呢,查看其定义,发现其是一个抽象接口类:\nabstract class BuildContext {\n ...\n}\n\n那StatelessWidget和StatefulWidget的build方法传入的context对象是哪个实现了BuildContext的类。我们顺藤摸瓜,发现调用时发生在StatelessWidget和StatefulWidget对应的StatelessElement和StatefulElement的build方法中,以StatelessElement为例:\n\nclass StatelessElement extends ComponentElement {\n ...\n @override\n Widget build() => widget.build(this);\n ...\n}\n\n发现build传递的是this,很明显了,这个BuildContext很可能就是Element类,查看Element类定义,发现Element类果然实现了BuildContext接口:\nclass Element extends DiagnosticableTree implements BuildContext {\n ...\n}\n\n至此真相大白,BuildContext就是Widget对应的Element,所以我们可以通过context在StatelessWidget和StatefulWidget的build方法中直接访问Element对象。我们获取主题数据的代码Theme.of(context)内部正是调用了Element的inheritFromWidgetOfExactType()方法。\n\n思考题:为什么build方法的参数不定义成Element对象,而要定义成BuildContext ?\n\n进阶\n我们可以看到Element是Flutter UI框架内部连接Widget和RenderObject的纽带,大多数时候开发者只需要关注Widget层即可,但是Widget层有时候并不能完全屏蔽Element细节,所以Framework在StatelessWidget和StatefulWidget中通过build方法参数将Element对象也传递给了开发者,这样便可以在需要时直接操作Element对象。那么现在笔者提两个问题,请读者先自己思考一下:\n\n如果没有Widget层,单靠Element层是否可以搭建起一个可用的UI框架?如果可以应该是什么样子?\nFlutter UI框架能不做成响应式吗?\n\n对于问题1,答案当然是肯定的,因为我们之前说过Widget树只是Element树的映射,我们完全可以直接通过Element来搭建一个UI框架。下面举一个例子:\n我们通过纯粹的Element来模拟一个StatefulWidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是1-9 9个数,点击一次按钮,则对9个数随机排一次序,代码如下:\nclass HomeView extends ComponentElement{\n HomeView(Widget widget) : super(widget);\n String text = \"123456789\";\n\n @override\n Widget build() {\n Color primary=Theme.of(this).primaryColor; //1\n return GestureDetector(\n child: Center(\n child: FlatButton(\n child: Text(text, style: TextStyle(color: primary),),\n onPressed: () {\n var t = text.split(\"\")..shuffle();\n text = t.join();\n markNeedsBuild(); //点击后将该Element标记为dirty,Element将会rebuild\n },\n ),\n ),\n );\n }\n}\n\n\n上面build方法不接收参数,这一点和在StatelessWidget和StatefulWidget中build(BuildContext)方法不同。代码中需要用到BuildContext的地方直接用this代替即可,如代码注释1处Theme.of(this)参数直接传this即可,因为当前对象本身就是Element实例。\n当text发生改变时,我们调用markNeedsBuild()方法将当前Element标记为dirty即可,标记为dirty的Element会在下一帧中重建。实际上,State.setState()在内部也是调用的markNeedsBuild()方法。\n\n上面代码中build方法返回的仍然是一个Widget,这是由于Flutter框架中已经有了Widget这一层,并且组件库都已经是以Widget的形式提供了,如果在Flutter框架中所有组件都像示例的HomeView一样以Element形式提供,那么就可以用纯Element来构建UI了,HomeView的build方法返回值类型就可以是Element了。\n\n\n如果我们需要将上面代码在现有Flutter框架中跑起来,那么还是得提供一个”适配器“Widget将HomeView结合到现有框架中,下面CustomHome就相当于”适配器“:\nclass CustomHome extends Widget {\n @override\n Element createElement() {\n return HomeView(this);\n }\n}\n\n现在就可以将CustomHome添加到Widget树了,我们在一个新路由页创建它,最终效果如下:\n \n点击按钮则按钮文本会随机排序。\n对于问题2,答案当然也是肯定的,Flutter engine提供的dart API是原始且独立的,这个与操作系统提供的API类似,上层UI框架设计成什么样完全取决于设计者,完全可以将UI框架设计成Android风格或iOS风格,但这些事Google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的掌握程度。\n总结\n本节详细的介绍了Element的生命周期,以及它与Widget、BuildContext的关系,也介绍了Element在Flutter UI系统中的角色和作用,我们将在下一节介绍Flutter UI系统中另一个重要的角色RenderObject。\n"},"chapter14/render_object.html":{"url":"chapter14/render_object.html","title":"RenderObject与RenderBox","keywords":"","body":"RenderObject和RenderBox\n在上一节我们说过每个Element都对应一个RenderObject,我们可以通过Element.renderObject 来获取。并且我们也说过RenderObject的主要职责是Layout和绘制,所有的RenderObject会组成一棵渲染树Render Tree。本节我们将重点介绍一下RenderObject的作用。\nRenderObject就是渲染树中的一个对象,它拥有一个parent和一个parentData 插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentData正是一个预留变量,它正是由parent 来赋值的,parent通常会通过子RenderObject的parentData存储一些和子元素相关的数据,如在Stack布局中,RenderStack就会将子元素的偏移数据存储在子元素的parentData中(具体可以查看Positioned实现)。\nRenderObject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。 它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,Flutter提供了一个RenderBox类,它继承自RenderObject,布局坐标系统采用笛卡尔坐标系,这和Android和iOS原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用RenderBox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下RenderBox。\n布局过程\nConstraints\n在 RenderBox 中,有个 size属性用来保存控件的宽和高。RenderBox的layout是通过在组件树中从上往下传递BoxConstraints对象的实现的。BoxConstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。\n在布局阶段,父节点会调用子节点的layout()方法,下面我们看看RenderObject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):\nvoid layout(Constraints constraints, { bool parentUsesSize = false }) {\n ...\n RenderObject relayoutBoundary; \n if (!parentUsesSize || sizedByParent || constraints.isTight \n || parent is! RenderObject) {\n relayoutBoundary = this;\n } else {\n final RenderObject parent = this.parent;\n relayoutBoundary = parent._relayoutBoundary;\n }\n ...\n if (sizedByParent) {\n performResize();\n }\n performLayout();\n ...\n}\n\n可以看到layout方法需要传入两个参数,第一个为constraints,即 父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是 parentUsesSize,该值用于确定 relayoutBoundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。\nrelayoutBoundary\n上面layout()源码中定义了一个relayoutBoundary变量,什么是 relayoutBoundary?在前面介绍Element时,我们讲过当一个Element标记为 dirty 时便会重新build,这时 RenderObject 便会重新布局,我们是通过调用 markNeedsBuild() 来标记Element为dirty的。在 RenderObject中有一个类似的markNeedsLayout()方法,它会将 RenderObject 的布局状态标记为 dirty,这样在下一个frame中便会重新layout,我们看看RenderObject的markNeedsLayout()的部分源码:\nvoid markNeedsLayout() {\n ...\n assert(_relayoutBoundary != null);\n if (_relayoutBoundary != this) {\n markParentNeedsLayout();\n } else {\n _needsLayout = true;\n if (owner != null) {\n ...\n owner._nodesNeedingLayout.add(this);\n owner.requestVisualUpdate();\n }\n }\n}\n\n代码大致逻辑是先判断自身是不是 relayoutBoundary,如果不是就继续向 parent 查找,一直向上查找到是 relayoutBoundary 的 RenderObject为止,然后再将其标记为 dirty 的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的 parent,因此 parent 也需要被重新布局,那么到什么时候是个头呢?答案就是 relayoutBoundary,如果一个 RenderObject 是 relayoutBoundary,就表示它的大小变化不会再影响到 parent 的大小了,于是 parent 也就不用重新布局了。\nperformResize 和 performLayout\nRenderBox实际的测量和布局逻辑是在performResize() 和 performLayout()两个方法中,RenderBox子类需要实现这两个方法来定制自身的布局逻辑。根据layout() 源码可以看出只有 sizedByParent 为 true 时,performResize() 才会被调用,而 performLayout() 是每次布局都会被调用的。sizedByParent 意为该节点的大小是否仅通过 parent 传给它的 constraints 就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满 parent 的大小,那么 sizedByParent就应该返回true,此时其大小在 performResize() 中就确定了,在后面的 performLayout() 方法中将不会再被修改了,这种情况下 performLayout() 只负责布局子节点。\n在 performLayout() 方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout() > performResize()/performLayout() > child.layout() > ... ,如此递归完成整个UI的布局。\nRenderBox子类要定制布局算法不应该重写layout()方法,因为对于任何RenderBox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performResize() 和 performLayout()两个方法来实现,他们会在layout()中被调用。\nParentData\n当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,RenderObject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数RenderBox子类来说如果子类只有一个子节点,那么子节点偏移一般都是Offset.zero ,如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过RenderObject的parentData属性来保存的。在RenderBox中,其parentData属性默认是一个BoxParentData对象,该属性只能通过父节点的setupParentData()方法来设置:\nabstract class RenderBox extends RenderObject {\n @override\n void setupParentData(covariant RenderObject child) {\n if (child.parentData is! BoxParentData)\n child.parentData = BoxParentData();\n }\n ...\n}\n\nBoxParentData定义如下:\n/// Parentdata 会被RenderBox和它的子类使用.\nclass BoxParentData extends ParentData {\n /// offset表示在子节点在父节点坐标系中的绘制偏移 \n Offset offset = Offset.zero;\n\n @override\n String toString() => 'offset=$offset';\n}\n\n\n一定要注意,RenderObject的parentData 只能通过父元素设置.\n\n当然,ParentData并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的ParentData中,如ContainerBox的ParentData就保存了指向兄弟节点的previousSibling和nextSibling,Element.visitChildren()方法也正是通过它们来实现对子节点的遍历。再比如KeepAlive Widget,它使用KeepAliveParentDataMixin(继承自ParentData) 来保存子节的keepAlive状态。\n绘制过程\nRenderObject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下:\nvoid paint(PaintingContext context, Offset offset) { }\n\n通过context.canvas可以取到Canvas对象,接下来就可以调用Canvas API来实现具体的绘制逻辑。\n如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以RenderFlex对象为例说明:\n@override\nvoid paint(PaintingContext context, Offset offset) {\n\n // 如果子元素未超出当前边界,则绘制子元素 \n if (_overflow \n代码很简单,首先判断有无溢出,如果没有则调用defaultPaint(context, offset)来完成绘制,该方法源码如下:\nvoid defaultPaint(PaintingContext context, Offset offset) {\n ChildType child = firstChild;\n while (child != null) {\n final ParentDataType childParentData = child.parentData;\n //绘制子节点, \n context.paintChild(child, childParentData.offset + offset);\n child = childParentData.nextSibling;\n }\n}\n\n很明显,由于Flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintChild()来绘制子节点,同时将子节点ParentData中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintChild()。而如果子节点还有子节点时,paintChild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为: paint() > paintChild() > paint() ... 。\n当需要绘制的内容大小溢出当前空间时,将会执行paintOverflowIndicator() 来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如:\n\nRepaintBoundary\n我们已经在CustomPaint一节中介绍过RepaintBoundary,现在我们深入的了解一些。与 RelayoutBoundary 相似,RepaintBoundary是用于在确定重绘边界的,与 RelayoutBoundary 不同的是,这个绘制边界需要由开发者通过RepaintBoundary Widget自己指定,如:\nCustomPaint(\n size: Size(300, 300), //指定画布大小\n painter: MyPainter(),\n child: RepaintBoundary(\n child: Container(...),\n ),\n),\n\n下面我们看看RepaintBoundary的原理,RenderObject有一个isRepaintBoundary属性,该属性决定这个RenderObject重绘时是否独立于其父元素,如果该属性值为true ,则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢? 答案就在paintChild()源码中:\nvoid paintChild(RenderObject child, Offset offset) {\n ...\n if (child.isRepaintBoundary) {\n stopRecordingIfNeeded();\n _compositeChild(child, offset);\n } else {\n child._paintWithContext(this, offset);\n }\n ...\n}\n\n我们可以看到,在绘制子节点时,如果child.isRepaintBoundary 为 true则会调用_compositeChild()方法,_compositeChild()源码如下:\nvoid _compositeChild(RenderObject child, Offset offset) {\n // 给子节点创建一个layer ,然后再上面绘制子节点 \n if (child._needsPaint) {\n repaintCompositedChild(child, debugAlsoPaintedParent: true);\n } else {\n ...\n }\n assert(child._layer != null);\n child._layer.offset = offset;\n appendLayer(child._layer);\n}\n\n很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isRepaintBoundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,RenderObject也提供了一个markNeedsPaint()方法,其源码如下:\nvoid markNeedsPaint() {\n ...\n //如果RenderObject.isRepaintBoundary 为true,则该RenderObject拥有layer,直接绘制 \n if (isRepaintBoundary) {\n ...\n if (owner != null) {\n //找到最近的layer,绘制 \n owner._nodesNeedingPaint.add(this);\n owner.requestVisualUpdate();\n }\n } else if (parent is RenderObject) {\n // 没有自己的layer, 会和一个祖先节点共用一个layer \n assert(_layer == null);\n final RenderObject parent = this.parent;\n // 向父级递归查找 \n parent.markNeedsPaint();\n assert(parent == this.parent);\n } else {\n // 如果直到根节点也没找到一个Layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。 \n if (owner != null)\n owner.requestVisualUpdate();\n }\n}\n\n可以看出,当调用 markNeedsPaint() 方法时,会从当前 RenderObject 开始一直向父节点查找,直到找到 一个isRepaintBoundary 为 true的RenderObject 时,才会触发重绘,这样便可以实现局部重绘。当 有RenderObject 绘制的很频繁或很复杂时,可以通过RepaintBoundary Widget来指定isRepaintBoundary 为 true,这样在绘制时仅会重绘自身而无需重绘它的 parent,如此便可提高性能。\n还有一个问题,通过RepaintBoundary Widget如何设置isRepaintBoundary属性呢?其实如果使用了RepaintBoundary Widget,其对应的RenderRepaintBoundary会自动将isRepaintBoundary设为true的:\nclass RenderRepaintBoundary extends RenderProxyBox {\n /// Creates a repaint boundary around [child].\n RenderRepaintBoundary({ RenderBox child }) : super(child);\n\n @override\n bool get isRepaintBoundary => true;\n}\n\n命中测试\n我们在”事件处理与通知“一章中已经讲过Flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。\n一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(RenderView)开始进行命中测试,下面是RenderView的hitTest()源码:\nbool hitTest(HitTestResult result, { Offset position }) {\n if (child != null)\n child.hitTest(result, position: position); //递归子RenderBox进行命中测试\n result.add(HitTestEntry(this)); //将测试结果添加到result中\n return true;\n}\n\n我们再看看RenderBox默认的hitTest()实现:\nbool hitTest(HitTestResult result, { @required Offset position }) {\n ... \n if (_size.contains(position)) {\n if (hitTestChildren(result, position: position) || hitTestSelf(position)) {\n result.add(BoxHitTestEntry(this, position));\n return true;\n }\n }\n return false;\n}\n\n我们看到默认的实现里调用了hitTestSelf()和hitTestChildren()两个方法,这两个方法默认实现如下:\n\n@protected\nbool hitTestSelf(Offset position) => false;\n\n@protected\nbool hitTestChildren(HitTestResult result, { Offset position }) => false;\n\nhitTest 方法用来判断该 RenderObject 是否在被点击的范围内,同时负责将被点击的 RenderBox 添加到 HitTestResult 列表中,参数 position 为事件触发的坐标(如果有的话),返回 true 则表示有 RenderBox 通过了命中测试,需要响应事件,反之则认为当前RenderBox没有命中。在继承RenderBox时,可以直接重写hitTest()方法,也可以重写 hitTestSelf() 或 hitTestChildren(), 唯一不同的是 hitTest()中需要将通过命中测试的节点信息添加到命中测试结果列表中,而 hitTestSelf() 和 hitTestChildren()则只需要简单的返回true或false。\n语义化\n语义化即Semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解UI内容。如果一个RenderObject要支持语义化接口,可以实现 describeApproximatePaintClip和 visitChildrenForSemantics方法和semanticsAnnotator getter。更多关于语义化的信息可以查看API文档。\n总结\n本节我们介绍了RenderObject主要的功能和方法,理解这些内容可以帮助我们更好的理解Flutter UI底层原理。我们也可以看到,如果要从头到尾实现一个RenderObject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在Widget层通过组合或者CustomPaint完成自定义UI。如果遇到只能定义一个新RenderObject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自RenderBox,这样可以帮我们减少一部分工作。\n"},"chapter14/flutter_app_startup.html":{"url":"chapter14/flutter_app_startup.html","title":"Flutter从启动到显示","keywords":"","body":"Flutter运行机制-从启动到显示\nFlutter的入口在\"lib/main.dart\"的main()函数中,它是Dart应用程序的起点。在Flutter应用中,main()函数如下:\nvoid main() {\n runApp(MyApp());\n}\n\n可以看main()函数只调用了一个runApp()方法,我们看看runApp()方法中都做了什么:\nvoid runApp(Widget app) {\n WidgetsFlutterBinding.ensureInitialized()\n ..attachRootWidget(app)\n ..scheduleWarmUpFrame();\n}\n\n参数app是一个Widget,它是Flutter应用启动后要展示的第一个Widget。而WidgetsFlutterBinding正是绑定Widget 框架和Flutter engine的桥梁,定义如下:\nclass WidgetsFlutterBinding extends BindingBase with GestureBinding, ServicesBinding, SchedulerBinding, PaintingBinding, SemanticsBinding, RendererBinding, WidgetsBinding {\n static WidgetsBinding ensureInitialized() {\n if (WidgetsBinding.instance == null)\n WidgetsFlutterBinding();\n return WidgetsBinding.instance;\n }\n}\n\n可以看到WidgetsFlutterBinding继承自 BindingBase 并混入了很多Binding,在介绍这些Binding之前我们先介绍一下Window对象。我们看看Window的官方解释:\n\nThe most basic interface to the host operating system's user interface.\n\n很明显,Window正是Flutter Framework连接宿主操作系统的接口。我们看一下Window类的部分定义:\nclass Window {\n\n // 当前设备的DPI,即一个物理相许显示多少逻辑像素,数字越大,显示效果就越精细保真。\n // DPI是设备屏幕的固件属性,如Nexus 6的屏幕DPI为3.5 \n double get devicePixelRatio => _devicePixelRatio;\n\n // Flutter UI绘制区域的大小\n Size get physicalSize => _physicalSize;\n\n // 当前系统默认的语言Locale\n Locale get locale;\n\n // 当前系统字体缩放比例。 \n double get textScaleFactor => _textScaleFactor; \n\n // 当绘制区域大小改变回调\n VoidCallback get onMetricsChanged => _onMetricsChanged; \n // Locale发生变化回调\n VoidCallback get onLocaleChanged => _onLocaleChanged;\n // 系统字体缩放变化回调\n VoidCallback get onTextScaleFactorChanged => _onTextScaleFactorChanged;\n // 绘制前回调,一般会受显示器的垂直同步信号VSync驱动,当屏幕刷新时就会被调用\n FrameCallback get onBeginFrame => _onBeginFrame;\n // 绘制回调 \n VoidCallback get onDrawFrame => _onDrawFrame;\n // 点击或指针事件回调\n PointerDataPacketCallback get onPointerDataPacket => _onPointerDataPacket;\n // 调度Frame,该方法执行后,onBeginFrame和onDrawFrame将紧接着会在合适时机被调用,\n // 此方法会直接调用Flutter engine的Window_scheduleFrame方法\n void scheduleFrame() native 'Window_scheduleFrame';\n // 更新应用在GPU上的渲染,此方法会直接调用Flutter engine的Window_render方法\n void render(Scene scene) native 'Window_render';\n\n // 发送平台消息\n void sendPlatformMessage(String name,\n ByteData data,\n PlatformMessageResponseCallback callback) ;\n // 平台通道消息处理回调 \n PlatformMessageCallback get onPlatformMessage => _onPlatformMessage;\n\n ... //其它属性及回调\n\n}\n\n可以看到Window类包含了当前设备和系统的一些信息以及Flutter Engine的一些回调。现在我们再回来看看WidgetsFlutterBinding混入的各种Binding。通过查看这些 Binding的源码,我们可以发现这些Binding中基本都是监听并处理Window对象的一些事件,然后将这些事件按照Framework的模型包装、抽象然后分发。可以看到WidgetsFlutterBinding正是粘连Flutter engine与上层Framework的”胶水“。\n\nGestureBinding:提供了window.onPointerDataPacket 回调,绑定Framework手势子系统,是Framework事件模型与底层事件的绑定入口。\nServicesBinding:提供了window.onPlatformMessage 回调, 用于绑定平台消息通道(message channel),主要处理原生和Flutter通信。\nSchedulerBinding:提供了window.onBeginFrame和window.onDrawFrame回调,监听刷新事件,绑定Framework绘制调度子系统。\nPaintingBinding:绑定绘制库,主要用于处理图片缓存。\nSemanticsBinding:语义化层与Flutter engine的桥梁,主要是辅助功能的底层支持。\nRendererBinding: 提供了window.onMetricsChanged 、window.onTextScaleFactorChanged 等回调。它是渲染树与Flutter engine的桥梁。\nWidgetsBinding:提供了window.onLocaleChanged、onBuildScheduled 等回调。它Flutter Widget层与engine的桥梁。\n\nWidgetsFlutterBinding.ensureInitialized()负责初始化一个WidgetsBinding的全局单例,紧接着会调用WidgetsBinding的attachRootWidget方法,该方法负责将根Widget添加到RenderView上,代码如下:\nvoid attachRootWidget(Widget rootWidget) {\n _renderViewElement = RenderObjectToWidgetAdapter(\n container: renderView, \n debugShortDescription: '[root]',\n child: rootWidget\n ).attachToRenderTree(buildOwner, renderViewElement);\n}\n\n注意,代码中的有renderView和renderViewElement两个变量,renderView是一个RenderObject,它是渲染树的根,而renderViewElement是renderView对应的Element对象,可见该方法主要完成了 根Widget 到根 RenderObject再到更Element的整个关联过程。我们看看attachToRenderTree的源码实现:\nRenderObjectToWidgetElement attachToRenderTree(BuildOwner owner, [RenderObjectToWidgetElement element]) {\n if (element == null) {\n owner.lockState(() {\n element = createElement();\n assert(element != null);\n element.assignOwner(owner);\n });\n owner.buildScope(element, () {\n element.mount(null, null);\n });\n } else {\n element._newWidget = this;\n element.markNeedsBuild();\n }\n return element;\n}\n\n该方法负责创建根 Element,即 RenderObjectToWidgetElement,并且将 Element 与 Widget 进行关联,即创建出 WidgetTree 对应的 ElementTree。如果 Element 已经创建过了,则将根 Element 中关联的 Widget 设为新的,由此可以看出 Element 只会创建一次,后面会进行复用。那么BuildOwner是什么呢?其实他就是Widget framework的管理类,它跟踪哪些Widget需要重新构建。\n渲染\n回到runApp的实现中,当调用完attachRootWidget后,最后一行会调用 WidgetsFlutterBinding 实例的 scheduleWarmUpFrame() 方法,该方法的实现在 SchedulerBinding 中,它被调用后会立即进行一次绘制(而不是等待\"Vsync\" 信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前Flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是scheduleWarmUpFrame() 方法的部分实现(省略了无关代码):\nvoid scheduleWarmUpFrame() {\n ...\n Timer.run(() {\n handleBeginFrame(null); \n });\n Timer.run(() {\n handleDrawFrame(); \n resetEpoch();\n });\n // 锁定事件\n lockEvents(() async {\n await endOfFrame;\n Timeline.finishSync();\n });\n ...\n}\n\n可以看到该方法中主要调用了handleBeginFrame() 和 handleDrawFrame() 两个方法,在看这两个方法之前我们首先了解一下 Frame 和c 的概念:\n\nFrame: 一次绘制过程,我们称其为一帧。Flutter engine受显示器垂直同步信号\"VSync\"的趋势不断的触发绘制。我们之前说的Flutter可以实现60fps(Frame Per-Second),就是指一秒钟可以触发60次重绘,FPS值越大,界面就越流畅。\n\nFrameCallback:SchedulerBinding 类中有三个FrameCallback回调队列, 在一次绘制过程中,这三个回调队列会放在不同时机被执行:\n\ntransientCallbacks:用于存放一些临时回调,一般存放动画回调。可以通过SchedulerBinding.instance.scheduleFrameCallback 添加回调。\npersistentCallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。SchedulerBinding.instance.addPersitentFrameCallback(),这个回调中处理了布局与绘制工作。\npostFrameCallbacks:在Frame结束时只会被调用一次,调用后会被系统移除,可由 SchedulerBinding.instance.addPostFrameCallback() 注册,注意,不要在此类回调中再触发新的Frame,这可以会导致循环刷新。\n\n\n\n现在请读者自行查看handleBeginFrame() 和 handleDrawFrame() 两个方法的源码,可以发现前者主要是执行了transientCallbacks队列,而后者执行了 persistentCallbacks 和 postFrameCallbacks 队列。\n绘制\n渲染和绘制逻辑在RenderBinding 中实现,查看其源发,发现在其initInstances()方法中有如下代码:\nvoid initInstances() {\n ... //省略无关代码\n\n //监听Window对象的事件 \n ui.window\n ..onMetricsChanged = handleMetricsChanged\n ..onTextScaleFactorChanged = handleTextScaleFactorChanged\n ..onSemanticsEnabledChanged = _handleSemanticsEnabledChanged\n ..onSemanticsAction = _handleSemanticsAction;\n\n //添加PersistentFrameCallback \n addPersistentFrameCallback(_handlePersistentFrameCallback);\n}\n\n我们看最后一行,通过addPersistentFrameCallback 向persistentCallbacks队列添加了一个回调 _handlePersistentFrameCallback:\nvoid _handlePersistentFrameCallback(Duration timeStamp) {\n drawFrame();\n}\n\n该方法直接调用了RenderBinding的drawFrame()方法:\nvoid drawFrame() {\n assert(renderView != null);\n pipelineOwner.flushLayout(); //布局\n pipelineOwner.flushCompositingBits(); //重绘之前的预处理操作,检查RenderObject是否需要重绘\n pipelineOwner.flushPaint(); // 重绘\n renderView.compositeFrame(); // 将需要绘制的比特数据发给GPU\n pipelineOwner.flushSemantics(); // this also sends the semantics to the OS.\n}\n\n我们看看这些方法分别做了什么:\nflushLayout()\nvoid flushLayout() {\n ...\n while (_nodesNeedingLayout.isNotEmpty) {\n final List dirtyNodes = _nodesNeedingLayout;\n _nodesNeedingLayout = [];\n for (RenderObject node in \n dirtyNodes..sort((RenderObject a, RenderObject b) => a.depth - b.depth)) {\n if (node._needsLayout && node.owner == this)\n node._layoutWithoutResize();\n }\n }\n } \n}\n\n源码很简单,该方法主要任务是更新了所有被标记为“dirty”的RenderObject的布局信息。主要的动作发生在node._layoutWithoutResize()方法中,该方法中会调用performLayout()进行重新布局。\nflushCompositingBits()\nvoid flushCompositingBits() {\n _nodesNeedingCompositingBitsUpdate.sort(\n (RenderObject a, RenderObject b) => a.depth - b.depth\n );\n for (RenderObject node in _nodesNeedingCompositingBitsUpdate) {\n if (node._needsCompositingBitsUpdate && node.owner == this)\n node._updateCompositingBits(); //更新RenderObject.needsCompositing属性值\n }\n _nodesNeedingCompositingBitsUpdate.clear();\n}\n\n检查RenderObject是否需要重绘,然后更新RenderObject.needsCompositing属性,如果该属性值被标记为true则需要重绘。\nflushPaint()\nvoid flushPaint() {\n ...\n try {\n final List dirtyNodes = _nodesNeedingPaint; \n _nodesNeedingPaint = [];\n // 反向遍历需要重绘的RenderObject\n for (RenderObject node in \n dirtyNodes..sort((RenderObject a, RenderObject b) => b.depth - a.depth)) {\n if (node._needsPaint && node.owner == this) {\n if (node._layer.attached) {\n // 真正的绘制逻辑 \n PaintingContext.repaintCompositedChild(node);\n } else {\n node._skippedPaintingOnLayer();\n }\n }\n }\n } \n}\n\n该方法进行了最终的绘制,可以看出它不是重绘了所有 RenderObject,而是只重绘了需要重绘的 RenderObject。真正的绘制是通过PaintingContext.repaintCompositedChild()来绘制的,该方法最终会调用Flutter engine提供的Canvas API来完成绘制。\ncompositeFrame()\nvoid compositeFrame() {\n ...\n try {\n final ui.SceneBuilder builder = ui.SceneBuilder();\n final ui.Scene scene = layer.buildScene(builder);\n if (automaticSystemUiAdjustment)\n _updateSystemChrome();\n ui.window.render(scene); //调用Flutter engine的渲染API\n scene.dispose(); \n } finally {\n Timeline.finishSync();\n }\n}\n\n这个方法中有一个Scene对象,Scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将Canvas画好的Scene传给window.render()方法,该方法会直接将scene信息发送给Flutter engine,最终又engine将图像画在设备屏幕上。\n最后\n需要注意的是:由于RenderBinding只是一个mixin,而with它的是WidgetBinding,所以我们需要看看WidgetBinding中是否重写该方法,查看WidgetBinding的drawFrame()方法源码:\n@override\nvoid drawFrame() {\n ...//省略无关代码\n try {\n if (renderViewElement != null)\n buildOwner.buildScope(renderViewElement); \n super.drawFrame(); //调用RenderBinding的drawFrame()方法\n buildOwner.finalizeTree();\n } \n}\n\n我们发现在调用RenderBinding.drawFrame()方法前会调用 buildOwner.buildScope() (非首次绘制),该方法会将被标记为“dirty” 的 Element 进行 rebuild() 。\n总结\n本节介绍了Flutter APP从启动到显示到屏幕上的主流程,读者可以结合前面章节对Widget、Element以及RenderObject的介绍来加强细节理解。\n"}}} \ No newline at end of file +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["为了更好的方便帮助中国开发者了解这门新技术,我们,flutter中文网,前后发起了flutter翻译计划、flutter开源计划,前者主要的任务是翻译flutter官方文档,后者则主要是开发一些常用的包来丰富flutter生态,帮助开发者提高开发效率。而时至今日,这两件事取得的效果还都不错!","之前,有很多次被没用过flutter但对其保持好奇的开发者问到”flutter的性能究竟怎样?“,”开发体验真的好吗?“这类问题。当时之所以会有很多这样的问题,主要的原因就是那时flutter的成功案例太少,虽然国内闲鱼是第一个引入flutter的商业应用,但初期也只是在很少的页面使用了flutter,flutter究竟能否适合用于完整项目缺乏考验。那时,我就想如果能用flutter开发一个完整的app发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下flutter的流畅度,这样有个直观的了解后,就会容易做出判断,为此,我开发了gitme,它是一个github客户端,它支持了源码浏览、issue、label等github的大多数功能。到目前为止,通过gitme登录过github账号的用户有5000多,日活用户有500。更重要的是,有很多人正是用了gitme后,才来学flutter的。","在全球,随着flutter被越来越多的知名公司应用在自己的商业app中,flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当google在2018年io大会上发布了第一个preview版本后,国内刮起来一股学习flutter的热潮。","如果只靠我一个人,也只能等我有空了才能写,但是今年实在是太忙了!当然,还是有一些方法可以加快进度,比如大家一起来写,本书已经开源,有志之士都可以提pr,然后需要做好的就是review和校稿;当然还有一个不能保证一定有用的办法就是点击下面的”打赏“按钮,然后发一个大红包,这样作者拿了钱,说不定会不好意思慢慢吞吞的写,毕竟是收了钱的,哈哈。","我们虽然翻译了官方文档,但是对于海量的sdk文档,基本很难去全部翻译。而那时,电子工业出版社正好找到了我,希望我能写一本flutter实战类的书籍。","最后再说一下为什么本书要开源。既然是电子工业出版社约的稿,就这么公开,难道将来就不会冲击实体书的销量?这个问题我是仔细考虑过的,很多写过书的人可能都知道,写技术书是不赚钱的,能收获的也就是一点点名气,而我吧却只喜欢钱,既然赚不到钱,那何不直接公开得了…当然还有另外一个原因就是要做实体书的话,最后和编辑校稿会花费很多时间,可是我实在是没时间了,很可能会放弃实体书出版,为了防止本书最后因不能正常出版而不能被大家看到,所以最终决定了开源。","最后,如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提pr。如果您想一起参与本书创作,可以参考《flutter实战》贡献指南。","最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。","目前,flutter中文官网日pv在5w左右,每日独立访问人数8000多。","缘起","自今年我们在github建立官方账号以来,前后开源了cookiejar、dio、flukit等多个项目,而dio在开源两周后,就迅速成为flutter第三方包中star排名第一的开源库。","虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。","这个想法听起来不错,书最大的好处就是可以系统性的介绍一门新技术,但由于我平时工作太忙,周末时间已经有很多花费在维护中文网和开源项目上了,所以此事不得不推迟,而直到今天,你现在看到的,也仍然不是完整的内容,目录灰色的部分都还没有写,那什么时候能写完?","随着学习flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时有些吃力,而这主要的原因是没有一个资料去系统的学习flutter。"],"chapter1/":["dart语言简介","flutter简介","搭建flutter开发环境","本章目录","移动开发技术简介","起步"],"chapter1/mobile_development_intro.html":["(android)或wkwebview(ios)来加载(以后若无特殊说明,我们用webview来统一指代android和ios中的网页加载控件)。这样一来,h5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在android和ios两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发","(dwebview)","(简称rn)是facebook于2015年4月开源的跨平台移动应用开发框架,是facebook早先开源的js框架","...","//dwebview继承自webview,由dsbridge提供","//打印机型","//注册原生api到jsbridg","//直接调用原生api","100","2017","2018年2月,flutter发布了第一个beta版本,同年五月,","2018年6月,flutter发布了首个预览版本,这意味着","27k","3","3.1.0正式发布,实现了对于ios的完全支持,新增winrt、beautifier等插件,废弃了无python接口的gdb调试支持,集成了基于clang的c/c++代码模块,并对android支持做出了调整,至此实现了全面支持ios、android、wp,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,qt虽然在pc端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到qt的声音,但一直很弱,无论qt本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:","@javascriptinterfac","`getphonemodel`","aot模式编译的,所以不支持动态化,但dart还有jit或snapshot运行方式,这些模式都是支持动态化的,后续会介绍。","api。比如android原生应用就是指使用java或kotlin语言直接调用android","app","beta","bridge,","build.model;","class","company开发的跨平台c++图形用户界面应用程序开发框架。2008年,qt","company科技被诺基亚公司收购,qt也因此成为诺基亚旗下的编程语言工具。2012年,qt被digia收购。2014年4月,跨平台集成开发环境qt","console.log(model);","cordova、ion","creator","c或swift语言直接调用io","dom树与控件树","dsbridge=require(\"dsbridge\")","dsbridge项目主页查看。","dsl","dwebview","dwebview.addjavascriptobject(new","dwebview=","findviewbyid(r.id.dwebview);","flutter","flutter是google发布的一个用于创建跨平台、高性能移动应用的框架。flutter和qt","flutter简介","flutter高,","getphonemodel","getphonemodel(object","github","googl","h5+原生","h5+原生混合开发","h5+原生(cordova、ionic、微信小程序)","hybrid技术简介","i/o","import","issue中找到答案。","javascript","javascript+原生渲染","javascriptcor","javascript为脚本语言,执行时需要jit,执行效率和aot代码仍有差距。","javascript开发+原生渲染","javascript开发+原生渲染的方式主要优点如下:","javascript开发+原生渲染的跨平台框架原理。","jsapi(),","jsapi{","jsbridge,它也是混合开发框架的核心。","jsx","mobile、flutter)","mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,qt","mobile做一个对比:","mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看flutter诞生过程:","mobile面对的问题flutter是否也一样,flutter会不会步入qt","moblie与flutt","model=dsbridge.call(\"getphonemodel\");","model,简称dom),是w3c组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个html或xml文档的标准接口。简单来说,dom就是文档树,与用户界面控件树对应,在前端开发中通常指html对应的渲染树,但广义的dom也可以指android中的xml布局文件对应的控件树,而术语dom操作就是指直接来操作渲染树(或控件树),","msg){","nativ","native、weex、快应用)","native中主要有两个作用:","native只支持jsx语法。","native和weex","native和weex的渲染/排版引擎是集成到框架中的,每一个app都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到rom中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。","native和weex相比主要有两点不同:","native是web开发技术栈,也只需维护一份代码,同样是跨平台框架。","native是原生控件渲染,所以性能会比混合应用中h5好很多,同时react","native类似,最大的不同是语法层面,weex支持vue语法和rax语法,rax","null);","object","public","qt","qt、flutter","qt低","qt是一个1991年由qt","qt简介","rax","react","react中提出一个重要思想:状态改变则ui随之自动改变,而react框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下react中响应式原理:","react框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过diff算法,计算出树中变化的部分,然后只更新变化的部分(dom操作),从而避免整棵树重构,提高性能。","return","rn、weex","sdk开发的应用程序。原生开发有以下主要优势:","sdk开发的应用程序;而ios原生应用就是指通过object","star","star。而今天(2018年8月16日),已经有35k的star。经历了短短一年多的时间,flutt","ui渲染方式","var","webview渲染","weex","weex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和react","wendu.dsbridge.dwebview","}","“千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了!","✔️","。","一般","上文已经提到react","上表中开发语言主要指ui的开发语言,动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是flutter的release包默认是使用dart","上面示例演示了javascript调用原生api的过程,同样的,一般来说优秀的jsbridge也支持原生调用javascript,dsbridge也是支持的,如果您感兴趣,可以去github","下面我们以android为例,实现一个获取手机型号的原生api供javascript调用。在这个示例中将展示javascript调用原生api的流程,读者可以直观的感受一下调用流程。我们选用笔者在github上开源的dsbridge作为jsbridge来进行通信。dsbridge是一个支持同步调用的跨平台的jsbridge,此示例中只使用其同步调用功能。","不同,在","不足:","业务需求变化快,开发成本变大;由于原生开发一般都要维护android、ios两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。","中","为javascript提供运行环境。","主要缺点:","也许你已经猜到flutter就属于这一类跨平台技术,没错,flutter正是实现一套自绘引擎,并拥有一套自己的ui布局系统。不过,自绘制引擎的思路并不是什么新概念,flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的qt。","但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:","便实现了跨平台。","值得注意的是,在第二步中,状态变化后react框架并不会立即去计算并渲染dom树的变化部分,相反,react会在dom的基础上建立一个抽象层,即虚拟dom树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟dom,最后再批量同步到真实dom中,而不是每次改变都去操作一下dom。为什么不能每次改变都直接去操作dom树?这是因为在浏览器中每一次dom操作都有可能引起浏览器的重绘或回流:","内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;","动态化","动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。","动态化较好,支持热更新。","动态性不足;为了保证ui绘制性能,自绘ui系统一般都会采用aot模式编译其发布包,所以应用发布后,不能像hybrid和rn那些使用javascript(jit)作为开发语言的框架那样动态下发代码。","原生应用程序是指某一个移动平台(比如ios或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的sdk","原生开发","原生开发与跨平台技术","原生控件渲染","原生根据布局信息通过对应的原生控件渲染控件树;","原生渲染,性能相比h5提高很多。","可访问平台全部功能(gps、摄像头);","名,已有","和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。","响应式编程","因此,可以看到其实dom树和控件树是等价的概念,只不过前者常用语web开发中,而后者常用于原生开发中。","在2018年googl","在javascript中调用原生api","在原生移动应用平台的衍生产物,目前支持ios和android两个平台。rn使用javascript语言,类似于html的jsx,以及css来开发移动应用,因此熟悉web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。","在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟dom映射的对象是什么?react中虚拟dom最终会映射为浏览器dom树,而rn中虚拟dom会通过","在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。","在本篇中,我们看看最后一种跨平台技术:自绘ui+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制ui,而不依赖系统原生控件,所以可以做到不同平台ui的一致性。注意,自绘引擎解决的是ui的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下:","在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。","基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!","基于此四点,尽管qt是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。","大会上,flutter","大会上,googl","好","如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在webview中,而webview实质上就是一个浏览器内核,其javascript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于h5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的api,","如果dom只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。","如果dom树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。","将原生api通过webview注册到jsbridge中","将虚拟dom布局信息传递给原生;","布局消息传递;","平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;","年","开发效率","开发效率;flutter的热重载可帮助开发者快速地进行测试、构建ui、添加功能并更快地修复错误。在ios和android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。","开发者只需关注状态转移(数据),当状态发生变化,react框架会自动根据新的状态重新构建ui。","快应用","快应用是华为、小米、oppo、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用javascript语言开发,原生控件渲染,与react","快应用自身不支持vue或react语法,其采用原生javascript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用vue语法开发(mpvue),从原理上来讲,vue的语法也可以移植到快应用上。","思考题:diff操作和dom批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适?","性能","性能高;由于自绘引擎是直接调用系统api来绘制ui,所以性能和原生控件接近。","总结","总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。","技术支持;现在google正在大力推广flutter,flutter的作者中很多人都是来自chromium团队,并且github上活跃度很高。另一个角度,从今年上半年flutter频繁的版本发布也可以看出google对flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。","技术类型","排行榜前","文档对象模型(document","映射为原生控件树。","是javascript与原生应用之间通信的桥梁,作用和jsbridge一样,事实上,在ios中,很多jsbridge的实现都是基于","是react","是一个javascript解释器,它在react","是使用","是必选的,它不支持通过其它方式创建组件,所以学习","更新到了","本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:","本章总结","本篇主要介绍一下","框架代表","此处需要有一张插图","混合应用的优点是动态内容是h5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。","混合开发技术点","渲染时需要javascript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。","灵活、组件库易维护、ui外观保真度和一致性高;由于ui渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。","然后暴露给webview以供javascript调用,这样一来,webview就成为了javascript与原生api之间通信的桥梁,主要负责javascript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于webview的用于在javascript与原生之间通信并实现了某种消息传输协议的工具称之为webview","版本。","现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列api供javascript调用,让javascript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。","现在,我们来和qt","生态系统得以快速增长,由此可见,flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!","生态;从github上来看,目前flutter活跃用户正在高速增长。从stackoverflow上提问来看,flutter社区现在已经很庞大。flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在stackoverflow或其github","由于rn和react原理相通,并且flutter也是受react启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下react原理。react是一个响应式的web框架,我们先了解一下两个重要的概念:dom树与响应式编程。","由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生ui系统限制,例如,在android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。","的","的必要基础。而react","目前混合开发框架的典型代表有:cordova、ion","相对于混合应用,由于react","示例:javascript调用原生api获取手机型号","移动开发技术简介","第一:qt移动开发社区太小,学习资料不足,生态不好。","第三:移动端发力较晚,市场已被其它动态化框架占领(hybrid和rn)。","第二:官方推广不利,支持不够。","第四:在移动开发中,c++开发和web开发栈相比有着先天的劣势,直接结果就是qt开发效率太低。","简称","而rn中将虚拟dom映射为原生控件的过程中分两步:","而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对dom进行操作,这会带来性能问题,而批量操作只会触发一次dom更新。","自绘ui+原生","自绘ui+原生(qt","至此,react","观其发展,在2018年5月份,flutter","语法是基于","语法而创造。与","调用系统api渲染","跨平台技术简介","这类框架主要原理就是将app的一部分需要动态变动的内容通过h5来实现,通过原生的网页加载控件webview","进入了","进入了正式版(1.0)发布前的最后阶段。","速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;","采用web开发技术栈,社区庞大、上手快、开发成本相对较低。","针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指android和ios两个平台),根据其原理,主要分为三类:","首先在原生中实现获取手机型号的api","首次推出了一款新的用于创建跨平台、高性能的移动应用框架——flutter。","高","默认不支持","(react",",如果一个应用的大多数功能都是h5实现的话,我们称其为web",",采用混合模式开发的app我们称之为混合应用或hybrid"],"chapter1/flutter_intro.html":["android平台。","aot模式运行时,javascript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,flutter使用自己的渲染引擎来绘制ui,布局数据等由dart语言直接控制,所以在布局过程中不需要像rn那样要在javascript和native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以javascript需要和native之间不停的同步布局信息,这和在浏览器中要javascript频繁操作dom所带来的问题是相同的,都会带来比较可观的性能开销。","aot,当以","app的android安装包比ios安装包小的主要原因。","app采用dart语言开发。dart在","app,一套代码同时运行在","c++实现的","chrome浏览器和android均采用skia作为其绘图引擎,值得一提的是,由于android系统已经内置了skia,所以flutter在打包apk(android应用安装包)时,不需要再将skia打入apk中,但ios系统并未内置skia,所以构建ipa时,也必须将skia一起打包,这也是为什么flutt","dart:ui库时,调用最终会走到engine层,然后实现真正的绘制逻辑。","dart团队就在你身边","dart实现的","dart支持","dart而不是","dart语言开发","dart运行时和编译器支持flutter的两个关键特性的组合:","engin","flutter","flutter与用于构建移动应用程序的其它大多数框架不同,因为flutter既不使用webview,也不使用操作系统的原生控件。","flutter中文网社区:flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。","flutter使用skia作为其2d渲染引擎,skia是google的一个2d图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,skia是跨平台的,并提供了非常友好的api,目前googl","flutter在发布时可以通过aot生成高效的arm代码以保证应用性能。而javascript则不具有这个能力。","flutter提供了丰富的组件、接口,开发者可以很快地为","flutter旨在提供流畅、高保真的的ui体验。为了实现这一点,flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而dart支持aot,在这一点上可以做的比javascript更好。","flutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,flutter将无法有效地工作。当然chrom","flutter框架本身有着良好的分层设计,本节旨在让读者对flutter整体框架有个大概的印象,相信到现在为止,读者已经对flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下flutter的开发语言dart。","flutter框架结构","flutter添加","flutter简介","flutter还使用","flutter高性能主要靠两点来保证,首先,flutt","framework","gallery源码:gallery是flutter官方示例app,里面有丰富的示例,读者可以在网上下载安装。gallery的源码在flutter源码“examples”目录下。","github:如果遇到的问题在stackoverflow上也没有找到答案,可以去github","google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过","io","javascript之前我们先来介绍两个概念:jit和aot。","javascript基本持平。但是","jit(即时编译)模式下,速度与","materi","native引擎渲染视图,这无疑能为用户提供良好的体验。","native扩展。同时","rendering层,这一层是一个抽象的布局层,它依赖于dart","sdk的源码是开源的,并且注释非常详细,也有很多示例,实际上,flutter官方的sdk文档就是通过注释生成的。源码结合注释可以帮你解决大多数问题。","sdk,其中包括了","sdk,它实现了一套基础库,自底向上,我们来简单介绍一下:","skia引擎、dart运行时、文字排版引擎等。在代码调用","stackoverflow:如果你还没听过stackoverflow,这是目前全球最大的程序员问答社区,现在也是活跃度最高的flutter问答社区。stackoverflow上面除了世界各地的flutter使用者会在上面交流之外,flutter开发团队的成员也经常会在上面回答问题。","time)即","time)即“即时编译”。aot程序的典型代表是用c/c++开发的应用,它们必须在执行前编译成机器码,而jit的代表则非常多,如javascript、python等,事实上,所有脚本语言都支持jit模式。但需要注意的是jit和aot指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以jit方式运行也可以以aot方式运行,如java、python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为aot的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于aot。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。","ui层,rendering层会构建一个ui树,当ui树有变化时,会计算出有变化的部分,然后更新ui树,最终将ui树绘制到屏幕上,这个过程类似于react中的虚拟dom。rendering层可以说是flutt","ui层,对应的是flutter中的dart:ui包,它是flutter引擎暴露的底层ui库,提供动画、手势及绘制能力。","ui框架最核心的部分,它除了确定每个ui元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。","v8的javascript引擎在内存分配上也已经做的很好,事实上dart开发团队的很多成员都是来自chrome团队的,所以在内存分配上dart并不能作为超越javascript的优势,而对于flutter来说,它需要这样的特性,而dart也正好满足而已。","vm之前已经针对吞吐量进行了优化,但团队现在正在优化vm的延迟时间,这对于flutter的工作负载更为重要。”","widgets层是flutter提供的的一套基础组件库,在基础组件库之上,flutter还提供了","“提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为jit(just","初识flutter","和","和cupertino两种视觉风格的组件库。而我们flutter开发的大多数场景,只是和这两层打交道。","基于aot的发布包:","基于jit的快速开发周期:flutter在开发阶段采用,采用jit模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;","如何学习flutter","官网:阅读flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新flutter发展动态的地方,由于目前flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。","底下两层(foundation和animation、painting、gestures)在google的一些视频中被合并为一个dart","开发效率高","快速内存分配","总结","掘金:掘金的flutter主页目前也收集了不少的博客文章,读者可以自行浏览。","是","有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入flutter的世界!","本节主要介绍了一下flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对flutter细节的了解,再回过头来看,相信你会有更深的体会。","本节我们先对flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下flutter官方提供的一张框架图:","本节给大家一些学习建议,分享一下笔者在学习flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。","源码及注释:源码注释应作为学习flutter的第一文档,flutt","现在我们看看flutter为什么选择dart语言?笔者根据官方解释以及自己对flutter的理解总结了以下几条(由于其它跨平台框架都将javascript作为其开发语言,所以主要将dart和javascript做一个对比):","由于dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,javascript是一个弱类型语言,也因此前端社区出现了很多给javascript代码添加静态类型检测的扩展语言和工具,如:微软的typescript以及facebook的flow。相比之下,dart本身就支持静态类型,这是它的一个重要优势。","目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为aot","相反,flutter使用自己的高性能渲染引擎来绘制widget。这样不仅可以保证在android和ios上ui的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。","看似不起眼,实则举足轻重。由于有dart团队的积极投入,flutter团队可以获得更多、更方便的支持,正如flutter官网所述“我们正与dart社区进行密切合作,以改进dart在flutter中的使用。例如,当我们最初采用dart时,该语言并没有提供生成原生二进制文件的工具链(这对于实现可预测的高性能具有很大的帮助),但是现在它实现了,因为dart团队专门为flutter构建了它。同样,dart","社区","类型安全","资源","跨平台自绘引擎","这是一个很有意思,但也很有争议的问题,在了解flutter为什么选择了","这是一个纯","采用dart语言开发","项目下提issue。","高性能","(ahead"],"chapter1/install_flutter.html":["$home/.bash_profil","$home/.bash_profile。文件路径和文件名可能在你的电脑上不同.","$path","'you","(64","(`cmd","(cmd","(git命令行工具);","(macos:preferences>plugins,","(不包括android","(不包括xcode或android","(如","(如myapp),","(带有闪电⚡️图标的按钮)。","(绿色圆形箭头按钮)。","(输入代码时进行验证、代码补全等)。","(运行、调试、热重载等)。","*","**save**","**热重载按钮**",".","/","/applications/xcode.app/contents/develop","1.","16)或更高版本的android设备.","2.","2.0","3.","4.","4.1(api","400","5.0","5s或更高版本)。","7","700","9.0或更新版本(通过链接下载或苹果应用商店).","9.0或更高版本:",";",">","[","]","`'you","`ctrl","action","action。","adb","android","android_hom","android设置","applic","archive/#maco","archive/#window","avds.","bash、mkdir、rm、git、curl、unzip、which","beta","beta.zip","bit)","brew","brows","built","bundl","button","cd","channel","channels:","channel查看所有分支,如笔者本地运行后,结果如下:","click","cocoapod","code","code。","code之一以获得更好的开发体验。flutter官方提供了这两款编辑器插件,通过ide和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下android","code是一个轻量级编辑器,支持flutter运行和调试。","code的配置与使用","code的配置及使用(android","code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。","command","creat","ctrl","d:\\android\\sdk","dart插件:","deploy","detail","dev","develop","devic","device.","doctor","doctor’","doctor命令","doctor命令来验证是否安装成功。","doctor并按照说明解决问题.","doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutt","download","echo","export","extens","extensions:","file>new","files\\)。","finish。","flutter","flutter\\bin","flutter\\bin的全路径,使用","flutter_storage_base_url=https://storage.flutt","flutter依赖于android","flutter插件:","gener","get获取项目所有的依赖包。","git","github项目下去下载安装包,地址:https://github.com/flutter/flutter/releas","gle","hardwar","head","homebrew","https://flutter.io/setup/#android","https://goo.gl/xxqghq","idea。","idea开发的,所以读者也可以使用intellij","ident","identifi","ideviceinstal","ide配置与使用","id登录xcode。","id都支持开发和测试,但若想将应用分发到app","imag","instal","install。","instructions.","io","io.cn","ios/runner.xcworkspac","level","lib/main.dart。","libimobiledevic","license同意过了.","line","maco","manag","manager”中,点击工具栏的","mani","master","master,flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。","mb","miss","myapp),然后点击","new","next.","next。","open","packag","palette…","palette…。","path","path=[flutter_install_path]/flutter/bin:$path","path=`pwd`/flutter/bin:$path","path=~/code/flutter_dir/flutter/bin:$path","performance”下,","platform","pod","powershel","project","project’","pub_hosted_url=https://pub.flutt","push","re","reload)","repositories…,选择","run","run。","run。模拟器启动并显示所选操作系统版本或设备的启动画面。","run启动flutter应用程序。","run图标。","s","s),","s`","s`),或者点击","save","scale","sdk","sdk,","sdk、android","sdk分支","sdk和io","sdk和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括flutt","sdk和依赖包","sdk已经在打包在flutter","sdk平台工具和android","sdk有多个分支,如beta、dev、master,其中beta分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装flutter后,你可以运行flutt","sdk构建工具,这些是用flutter进行android开发所需要的。","sdk版本是基于你的","sdk的安装,然后再介绍一下配ide和模拟器的使用。","sdk的目录记为“flutter_install_path”,您将在步骤3中用到。","sdk的路径(如:c:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如c:\\program","sdk里了,没有必要单独安装dart。","sdk),可以使用如下命令:","sdk,则必须将该","sdk,只需一句命令:","sdk,在安装flutter时也需要安装相应平台的构建工具和sdk。下面我们分别介绍一下windows和macos下的环境搭建。","select","selector","setup","sign","simul","sourc","spotlight","store,就必须注册apple开发者计划,有关详情读者可以自行了解。","studio","studio>tools>android>avd","studio。","studio不仅可以管理android","studio创建一个flutter项目,然后运行它,并体验“热重载”。","studio后插件生效。","studio和v","studio安装sdk并创建项目。","studio安装向导”。这将安装最新的android","studio工具栏:","studio是基于intellij","studio的全量安装。android","studio的磁盘空间).","studio的磁盘空间).","studio,下载地址:https://developer.android.com/studio/index.html","studio,在此不再赘述。","studio,然后执行“android","studio,读者可以先自行下载并安装android","sudo","switch","target","target设置页面中,确保在","team","times:'","times:'`","times:'。","toolchain","tools;","tools>android>avd","tri","trust。","unzip","updat","upgrad","usb调试","view>command","virtual","visit","vs","window","window>","windows,请确保可以在命令提示符或powershell中运行","windows:file>settings>plugins)。","window下只支持为android设备构建并运行flutter应用,而macos同时支持ios和android设备。下面分别介绍如何连接android和ios设备来运行flutter应用。","workspace.","x86","x86_64","x86。","xcode","xcodebuild","~/.bash_profil","~/develop","~/downloads/flutter_macos_v0.5.1","‘doctor’,","‘flutter:","‘flutter’,","‘install’,","‘ok’","“emul","“控制面板>用户帐户>用户帐户>更改我的环境变量”","•","✗","。","。详细说明可在android文档中找到。","上述命令创建一个flutter项目,项目名为myapp,其中包含一个使用materi","下载并安装","下选择了你的开发团队。当你选择一个团队时,xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。","不要按“停止”按钮;","不过,flutter官方建议使用android","中,","为要模拟的android版本选择一个或多个系统印象,然后选择","仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。","以启用","以获得有关镜像服务器的最新动态。","任何appl","体验热重载","作为","作为分隔符.","你会立即在运行的应用程序中看到更新的字符串。","使用usb将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。","使用xcode,您可以在ios设备或模拟器上运行flutter应用程序。","使用镜像","例如笔者flutter","例如:","依赖下面这些命令行工具.","值是否唯一.","创建flutter应用","刷新当前终端窗口。","升级","升级flutter","去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk","可以通过","名称","启动","启动android","启动您的设备。","命令","命令以验证flutter识别您连接的android设备。","和","和window一样,要在android设备上构建并运行flutter程序都需要先安装android","在","在android设备上启用","在flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们:","在flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在flutter命令行运行flutter命令了。","在macos上搭建flutter开发环境","在masos下可以同时进行android和ios设备的测试。","在runner","在windows上搭建flutter开发环境","在xcode中,选择导航面板左侧中的runner项目。","在“android","在“用户变量”下检查是否有名为“path”的条目:","在你flutter项目目录中通过","在你的mac上,通过","在命令行运行","在工具栏中点击","在搜索框输入","在项目目录中,您应用程序的代码位于","如果xcode中的自动签名失败,请验证项目的","如果一切正常,","如果你使用终端是zsh,终端启动时","如果你想在windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户path:","如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。","如果已安装git","如果想让flutter使用不同版本的android","如果该条目不存在,创建一个新用户变量","如果该条目存在,","如果这些命令中的任何一个失败并出现错误,请运行brew","安装","安装android","安装flutter","安装flutter和dart插件","安装flutter插件","安装xcode","安装步骤:","安装目录是“~/code/flutter_dir”,那么代码为:","安装遇到问题?","定位到android","实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉ide或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。","对于大多数情况,当您想要使用最新版本的xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。","对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如","将flutter添加到path中,可以在任何终端会话中运行flutter命令。","将不会被加载,解决办法就是修改","将字符串","将安装包zip解压到你想安装flutt","工具:","工具版本。","工欲善其事必先利其器,本节首先会分别介绍一下在windows和macos下flutt","带\"*\"号的分支即你本地的flutter","常规>设备管理","平台依赖、sdk版本等,而且它也是flutter开发推荐的ide之一(当然,你也可以使用其它编辑器或ide,我们将会在后面讨论)。","并信任您的证书。","并在那里创建一个。","并选择","建议使用","开发人员选项","当您第一次attach真机设备进行ios开发时,需要同时信任你的mac和该设备上的开发证书。首次将ios设备连接到mac时,请在对话框中选择","您应该在您的设备或模拟器上会看到启动的应用程序:","或","或以下命令找到模拟器:","或更新的版本","或更高版本","或者点击","打开(或创建)","打开`lib/main.dart`文件","打开lib/main.dart文件。","打开插件首选项","打开终端并运行如下这些命令:","打开默认的xcode","指定放置项目的位置,然后按蓝色的确定按钮","接下来,让我们用android","提供代码分析","插件并点击","搭建flutter开发环境","操作系统:","支持flutter开发工作流","是芯片系列,如","更改为","更新环境变量","有关上述步骤的详细信息,请参阅","查看“output”窗口中的输出是否有问题","根据你电脑屏幕大小,模拟高清屏ios设备可能会溢出屏幕。可以在模拟器的","此代码只能暂时针对当前命令行窗口设置path环境变量,要想永久将flutter添加到path中请参考下面更新环境变量","此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china","注意:","注意,flutter的渠道版本会不停变动,请以flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去flutt","注意:","添加flutter相关工具到path中:","添加以下路径:","点击","热重载按钮","热重载(hot","然后按回车键","然后点击","然后选择","然后,转到ios设备上的设置菜单,选择","环境变量设置为相应的sdk安装目录。","理论上可以使用任何文本编辑器与命令行工具来构建flutter应用程序。","由于android","由于flutter会同时构建android和ios两个平台的发布包,所以flutter同时依赖android","由于在国内访问flutter有时可能会受到限制,flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:","的全路径作为它的值.","硬件加速.","确保xcode许可协议是通过打开一次xcode或通过命令sudo","确定您flutter","磁盘空间:","第一次运行flutter命令(如flutt","等待android","等待项目创建继续,并显示main.dart文件","类型,","系统要求","组件的简单演示应用程序。","获取flutter","获取项目所有依赖包的最新版本。","菜单下设置设备比例。","菜单中的设置,确保模拟器正在使用64位设备(iphon","要为ios开发flutter应用程序,您需要xcod","要准备在android模拟器上运行并测试flutter应用,请按照以下步骤操作:","要准备在android设备上运行并测试flutter应用,需要android","要准备在ios模拟器上运行并测试flutter应用,请按以下步骤操作:","要升级flutter","要安装并运行flutter,您的开发环境必须满足以下最低要求:","要将flutter应用安装到ios真机设备,需要一些额外的工具和一个apple帐户,还需要在xcode中进行一些设置。","要开始您的第一个ios开发项目,您可能需要使用您的appl","要查更改,请调用","要查看您的更改,请调用","解压安装包到你想安装的目录,如:","让您的应用继续运行.","让您的应用继续运行。","该命令会同时更新flutter","该命令检查你的环境并在命令行窗口中显示报告。dart","调用","跟踪的分支,要切换分支,可以使用flutter","转到","输入","输入项目名称","运行","运行启动你应用程序","运行应用程序","这一步和windows下步骤一致,不再赘述。","连接android模拟器","连接android真机设备","连接ios模拟器","连接ios真机设备","连接的设备名是","连接设备运行flutter应用","追加","选择","选择一个设备并选择","选择一个运行该应用的android设备。如果没有列出可用,请选择","通过检查模拟器","遵循xcode签名流程来配置您的项目:","部分。","配置xcode命令行工具以使用新安装的xcode版本","配置与使用","重启android","重启windows以应用此更改.","重新启动","需要安装两个插件:","验证avd配置是否正确,然后选择","验证“flutter/bin”是否已在path中:","验证配置","默认情况下,flutter使用的android","(如果已经安装了brew,跳过此步骤)。",",其中",",在其中添加:sourc",",在搜索结果列表中选择",",然后将","~/.bash_profil","~/.zshrc"],"chapter1/configuration.html":["&","'http://maven.aliyun.com/nexus/content/groups/public/'","**","203.208.41.32","3.2.0.pom",">","allproject","android","appear","behavior","build,","build.gradl","c:\\users\\{user_name}\\.gradle\\gradle.properti","c:\\windows\\system32\\drivers\\etc\\","deployment/","dl.google.com","embed","enabl","execution,","file","file/","google()","gradl","gradle/","head","host","jcenter()","maven","maven.aliyun.com","repositori","sdk","set","settings/","site","studio","studio问题","system","updat","url","{","}","一般格式为","上手安卓最常遇见的问题之一,错误如下图所示,此时点击超链接即可自动跳转到安装页面","中,勾选上","列表,可以看到此时的","即可解决","即可解决。","如:android","安卓包配置问题","安装之后重新运行即可。","常见配置问题","库造成的,解决方法如下:","打开","找到下面这一部分,并加上","文件","无法连接。","是否有设置代理。删除后问题即可解决。","注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于","添加","的报错信息,请检查","缺少依赖库问题","解决方法如下:","这一类问题是由于无法连接到","这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入","进入","进入当前所在项目名/android","连接不上android",",重启"],"chapter1/dart.html":["!=","\"","\"hello","\"hello\";","\"hi","$device';","$msg';","'$from","'$result","'howdy');","'howdy',","'smoke","()","(){","(17666):","(devic","(e)","(e){","(str){","...","//","//const","//final","//return","//下面代码没有问题","//不指定返回类型,此时默认为dynamic,不是bool","//保存用户信息,接下来执行其它操作","//先分别定义各个异步任务","//可以省略string这个类型声明","//执行失败会走到这里","//执行成功会走到这里","//执行接下来的操作","//报错,isnoble不是bool类型","//无论成功或失败都会走到这里","//用户登录","//登录成功后通过,id获取用户信息","//结果是:","//结果是:bob","//获取用户信息","//获取用户信息后保存","//设置[bold]和[hidden]标志","//错误处理","1","1\";","1),","1秒后返回结果","2),","2),(){","2.0已经正式发布,所以本书所有示例均采用dart","2.0语法。","2秒后返回结果","3","3\";","3),","3秒后返回结果","4),","4秒后返回结果","7.0语法中就已经存在了,因此我们可以看到google对dart语言给予厚望,是想把dart打造成一门集百家之所长的编程语言。",";","=","[","[string","]","]).listen((data){","]).then((results){","_noblegas","_noblegases[atomicnumber]","assertionerror(\"error\");","async","async/await","async和await关键词支持了异步编程,运行您写出和同步代码很像的异步代码。","async用来表示函数是异步的,定义的函数会返回一个future对象,可以使用then方法添加回调函数。","atomicnumb","atomicnumber)","await","bob","bold,","bool","callback();","callback){","catch(e){","catcherror回调函数将被调用;但是,并不是只有","catcherror回调才能捕获错误,then方法还有一个可选参数onerror,我们也可以它来捕获异常:","cb){","const","const,不是var,也不是一个类型。","c和swift中早就很普遍,而??操作符在php","dart","dart中的async/await","dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:","dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。","dart类库有非常多的返回future或者stream对象的函数。","dart语言简介","device])","duration(seconds:","dynam","dynamic和object","enableflags(bold:","enableflags({bool","error","execute(()=>print(\"xxx\"))","execute(var","false);","final","final和const","from,","futur","future.catcherror","future.delayed(new","future.then","future.wait","future.wait([","future.whencomplet","future与javascript中的promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个future只会对应一个结果,要么成功,要么失败。","getuserinfo(id).then((userinfo){","getuserinfo(id);","getuserinfo(str","hell","hell)","hello","hell)。回调地狱问题在之前javascript中非常突出,也是javascript被吐槽最多的点,但随着ecmascript6和ecmascript7标准发布后,这个问题得到了非常好的解决,而解决回调地狱的两大神器正是ecmascript6引入了promise,以及ecmascript7中引入的async/await。","hidden:","hidden})","howdi","i/flutt","id","id){","io操作。而不是等到这个操作完成。","isnobl","isnoble(int","java","javascript","javascript的弱类型一直被抓短,所以typescript、coffeescript甚至是facebook的flow(虽然并不能算javascript的一个超集,但也通过标注和打包工具提供了静态类型检查)才有市场。就笔者使用过的脚本语言中(笔者曾使用过python、php),javascript无疑是动态化支持最好的脚本语言,比如在javascript中,可以给任何对象在任何时候动态扩展属性,对于精通javascript的高手来说,这无疑是一把利剑。但是,任何事物都有两面性,javascript的强大的动态化特性也是把双刃剑,你可经常听到另一个声音,认为javascript的这种动态性糟糕透了,太过灵活反而导致代码很难预期,无法限制不被期望的修改。毕竟有些人总是对自己或别人写的代码不放心,他们希望能够让代码变得可控,并期望有一套静态类型检查系统来帮助自己减少错误。正因如此,在flutter中,dart几乎放弃了脚本语言动态化的特性,如不支持反射、也不支持动态创建函数等。并且dart在2.0强制开启了类型检查(strong","login(\"alice\",\"******\").then((id){","login(\"alice\",\"******\");","login(str","mode)和可选类型(opt","mode),原先的检查模式(check","msg,","null","null)","null;","object","onerror:","param2,","print(\"success\");","print(cb());","print(data);","print(e);","print(e.message);","print(results[0]+results[1]);","print(str);","pwd){","result","result;","return","saveuserinfo(str","saveuserinfo(userinfo).then((){","saveuserinfo(userinfo);","say(\"hi","say('bob',","say(str","say=","signal","signal');","smoke","str","str1","stream","stream.fromfutures([","string","t;","t=\"hi","t=1000;","task()","test(callback","test(isnoble);","throw","tour,就开始动手写flutter了。","true,","try{","typedef","type)将淡出,所以在类型安全这个层面来说,dart和typescript、coffeescript是差不多的,所以单从这一点来看,dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、app开发、web开发,这就有优势了!","userinfo","userinfo){","username,","valu","var","var功能相似,都会在赋值时自动进行类型推断,不同在于,赋值后可以改变其类型,如:","vm在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要dart语言能流行,vm的性能就不用担心,毕竟google在go(没用vm但有gc)、javascript(v8)、dalvik(android上的java","vm)上已经有了很多技术积淀。值得注意的是dart在flutter中已经可以将gc做到10ms以内,所以dart和java相比,决胜因素并不会是在性能方面。而在语法层面,dart要比java更有表现力,最重要的是dart对函数式编程支持要远强于java(目前只停留在lamda表达式),而dart目前真正的不足是生态,但笔者相信,随着flutter的逐渐火热,会回过头来反推dart生态加速发展,对于dart来说,现在需要的是时间。","void","vs","world!\";","world!\",然后我们在then中接收异步结果并打印结果,代码如下:","world\");","world\";","world”。","{","}","})","}),","}).catcherror((e){","}).then((data)","}).then((data){","}).then((e){","}).then((userinfo){","}).whencomplete((){","});","},","},ondone:","};","“futur","…},用于指定命名参数。例如:","一个","上面的代码依次会输出:","上面的代码在javascript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为dart本身是一个强类型语言,任何变量都是有确定类型的,在dart中,当用var声明一个变量后,dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而javascript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。","下面代码在dart中会报错,因为变量t的类型已经确定为string,","下面是一个不带可选参数调用这个函数的例子:","下面是用第三个参数调用这个函数的例子:","不同的是,它可以接收多个异步操作的结果(成功或失败)。","与","为了方便示例,在本例中我们使用future.delay","之所以将dart与java和javascript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且dart","也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。","也是用于接收异步事件数据,和futur","代码很简单,就不赘述了。","使用async/await消除callback","使用future消除callback","保存用户信息","其实,无论是在javascript还是dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个promise(future)的调用链。","函数","函数作为参数传递","函数作为变量","函数内部。","函数声明","创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi","包装一组函数参数,用[]标记为可选的位置参数:","变量只能被设置一次,两者区别在于:const","变量声明","变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:","可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(callback","可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。","可选命名参数在flutter中使用非常多。","可选的位置参数","可选的命名参数","后面是一个future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在","和javascript中的async/await功能和用法是一模一样的,如果你已经了解javascript中的async/await的用法,可以直接跳过本节。","回调地狱(callback","在之前我们已经介绍过dart语言的相关特性,读者可以翻看一下,如果你熟悉dart语法,可以跳过本节,如果你还不了解dart,不用担心,按照笔者经验,如果你有过其他编程语言经验,尤其是java和javascript的话,所以,如果你是前端或android开发者,那么将会非常容易上手dart。当然,如果你是ios开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习dart时,只是花了一个小时,看完dart官网的languag","在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是","在笔者看来,dart的设计目标应该是既对标java,也对标javascript,dart在静态语法方面和java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和javascript很像,如函数式特性、异步支持等。除了融合java和javascript语言之所长之外,dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在dart中其实看到的不仅有java和javascript的影子,它还具有其它编程语言中的身影,如命名参数在object","如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户id,然后通过用户id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下:","如果异步任务发生错误,我们可以在catcherror中捕获错误,我们将上面示例改为:","如果您从未打算更改一个变量,那么使用","定义函数时,使用{param1,","客观的来讲,dart在语法层面确实比java更有表现力;在vm层面,dart","对于只包含一个表达式的函数,可以使用简写语法","常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子:","异步支持","思考题:既然stream可以接收多次事件,那能不能用stream来实现一个订阅者模式的事件总线?","总结","或","执行上面代码,4秒后你会在控制台中看到“hello","抛出一个异常","接下来,我们先对dart语法做一个简单的介绍,然后再将dart与javascript和java做一个简要的对比,方便读者更好的理解。","接下来,执行整个任务流:","是dart所有对象的根基类,也就是说所有类型都是object的子类,所以任何类型的数据都可以赋值给object声明的对象,所以表现效果和dynamic相似。","有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用future的whencomplete回调,我们将上面示例改一下:","有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到ui界面上,应该怎么做?答案是future.wait,它接受一个future数组参数,只有数组中所有future都执行成功后,才会触发then的成功回调,只要有一个future执行失败,就会触发错误回调。下面,我们通过模拟future.delay","来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下:","正如上文所述,","注意:由于本书并非专门介绍dart语言的书籍,所以本章主要会介绍一下在flutter开发中常用的语法特性,如果想更多了解dart,读者可以去dart官网学习,现在互联网上dart相关资料已经很多了。另外dart","由于本身功能较多,这里我们只介绍其常用的api及特性。还有,请记住,futur","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用”","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用。","类似于javascript中的var,它可以接收任何类型的变量,但最大的不同是dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如:","类型一旦确定后则不能再更改其类型。","综上所述,笔者还是很看好dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。","而在dart中几乎是完全平移了javascript中的这两者:future相当于promise,而async/await连名字都没改。接下来我们看看通过future和async/await如何消除上面示例中的嵌套问题。","语法中很多地方也都借鉴了java和javascript。","调用函数时,可以使用指定命名参数。例如:paramname:","这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像","通过future回调中再返回future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:","通过上面介绍,相信你对dart应该有了一个初步的印象,由于笔者平时也使用java和javascript,下面笔者根据自己的经验,结合java和javascript,谈一下自己的看法。","!=","(int",")=>",",如果在then中返回的是一个future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。"],"chapter2/":["app","dart线程模型及异常捕获","包管理","实现一个计数器","本章将通过一些简单的示例来一步步介绍flutter的开发流程.","本章目录","第一个flutter应用","简介","调试flutter","资源管理","路由管理"],"chapter2/first_flutter_app.html":["'$_counter',","'flutter","'increment',","'package:flutter/material.dart';","'you","),",");","...","//","//state.count","//应用名称","//应用首页路由","//所以animatedwidget必须通过某种方式将其状态对象_animatedwidgetst","//暴露给其子类","//由于子类要用到animatedwidget的状态对象_animatedwidgetstate,","//蓝色主题","0;",":","=","=>","@overrid","[","],","_animatedwidgetstate)","_counter","_counter++;","_incrementcounter()","_incrementcounter,","_myhomepagest","_myhomepagestate();","_myhomepagestate类是myhomepage类对应的状态类。看到这里,细心的读者可能已经发现,和myapp","animatedwidget{","animatedwidget的状态对象是animatedwidget内部实现细节,不应该暴露给外部。","appbar(","appbar:","app框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。materialapp也是一个widget。","auto","body:","body的widget树中包含了一个cent","build","build(buildcontext","button","center","center(","child:","children:","class","code创建的flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器demo的源码,让读者对flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍flutter应用的其它概念与技术。对于接下来的示例,希望读者可以跟着笔者实际动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉dart或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。","code根据前面“编辑器配置与使用”一章中介绍的创建flutter工程的方法创建一个新的flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的demo。","colors.blue,","column(","comma","context)","context),继承自animatedwidget的动画widget都要实现这个build方法。现在设想一下,如果statefulwidget","context,","createstate()","demo","demo',","extend","final","floatingactionbutton(","floatingactionbutton:","floatingactionbutton是页面右下角的带“➕”的悬浮按钮,它的onpressed属性接受一个回调函数,代表它本点击后的处理器,本例中直接将_incrementcounter作为其处理函数。","flutter","flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建ui界面(通常是通过组合、拼装其它基础widget)。","flutter默认提供了一套丰富的material风格的ui组件。","format","home","home:","icon(icons.add),","import","int","key);","key,","lib/main.dart","main()","mainaxisalignment.center,","mainaxisalignment:","main函数使用了(=>)符号,这是dart中单行函数或方法的简写。","make","mani","materialapp","materialapp(","material库中提供的一个widget,","methods.","myanimationwidget","myapp","myapp());","myapp类代表flutter应用,它继承了","myhomepag","myhomepage(title:","myhomepage({key","myhomepage类中并没有build方法,取而代之的是,build方法被挪到了_myhomepagestate方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。","new","nicer","onpressed:","page'),","primaryswatch:","push","return","runapp(new","scaffold","scaffold(","setstate(()","state","state){","statefulwidget","statefulwidget类本身是不变的,但是","statelesswidget","statelesswidget类,这也就意味着应用本身也是一个widget。","state类中持有的状态在widget生命周期中可能会发生变化。","state类;","string","studio和v","style:","super(key:","super.build(context,","text(","text(widget.title),","text子widget,第一个text","theme.of(context).texttheme.display1,","theme:","themedata(","this.title})","times:',","times:”,第二个text","title:","title;","tooltip:","trail","ui组件库。material是一种标准的移动端和web端的视觉设计语言,","void","widget","widget可以拥有状态,这些状态在widget生命周期中是可以变的,而stateless","widget是不可变的。","widget显示_counter状态的数值。","widget显示固定文本","widget有两点不同:","widget至少由两个类组成:","widget)。现在,我们可以简单认为st","widget,cent","widget,column的作用是将其所有子widget沿屏幕垂直方向依次排列,","{","}","});","“you","一个","一个statefulwidget类。","与c/c++、java类似,flutt","为flutter应用的首页,它也是一个widget。","为什么要将build方法放在state中,而不是放在statefulwidget中?","为保存屏幕右下角带“➕”号按钮点击次数的状态。","例如,flutter中有一个动画widget的基类animatedwidget,它继承自statefulwidget类。animatedwidget中引入了一个抽象方法build(buildcontext","分析","可以将其子widget树对齐到屏幕中心,","和stateless","在flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)。","在这个示例中,主要dart代码是在","如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。","子widget是一个column","它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。","对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。","导入包。","应用中main函数为应用程序的入口,main函数中调用了,runapp","应用入口。","应用结构。","当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setst","我们先运行此示例,效果图如下:","接下来,我们看看_myhomepagestate中都包含哪些东西:","文件中,下面我们看看该示例的源码:","方法。setstate方法的作用是通知flutter框架,有状态发生了改变,flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面,","方法,它的功能是启动flutter应用,它接受一个widget参数,在本示例中它是myapp类的一个实例,该参数代表flutter应用。","是","是material库中提供的flutt","是material库中提供的页面脚手架,它包含导航栏和body以及floatingactionbutton(如果需要的话)。","是应用的首页,它继承自statefulwidget类,表示它是一个有状态的widget(st","有很多状态,而每次状态改变都要调用build方法,由于状态是保存在state中的,如果将build方法放在statefulwidget中,那么构建时读取状态将会很不方便,试想一下,如果真的将build方法放在statefulwidget中的话,由于构建用户界面过程需要依赖state,所以build方法将必须加一个state参数,大概是下面这样:","本书后面示例中,路由默认都是通过scaffold创建。","构建ui界面","构建ui界面的逻辑在build方法中,当myhomepage第一次创建时,_myhomepagestate类会被创建,当初始化完成后,flutter框架会调用widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_myhomepagestate的build方法中都干了什么事:","此例中column包含两个","此行代码作用是导入了materi","注意,默认demo示例可能随着编辑器flutter插件版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。","状态。","状态访问不便","现在,我们回答之前提出的问题,为什么build()方法在state(而不是statefulwidget)中","现在,我们将整个流程串起来:当右下角的floatingactionbutton按钮被点击之后,会调用_incrementcounter,在_incrementcounter中,首先会自增_counter计数器(状态),然后setstate会通知flutter框架状态发生变化,接着,flutter会调用build方法以新的状态重新构建ui,最终显示在设备屏幕上。","用android","类不同,","类中已经有了一个build方法,正如上面所述,此时build方法需要接收一个state对象,这就意味着animatedwidget必须将自己的state对象(记为_animatedwidgetstate)提供给其子类,因为子类需要在其build方法中调用父类的build方法,代码可能如下:","继承statefulwidget不便","综上所述,可以发现,对于statefulwidget,将build方法放在state中,可以给开发带来很大的灵活性。","计数器应用示例","计数器示例","设置状态的自增函数。","试想一下,如果我们的state","该计数器示例中,每点击一次右下角带“➕”号的悬浮按钮,屏幕中央的数字就会加1。","这样很显然是不合理的,因为","这样的话就只能将state的所有状态声明为公开的状态,这样才能在state类外部访问状态,但将状态设置为公开后,状态将不再具有私密性,这样依赖,对状态的修改将会变的不可控。将build()方法放在state中的话,构建过程则可以直接访问状态,这样会很方便。","通过android","首页","?这主要是为了开发的灵活性。如果将build()方法在statefulwidget中则会有两个问题:"],"chapter2/flutter_router.html":["\"new_page\");","\"new_page\":(context)=>newroute(),","\"tip_widgets\":(context)=>echoroute(\"内容固定\")","'flutter","()","(context)",")","),",");",",","...","//","//navigator.push(context,","//}));","//回显tip内容","//导航到新路由","//注册路由表","//省略无关代码",":","=","@overrid","[","])","],","appbar(","appbar:","body:","bool","build(buildcontext","builder","builder,","center(","child:","children:","class","colors.blue,","column(","context)","context,","demo","demo',","echorout","echoroute(this.tip);","extend","false,","final","flatbutton(","fullscreendialog","fullscreendialog表示新的路由页面是否是一个全屏的模态对话框,在ios中,如果fullscreendialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。","futur","home","home:","key","mainaxisalignment.center,","mainaxisalignment:","maintainst","maintainstate:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainstate为false。","map","materialapp(","materialpagerout","materialpageroute(builder:","materialpageroute({","materialpageroute继承自pageroute类,pageroute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。materialpagerout","myhomepage(title:","navig","navigator.push(","navigator.pushnamed(context,","navigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由。navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:","new","newrout","newroute();","onpressed:","page'),","pop(buildcontext","primaryswatch:","push(buildcontext","pushnamed(buildcontext","result","return","rout","route\"),","route\"。","route)","routename)","routes:{","routeset","routes;","route”按钮,依然可以打开新的路由页。","route)即给路由起一个名字,然后可以通过路由名字直接打开新的路由。这为路由管理带来了一种直观、简单的方式。","scaffold(","set","settings,","statelesswidget","string","table),这样应用程序才知道哪个名称与哪个路由widget对应。路由表的定义如下:","text(\"echo","text(\"new","text(\"open","text(\"thi","text(tip),","textcolor:","theme:","themedata(","tip;","title:","true,","widget","widgetbuild","{","}","})","}));","},","下面我们介绍一下materialpagerout","为路由的名称,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名称入栈新路由时,应用会根据路由名称在路由表中找到对应的widgetbuilder回调函数,然后调用该回调函数生成路由widget并返回。","创建一个新路由,命名“newroute”","包含路由的配置信息,如路由名称、是否初始路由(首页)。","命名路由","命名路由的优缺点","命名路由的最大优点是直观,我们可以通过语义化的字符串来管理路由。但其有一个明显的缺点:不能直接传递路由参数。举个例子,假设有一个新路由echoroute,它的功能是接受一个字符串参数tip,然后再在屏幕中心将tip的内容显示出来,代码如下:","在_myhomepagestate.build方法中的column的子widget中添加一个按钮(flatbutton)","如果想自定义路由切换动画,可以自己继承pageroute来实现,我们将在后面介绍动画时,实现一个自定义的路由widget。","如果我们使用命名参数,就必须将路由提前注册到路由表中,所以就无法动态修改tip参数,如:","它是一个map,","对于android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。","对于ios,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。","将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。","将给定的路由入栈(即打开新的页面),返回值是一个future对象,用以接收新路由出栈(及关闭)时的返回数据。","我们在上一节“计数器”示例的基础上,做如下修改:","我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面。","我们需要先注册路由表后,我们的flutter应用才能正确处理命名路由的跳转。注册方式很简单,我们回到之前“计数器”的示例,然后在myapp类的build方法中找到materialapp,添加routes属性,代码如下:","所谓命名路由(name","接下来我们通过路由名来打开新的路由页,修改flatbutton的onpressed回调代码,改为:","新路由继承自statelesswidget,界面很简单,在页面中间显示一句\"thi","是material组件库的一个widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:","是一个widgetbuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。","构造函数的各个参数的意义:","注册路由表","热重载应用,再次点击“open","现在我们就完成了路由表的注册。","示例","综上所述,我们可以看到当路由需要参数时,使用命名路由则不够灵活。","要想使用命名路由,我们必须先提供并注册一个路由表(rout","要通过路由名称来打开新路由,可以使用:","路由(route)在移动开发中通常指页面(page),这跟web开发中单页应用的route概念意义是相同的,route在android中通常指一个activity,在ios中指一个viewcontroller。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是android还是ios,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。","路由管理","路由表","还有很多其它方法,如navigator.replace、navigator.popuntil等,详情请参考api文档或sdk源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。","通过路由名打开新路由页","除了pushnamed方法,还有pushreplacementnamed等其他管理命名路由的方法,读者可以自行查看api文档。"],"chapter2/flutter_package_mgr.html":["\"flutter","#","'package:english_words/english_words.dart';","()",");","../../code/pkg1","//","0","1.0.0+1","=","@overrid","^0.1.0","^0.1.2","^3.1.3","application.","build","build(buildcontext","child:","class","code","const","context)","cupertino_icons:","dependencies:","dependencies:应用或包依赖的其它包或插件。","description:","design:","dev_dependencies:","dev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。","edgeinsets.all(8.0),","english_words:","exit","extend","final","finish","first","flutter","flutter:","flutter_in_act","flutter_in_action...","flutter_test:","flutter:flutter相关的配置选项。","get\"","git:","git://github.com/flutter/packages.git","git://github.com/xxx/pkg1.git","import","materi","name:","name:应用或包名称。","new","packag","package1:","packages/package1","packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。","padding(","padding:","path:","pkg1:","process","pub仓库","pub(https://pub.dartlang.org/","randomwordswidget","return","run","sdk:","statelesswidget","studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。","studio的编辑器视图中查看pubspec.yaml时,单击右上角的","text(wordpair.tostring()),","true","url:","us","version:","version:应用或包的版本号。","widget","wordpair","wordpair.random();","yaml是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或json相比,它语法简单并非常容易解析,所以yaml常用于配置文件,flutter也是用yaml文件作为其配置文件,flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:","{","}","。","一个完整的应用程序往往会依赖很多第三方包,正如在原生开发中,android使用gradle来管理依赖,ios用cocoapods或carthage来管理依赖,而flutter也有自己的依赖管理工具,本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。","上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。","上面假定包位于git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:","下载包","下面,我们逐一解释一下各个字段的意义:","下,接下来我们通过一个例子来演示一下如何依赖、下载并使用第三方包。","你也可以在控制台,定位到当前工程目录,然后手动运行flutter","使用english_words包来生成随机字符串。","依赖git:你也可以依赖存储在git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法","依赖本地包","其它依赖方式","包管理","命令来下载依赖包。","在android","在输入时,android","如果应用程序正在运行,请使用热重载按钮","如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:","如果我们的flutter应用本身依赖某个包,我们需要将所依赖的包添加到depend","将english_words(3.1.3版本)添加到依赖项列表,如下:","应用或包的描述、简介。","引入english_words包。","总结","我们将randomwordswidget","我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:","接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包,确定其最新的版本号和是否支持flutter。","新添加的依赖","方法内部生成的。每次热更新时,build方法都会被执行。","更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。","本节介绍了引用、下载、使用一个包的整体流程,并在后面介绍了多种不同的引入方式,这些是flutter开发中常用的,但dart的dependencies还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/depend","添加到\"计数器\"示例的首页myhomepag","生成随机字符串","的column的子widget中。","示例","路径可以是相对的,也可以是绝对的。","这会将依赖包安装到您的项目。您可以在控制台中看到以下内容:","这是因为单词对是在",")是google官方的dart"],"chapter2/flutter_assets_mgr.html":["'dart:async'","'my_icons')","'package:flutter/services.dart'","(如果使用一些更低级别的类,如","),",");","/","android","asset","assetimag","assetimage('graphics/background.png'),","assetimage('icons/heart.png',","assetimage类。例如,我们可以从上面的asset声明中加载背景图片:","assets/background.png","assets/my_icon.png","assets:","assets指定应包含在应用程序中的文件。","assets(有时称为资源)。assets是会打包到程序安装包中的,可在运行时访问。常见类型的assets包括静态数据(例如json文件)、配置文件、图标和图片(jpeg,webp,gif,动画webp","async","await","boxdecoration(","build(buildcontext","builder进行自定义。","bundl","bundle中。","bundle中。前者被认为是main","bundle中加载字符串或图片(二进制)文件。","bundle,而是使父级widget在运行时动态替换的不同的assetbundle,这对于本地化或测试场景很有用。","context)","decoratedbox(","decoration:","decorationimage(","defaultassetbundl","flutter:","flutter应用程序可以包含代码和","futur","future;","gif,png,bmp和wbmp)等。","graphics/background.png","hdpi已包含占位符图像”ic_launcher.png”)。","image.asset('graphics/background.png');","image.asset('icons/heart.png',","image:","imagecach","imagestream或","import","io","lib/是隐含的,所以它不应该包含在资产路径中。","loadasset()","navigator中导航到runner/runner然后通过打开assets.xcassets拖入图片,或者通过在launchscreen.storyboard中使用interfac","new","package:","packages/fancy_backgrounds/backgrounds/background1.png","pubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。当主资源缺少某个资源时,会按分辨率从低到高的顺序去选择","return","rootbundle.loadstring('assets/config.json');","rootbundle;","screen)添加到您的flutter应用程序,","screen)的中心,请导航至.../ios/runner。在assets.xcassets/launchimage.imageset,","show","widget","widget上指定渲染图像的宽度和高度,那么imag","widget将占用与主资源相同的屏幕空间大小。","{","}","…/2.0x/my_icon.png","…/3.0x/my_icon.png","…/graphics/background.png","…/graphics/dark/background.png","…/graphics/my_icon.png","…/icons/1.5x/heart.png","…/icons/2.0x/heart.png","…/icons/heart.png","…/image.png","…/lib/backgrounds/background1.png","…/lib/backgrounds/background2.png","…/lib/backgrounds/background3.png","…/mx/image.png","…/my_icon.png","…/nx/image.png","…/pubspec.yaml","…etc.","。有两种主要方法允许从asset","上面的资源都是flutter应用中的,这些资源只有在flutter框架运行之后才能使用,如果要给我们的应用设置app图标或者添加启动图,那我们必须使用特定平台的assets。","主资源默认对应于1.0倍的分辨率图片。看一个例子:","也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px;","但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。","使用默认的","例如,一个名为“fancy_backgrounds”的包,可能包含以下文件:","例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构:","例如,如果应用程序目录中有以下文件:","依赖包中的资源图片","其中m和n是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。","函数","加载","加载图片","加载文本asset","加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。","加载:建议使用","包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。","变体(variant)","只需将它们替换为适当大小的图片。保留原始文件名称。","只需按照android开发人员指南中的说明,","可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset:","启动屏幕将永远持续显示。","和包管理一样,flutter也使用pubspec.yaml文件来管理应用程序所需的资源。举一个例子:","在flutter框架加载时,flutter会使用本地平台机制绘制启动页。此启动页将持续到flutter渲染应用程序的第一帧时。","在flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap","在flutter项目的根目录中,导航到.../ios/runner。该目录中assets.xcassets/appicon.appiconset已经包含占位符图片。","在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset","在构建期间,flutter将asset放置到称为","在设备像素比率为1.8的设备上,.../2.0x/my_icon.png","在选择匹配当前设备分辨率的图片时,flutter会使用到asset变体(见下文),将来,flutter可能会将这种机制扩展到本地化、阅读提示等方面。","声明分辨率相关的图片","如果你使用不同的文件名,那您还必须更新同一目录中的contents.json文件,图片的具体尺寸可以查看苹果官方的标准。","如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。","如果您重命名.png文件,则还必须在您androidmanifest.xml的标签的android:icon属性中更新名称。","如果未在imag","它实际上是一个imageprovider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用image.asset()方法,如:","对象加载:每个flutter应用程序都有一个rootbundle对象,","将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。","将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。","并非是一个widget,","您也可以通过打开xcode完全自定义storyboard。在project","您的应用可以通过assetbundle对象访问其asset","或","打包包中的","拖入图片,并命名为launchimage.png、launchimage@2x.png、launchimage@3x.png。","指定","时你会注意到有与缩放相关的参数)","更新flutter应用程序启动图标的方式与在本机android或ios应用程序中更新启动图标的方式相同。","更新启动页","来获取当前buildcontext的assetbundle。","构建过程支持asset变体的概念:不同版本的asset可能会显示在不同的上下文中。","每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是assets)。","注意:","注意,assetimag","注意:包在使用本身的资源时也应该加上package参数来获取。","然后pubspec.yaml文件中只需包含:","然后加载图像,使用:","特定平台","的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。","类似于原生开发,flutter也可以为当前设备加载适合其分辨率的图像。","要加载依赖包中的图像,必须给assetimage提供package参数。","要加载图片,可以使用","要包含第一张图像,必须在pubspec.yaml的assets部分中声明它:","要将启动屏幕(splash","要将图片添加到启动屏幕(splash","设置app图标","请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。","资源管理","这意味着如果您不在应用程序的main()方法中调用runapp","这种方法不是使用应用程序构建的默认asset","通常,可以使用defaultassetbundle.of()在应用运行时来间接加载asset(例如json文件),而在widget上下文之外,或其它assetbundle句柄不可用时,可以使用rootbundle直接加载这些asset,例如:","通过","通过rootbundl","通过它可以轻松访问主资源包,直接使用package:flutter/services.dart中全局静态的rootbundle对象来加载asset即可。","那么这两个graphics/background.png和graphics/dark/background.png","都将包含在您的asset","(主资源),后者被认为是一种变体(variant)。","(或者更具体地说,如果您不调用window.render去响应window.ondrawframe)的话,",",也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。"],"chapter2/flutter_app_debug.html":["\"dump","\"engineentertimestampmicros\":","\"monospace\";","\"roboto\";","\"timeafterframeworkinitmicros\":","\"timetofirstframemicros\":","\"timetoframeworkinitmicros\":","$","'dart:developer';到相关文件顶部。","'package:flutter/material.dart';","(","()","(1","(in","(physic","(语句级的单步调试和分析器)","),",");","...","//","0.0)","0.0))","0.0)))","0.0))➩offset(0.0,","0.0);","0.0,","0.0,0.0,0.0,1.0","0.0,0.0,1.0,0.0","0.0,3.5,0.0,0.0","0.00,","0.20,","0;","1","1.0)","1.0,","1.00)➩tween(offset(0.0,","1.000;","1.0;","12","14.0;","16.0,","1657393","1794.0)","199833992]","199833992];","1:","2.625","2.625,","2.625x","200ms;","2171978,","24.0,","2:","3.5,0.0,0.0,0.0","30","30.0);","323.7)","328026813]","36.0);","388965355]","400;","411.4,","437.086m","48.0;","489139594]","489139594];","5","514585,","612888877]","612888877];","619728754]","619728754])","625702218]","6559):","683.4)","683.4))","683.4),","683.4);","683.4),它用于强制renderpositionedbox下的所有渲染框到屏幕的大小,","727622716]","727622716];","816151164]","816151164];","82.0,","83.3%","900;","96025565262,",":",">","@overrid","[0]","[1]","[2]","[3]","[globalkey","[globalobjectkey","[overlayentry@248818791(opaque:","[root]","_animatedcontainerstate(616063822;","_animateddefaulttextstylestate(427742350;","_animatedstate(552160732))","_animatedstate(714726495))","_animatedthemestate(543295893;","_focusscop","_focusstate(331487674))","_focusstate(739584448))","_gesturesemant","_inkfeatur","_materialappstate(1009803148))","_materialappstate(1009803148)]","_materialappstate(1009803148)];","_materialappstate(859106034)]","_materialbuttonstate(398724090))","_materialstate(780114997))","_modalscop","_modalscopestate(875510645))","_modalscopestatu","_mountainviewpagetransit","_overlayentri","_overlayentrystate(279971240))","_overlayentrystate(739137453))","_renderinkfeatur","_renderinkfeatures)","_rendertheatr","_rendertheatre)","_theatr","_widgetsappstate(552902158))","_widgetsappstate(552902158)]","_widgetsappstate(552902158)];","absorbing:","absorbpoint","additionalconstraints:","alignment.cent","alignment.center;","alignment:","alphabetic)","alphabetic;","analyze测试你的代码。这个工具(它是dartanalyzer工具的一个包装)将分析你的代码并帮助你发现可能的错误。","android","android)","animatedcontain","animateddefaulttextstyl","animatedthem","animationcontroller(⏭","app","app\")","app'),","apphom","apphome(),","assert语句被启用,并且flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。","background))","background;","backgroundcolor:","bad","banner","baseline:","behavior:","boundari","boxconstraints(0.0","boxconstraints(88.0","boxconstraints(88.0这是根renderobject对象的tostringdeep函数的输出。","boxconstraints(biggest)","boxconstraints(w=411.4,","boxdecoration())","boxdecoration(backgroundcolor:","build(buildcontext","canbetapped)","canbetapped;","cancel","cancel;","center","center(","check","checkedmodebann","child","child:","child;","class","color(0xd0ff0000);","color(0xdd000000);","color(0xff2196f3)","color(0xff2196f3))","color(0xfffafafa)","color(0xfffafafa)))","color(0xffffff00)","color:","configuration:","constrainedbox","constraints:","contain","context)","creator:","custompaint","dart","dart分析器大量使用了代码中的类型注释来帮助追踪问题。我们鼓励您在任何地方使用它们(避免var、无类型的参数、无类型的列表文字等),因为这是追踪问题的最快的方式。","debug","debugdumpapp();","debugger()","debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:","debugger(when:","debugpaintbaselinesenabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。","debugpaintpointersenabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。","debugprintmarkneedspaintstacks标志。","debugprintscheduleframestacks还可以用来打印导致当前帧被调度的调用堆栈。","decoratedbox","decoration:","defaulttextstyl","defer","design基线网格覆盖在应用程序上可能有助于验证对齐。","design的应用程序时,","design设计规范中flatbutton类的尺寸标准)。","devic","devicepixelratio:","diagnosis:","doubl","down","down,","down;","edgeinsets(0.0,","edgeinsets(16.0,","elevation:","enabl","entries:","etc...)","etc...))","expand","extend","fals","false),","false;","family:","flatbutton","flatbutton(","flutter","flutter框架中的许多类都有tostring实现。按照惯例,这些输出通常包括对象的runtimetype单行输出,通常在表单中classname(mor","flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugprint)的功能。","focu","focus","focus)","focus;","fractionaltransl","frame","frame?","function');","gesturedetector","gestures:","good)","grid","h=683.4)","h=683.4)。从renderpositionedbox的转储中看到是由cent","heightfactor:","home:","i/flutt","ide中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import","ignorepoint","ignoring:","ignoringsemantics:","imageconfiguration(bundle:","implicitli","import","inactive))","inactive;","inform","inherit:","ink","instance…)。","iwonderhowlongthistakes();","kept","listen","listeners:","localequeri","log","logcat)。","logic","logs了查看它(基本上是一个包装adb","main()","main()的顶部设置。","maintainstate:","materi","material(","materialapp","materialapp(","materialbutton","materialpageroute(/))➩proxyanimation➩cubic(0.40,","materialpageroute(560156430)]","materialpageroute(875520219)]","materialpageroute(875520219)])","materialpageroute(875520219)];","mediaqueri","metrics:","modalbarri","mode","mode”,用","mode)。","mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。","more","navig","navigatorstate(240327618;","new","notificationlisten","null)))","observatori","observatory(或另一个dart调试器,例如intellij","offset","offset(0.0,","offset)","offset:","offset=offset(0.0,","offset=offset(156.7,","offsetlay","offstag","offstage:","onc","onpressed:","opaqu","opaque))","opaque;","overlay","overlayentry@837336156(opaque:","overlaystate(619367313;","padding:","pagestorag","parentdata:","paused;","per","perform","performanceoverlay.allenabled()创建的stack上来获得相同的效果)。","physic","picturelay","pixel","pixel)","pixels)","platform:","platformassetbundle@367106502(),","positioned;","print()功能将输出到系统控制台,您可以使用flutt","print:","print、debugprint、flutt","profil","profile替代","profile标志,以确保运行时性能特征与您的最终产品差异最小。","profile选项来运行flutt","ratio:","rawgesturedetector","rawgesturedetectorstate(175370983;","rawgesturedetectorstate(39068508;","rect.fromltrb(0.0,","relayoutboundary=up1","relayoutboundary=up2)","relayoutboundary=up3)","relayoutboundary=up4)","relayoutboundary=up5)","relayoutboundary=up6)","release即可。","release运行您的应用程序。","renderabsorbpoint","renderabsorbpointer)","renderconstrainedbox","renderconstrainedbox)","rendercustompaint","rendercustompaint)","renderdecoratedbox","renderdecoratedbox)","renderer]","renderer];","renderfractionaltransl","renderfractionaltranslation)","renderignorepoint","renderignorepointer)","renderobject:","renderobjecttowidgetadapter([globalobjectkey","renderoffstag","renderoffstage)","renderpad","renderparagraph","renderpointerlisten","renderpointerlistener)","renderpositionedbox","renderpositionedbox)","renderrepaintboundari","renderrepaintboundary)","rendersemanticsannot","rendersemanticsannotations)","rendersemanticsgesturehandl","rendersemanticsgesturehandler)","renderstack","renderstack)","renderview","renderview(497039273)];","renderview)","repaint","repaintboundari","return","run","runapp(","run启动应用程序,那么当它运行时,您可以打开observatori","run命令来运行应用程序。","run时使用trac","run时带有","run运行程序。在这种模式下,dart","scope","scrollconfigur","semant","semanticsnode(0;","size(1080.0,","size(411.4,","size:","slidetransit","somefunction(doubl","stack","startup","startup和profile选项。","state:","statelesswidget","streams”中选择’dart’复选框,并执行你想测量的功能。","subscope:","tap;","text('dump","textdecoration.underline)","textscalefactor:","theme","themedatatween(themedata(brightness.light","ticker","ticker))","timeline.finishsync();","timeline.startsync('interest","timeline页面,在”record","titl","trace","track","transform:","transformhittests:","transformlay","translation:","true","true)]))","true;","up,","url的web页面(例如observatory监听http://127.0.0.1:8100/),","us","void","vs","weight:","widget","widgetsapp","widgetsapp构造函数也有类似的参数(如果你没有使用materialapp或者widgetsapp,你可以通过将你的应用程序包装在一个stack中,","widgetsflutterbind","widget创建的(如creator字段所描述的),","widget在渲染树的层中创建了一个renderrepaintboundary。这用于减少需要重绘的需求量。","widget的一个实现细节","widget,则可以使用debugpaintlayerbordersen","widthfactor:","window","work","{","}","},","…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):","←","→","⋯","│","│└ignorepointer(ignoring:","└_focusscope(thi","└_gesturesemantics(renderobject:","└_inkfeature([globalkey","└_modalscope([globalkey","└_modalscopestatus(active)","└_mountainviewpagetransition(animation:","└_overlayentry([globalkey","└_theatre(renderobject:","└absorbpointer(renderobject:","└animatedcontainer(duration:","└animateddefaulttextstyle(duration:","└animatedtheme(duration:","└apphome()","└banner()","└center(alignment:","└checkedmodebanner()","└constrainedbox(boxconstraints(88.0(369160267))","└constrainedbox(boxconstraints(biggest);","└container(bg:","└container(padding:","└custompaint(renderobject:","└decoratedbox(renderobject:","└defaulttextstyle(inherit:","└flatbutton()","└focus([globalkey","└focus([globalobjectkey","└fractionaltranslation(renderobject:","└gesturedetector()","└ignorepointer(ignoring:","└listener(listeners:","└localequery(null)","└material(materialtype.canvas;","└materialapp(state:","└materialbutton(state:","└mediaquery(mediaquerydata(size:","└modalbarrier()","└navigator([globalobjectkey","└notificationlistener()","└offstage(offstage:","└overlay([globalkey","└padding(renderobject:","└pagestorage([globalkey","└rawgesturedetector(state:","└repaintboundary(renderobject:","└richtext(renderobject:","└scrollconfiguration()","└semantics(container:","└semanticsnode(2;","└semanticsnode(3;","└semanticsnode(4;","└slidetransition(animation:","└stack(renderobject:","└text(\"dump","└theme(themedata(brightness.light","└title(color:","└widgetsapp([globalobjectkey","└─child","└─child:","├_overlayentry([globalkey","├semanticsnode(1;","├─child","├─onstage:","╎","▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀","▄▄▄▄▄▄▄▄","。","上面这个小例子的输出结果如下所示:","为此,materialapp","你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,inkfeature是materi","使用dart:developer的timeline工具来包含你想测试的代码块,例如:","例如:","例如,在上面的转储中,您可以看到窗口大小,size(411.4,","分析器","初始化flutter框架时.","刷新页面将在chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。","另一种需要注意的是每个盒子描述的”relayoutsubtreeroot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。","只要他们重绘时,这会使该层被一组旋转色所覆盖。","只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用","可视化调试","同时支持分析、检查堆等。有关observatory的更多信息请参考observatori","否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。","回调","因此,renderparagraph有一个relayoutsubtreeroot=up8,这意味着当它renderparagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。","图中的白线以16ms增量沿纵轴显示;","在renderparagraph中基于它的内容来决定其大小。","在开发实现materi","在开发过程中,强烈建议您使用flutter的“调试”模式,有时也称为“checked”模式(注意:dart2.0后“checked”被废除,可以使用“strong”","在运行应用程序前,请运行flutter","在这种情况下,一个单一的gesturedetector被列出,并且监听“tap”手势(“tap”是tapgesturedetector的tostringshort函数输出的)","在这种情况下,每个逻辑像素代表3.5个设备像素。","声明","如","如,","如果你一次输出太多,那么android有时会丢弃一些日志行。为了避免这种情况,您可以使用flutter的foundation库中的debugprint()。","如果你使用intellij的flutter插件,那么已经自动启用了。","如果图中超过这三条线之一,那么您的运行频率低于60hz。横轴代表帧。","如果您使用flutter","如果您使用observatory进行分析,请确保通过","如果您尝试调试合成图层,例如以确定是否以及在何处添加repaintboundari","如果您尝试调试合成问题,则可以使用debugdumplayertree()。对于上面的例子,它会输出:","如果您尝试调试布局问题,那么widgets层的树可能不够详细。在这种情况下,您可以通过调用debugdumprendertree()转储渲染树。","如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。","如果您编写自己的widget,则可以通过覆盖debugfillproperties()来添加信息。","如果您编写自己的渲染对象,则可以通过覆盖debugfillproperties()将信息添加到转储。","完成flutter框架初始化时.","对于上面的例子,它会输出:","对齐方式(来自widget如center和align)显示为黄色箭头.","将diagnosticsproperty对象作为方法参数,并调用父类方法。","将diagnosticsproperty对象作为方法的参数,并调用父类方法。","将materi","层","展示应用第一帧时.","并将一个widget放在通过new","开头的任何内容都只能在调试模式下工作。","当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。","当使用dart","当在调试模式设置为true时,它将覆盖这样一个网格。","当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如padding)显示为浅蓝色,子widget周围有一个深蓝色框,","当按钮从被按下变为被释放时debugdumpapp()被调用,flatbutton对象同时调用setstate(),并将自己标记为\"dirty\"。","当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。","您也可以直接使用gridpaperwidget将这种网格覆盖在非material应用程序上","您也可以通过设置debugpaintsizeenabled为true以可视方式调试布局问题。","您还可以调用debugdumpsemanticstree()获取语义树(呈现给系统可访问性api的树)的转储。","或事件处理器中调用它是最佳解决方案。","所有这些标志只能在调试模式下工作。通常,flutter框架中以“debug...”","文档.","最内部renderpositionedbox再次松开约束,这次是将按钮中的文本居中。","最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。","有一个debugshowmaterialgrid参数,","有各种各样的工具和功能来帮助调试flutter应用程序。","构造函数","标志,","树中使用的一些类也具有tostringdeep,从该点返回整个子树的多行描述。已一些具有详细信息tostring的类会实现一个tostringshort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。","根部的变换是应用设备像素比的变换;","正如debugdumpapp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从fram","每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugprintstack()方法按需打印堆栈痕迹。","渲染层","然后打开你应用程序的observatori","直接使用语句级单步调试器连接到您的应用程序。如果您使用的是intellij,则还可以使用其内置的调试器来调试您的应用程序。","空白(如没有任何子节点的container)以灰色显示。","约束条件为","衡量应用启动时间","要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugprintmarkneedslayoutstacks和","要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或semanticsdebugg","要关闭调试模式并使用发布模式,请使用flutter","要执行自定义性能跟踪和测量dart任意代码段的wall/cpu时间(类似于在android上使用systrace)。","要找出相对于帧的开始/结束事件发生的位置,可以切换debugprintbeginframebanner和debugprintendframebanner布尔值以将帧的开始和结束打印到控制台。","要收集有关flutter应用程序启动所需时间的详细信息,可以在运行flutt","要获得应用程序性能图,请将materialapp构造函数的showperformanceoverlay参数设置为true。","要调用debugdumprendertree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。","要转储widgets库的状态,请调用debugdumpapp()。","设置其孩子的约束为:boxconstraints(0.0flatbutton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是materi","设置它的最简单方法是在void","该函数是该tostring方法用来填充小部件描述信息的。","该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。","该标志用橙色或轮廓线标出每个层的边界,或者使用debugrepaintrainbowenabled标志,","语义","请确保运行flutter","调度","调试flutter","调试flutter应用","调试动画","调试动画最简单的方法是减慢它们的速度。为此,请将timedilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。","调试应用程序层","调试性能问题","调试模式断言","跟踪dart代码性能","跟踪输出保存为start_up_info.json,在flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:","这个应用程序:","这也关闭了observatory调试器。一个中间模式可以关闭除observatory之外所有调试辅助工具的,称为“profil","这可以帮助您确定某个对象是否以某种不正确的方式进行hit测试(flutter检测点击的位置是否有能响应用户操作的widget),例如,如果它实际上超出了其父项的范围,首先不会考虑通过hit测试。","这将显示两个图表。第一个是gpu线程花费的时间,最后一个是cpu线程花费的时间。","这就是为什么如果你看转储,你会看到特定的对象标记为“dirty”。您还可以查看已注册了哪些手势监听器;","这应该始终在发布模式(releas","这是一个“扁平化”的树,显示了通过各种构建函数投影的所有widget(如果你在widget树的根中调用tostringdeepwidget,这是你获得的树)。","这是一个封装print,它将输出限制在一个级别,避免被android内核丢弃。","这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。","这是根layer的tostringdeep输出的。","进入flutter引擎时.","(下面讨论)。",")的任何时间调用此方法(在调用runapp()之后)。"],"chapter2/thread_model_and_error_report.html":["!=","\"error","\"intercepted:","$line\");","$this',","'widget","()","(e)","(e){","(e,","(fluttererrordetail","(object","(onerror","(zone","),",");","...","...//","//","//上报错误和日志逻辑","//手机日志","//执行build方法","//报告错误","//收集日志","//构建错误详情对象","//调用了onerror回调","1)).then((e)","=","=>","@overrid","_debugreportexception(","body(),","build();","built","catch","collectlog(line);","collectlog(str","context,","context:","dart","dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,,如果读者不清楚,可以查看dart语言文档,不在赘述,下面我们看看flutter中的异常捕获。","dart中有一个runzoned(...)","dart单线程模型","dart线程模型及异常捕获","detail","details)","details){","details;","details=makedetails(obj,stack);","dumperrortoconsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如:","dynam","e,","error","errorwidget.builder(_debugreportexception('build","event","exception,","exception:","final","first","flutter","fluttererror.onerror","fluttererror.reporterror(details);","fluttererrordetail","fluttererrordetails(","flutter异常捕获","flutter框架异常捕获","function","futur","future.delayed(duration(seconds:","future.error(\"xxx\"));","future.then((_)","future.value(499);","future2","future2.catcherror((e)","future3","handler\");","informationcollector","informationcollector,","informationcollector:","library',","library:","line)","line){","main()","makedetails(obj,","makedetails(object","map","microtask","new","null)","obj,","onerror(details);","onerror,","onerror:","onerror:zone中未捕获异常处理回调,如果开发者提供了onerror回调或者通过zonespecification.handleuncaughterror指定了错误处理回调,那么这个zone将会变成一个error","parent,","parent.print(zone,","performrebuild()","print(\"catch","print(\"nev","print(\"unus","print(e)","print:","queue。从图中可以发现,微任务队列的执行优先级高于事件队列。","queue,另一个叫做“事件队列”","r","reached!\");","reporterror(details);","reporterror(fluttererrordetail","reporterrorandlog(details);","reporterrorandlog(fluttererrordetail","return","runapp(myapp()),","runapp(myapp());","runzoned(","runzoned(()","runzoned(r","self,","stack)","stack));","stack);","stack){","stack,","stack:","stacktrac","static","string","throw","tri","try{","var","void","zone","zone\";","zone,","zone.\");","zonedeleg","zonespecif","zonespecification(","zonespecification,","zonespecification:","zonespecification:zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子:","zonevalues,","zonevalues:","zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如:","zone内部发生的错误是不会跨越当前error","zone的边界的,如果想跨越error","zone边界去捕获异常,可以通过共同的“源”zone来捕获,如:","zone,该error","{","}","})","}),","});","},","};","}catch","下面是拦截应用中所有调用print输出日志的行为。","其它异常捕获与日志收集","可以看到,在发生异常时,flutter默认的处理方式是弹一个errorwidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugreportexception()方法看看:","在dart中,所有的外部事件任务都在事件队列中,如io、计时器、点击、以及绘制事件等,而微任务通常来源于dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于gui应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过future.microtask(…)方法向微任务队列插入一个任务。","在flutter中,还有一些flutter没有为我们捕获的异常,如调用空对象方法异常、future中的异常。在dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了future的异常的:","在java和oc中,如果程序发生异常且没有被捕获,那么程序将会终止,但在dart或javascript中则不会,究其原因,这和它们的运行机制有关系,java和oc都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但dart和javascript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过dart官方提供的一张图来看看dart大致运行原理:","在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。","在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列”","总结","我们发现onerror是fluttererror的一个静态属性,它有一个默认的处理方法","我们发现,错误是通过fluttererror.reporterror方法上报的,继续跟踪:","我们最终的异常捕获和上报代码如下:","执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。","方法,可以给执行对象指定一个zone。zone表示一个代码执行的环境范围,为了方便理解,读者可以将zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如zone中可以捕获日志输出、timer创建、微任务调度的行为,同时zone也可以捕获所有未处理的异常。下面我们看看runzoned(...)方法定义:","有异常时则弹出错误提示","构建错误信息","框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,flutter就会自动弹出一个错误界面,这是因为flutter已经在执行build方法时添加了异常捕获,最终的源码如下:","现在我们来介绍一下dart线程运行过程,如上图中所示,入口函数","的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。","这样一来,我们app中所有调用print方法输出日志的行为都会被拦截,通过这种方式,我们也可以在应用中记录日志,等到应用触发未捕获的异常时,将异常信息和日志统一上报。zonespecification还可以自定义一些其他行为,读者可以查看api文档。","这样一来,结合上面的fluttererror.onerror我们就可以捕获我们flutter应用中全部错误了!需要注意的是,error","这样我们就可以处理那些flutter为我们捕获的异常了,接下来我们看看如何捕获其它异常。"],"chapter3/":["sdk文档。","widget简介","单选框和复选框","图片和icon","基础widget","按钮","文本、字体样式","本章目录","本节介绍一下flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像api文档一样所有属性都介绍,关于属性详细的信息请参考flutt","输入框和表单"],"chapter3/flutter_widget_intro.html":["!_active;","\"hello","$key';","&&","'$runtimetyp","'$runtimetype'","'active'","'inactive',","'package:flutter/cupertino.dart';","'package:flutter/material.dart';","'package:flutter/widgets.dart';","(","()","(译者语:和android中的framelayout相似),stack允许子",")","),",");",")布局模型设计的。","++_counter)",",","//","//return","//初始化状态","//导入cupertino","//点击后计数器自增","//移除计数器","//随便返回一个text()","0","10.0,","200.0,","32.0,","5436):",":","=","==","=>","?","@immut","@overrid","@protect","@requir","_activ","_active,","_active确定颜色:绿色为tru","_counter;","_counter=widget.initvalue;","_counterwidgetst","_counterwidgetstate();","_handletap()","_handletap,","_handletapboxchanged()","_handletapboxchanged(bool","_handletapboxchanged,","_handletapcancel()","_handletapcancel,","_handletapdown(tapdowndetail","_handletapdown,","_handletapup(tapupdetail","_handletapup,","_highlight","_parentwidgetcst","_parentwidgetcstate();","_parentwidgetst","_parentwidgetstate();","_parentwidgetstatec","_tapboxast","_tapboxastate();","_tapboxcst","_tapboxcstate();","abstract","activ","active:","active;","backgroundcolor,","backgroundcolor;","background、一个边框、或者一个阴影。","bool","border.all(","border:","boxdecoration(","build","build():此回调读者现在应该已经相当熟悉了,它主要是用于构建widget子树的,会在如下场景被调用:","build(buildcontext","build时可以被同步读取。","canupdate(...)是一个静态方法,它主要用于在widget树重新build时复用旧的widget,其实具体来说,应该是:是否用新的widget对象去更新旧ui树上所对应的element对象的配置;通过其源码我们可以看到,只要newwidget与oldwidget的runtimetype和key同时相等时就会用newwidget去更新element对象的配置,否则就会创建新的element。","canupdate(widget","center(","child:","class","color","color:","colors.grey[600],","colors.lightgreen[700]","colors.teal[700],","colors.white)),","colors.white),","column:","const","contain","container(","container可以使用矩阵在三维空间中对其进行变换。","container:","context)","context,它是buildcontext类的一个实例,表示构建widget的上下文,它是操作widget在树中位置的一个句柄,它包含了一些查找、遍历当前widget树的一些方法。每一个widget都有一个自己的context对象。","counterwidget","counterwidget();","counterwidget({","counterwidget接收一个initvalue整形参数,它表示计数器的初始值。下面我们看一下state的代码:","createelement()","createelement();","createelement():正如前文所述“一个widget可以对应多个element”;flutt","createstate()","createstate();","cupertino","cupertinobutton(","cupertinocolors.activeblue,","cupertinonavigationbar(","cupertinopagescaffold(","cupertinotestrout","deactiv","deactivate()","deactivate():当state对象从树中被移除时,会调用此回调。在一些场景下,flutt","debugfillproperties(...)","debugfillproperties(diagnosticpropertiesbuild","decoration:","demo\"),","design的应用程序。material应用程序以materialapp","details)","diagnosticabletre","diagnosticstreestyle.dense;","didchangedepend","didchangedependencies()","didchangedependencies():当state对象的依赖发生变化时会被调用;例如:在之前build()","didupdatewidget","didupdatewidget():在widget重新构建时,flutt","didupdatewidget(counterwidget","dispos","dispose()","dispose():当state对象从树中被永久移除时调用;通常在此回调中释放资源。","echo","echo(text:","echo({","element","extend","false,","false;","final","flatbutton(","flutter","flutter也提供了一套丰富的cupertino风格的widget,尽管目前还没有materi","flutter提供了一套丰富、强大的基础widget,在基础widget库之上flutter又提供了一套material风格(android默认的视觉风格)和一套cupertino风格(ios视觉风格)的widget库。要使用基础widget库,需要先导入:","flutter提供了一套丰富的materi","flutter提供了丰富的widget,在实际的开发中你可以随意使用它们,不要怕引入过多widget库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于material和cupertino都是在基础widget库之上的,所以如果你的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。","framework会动态设置state.widget为新的widget实例。","framework会将state对象重新插到树中,如包含此state对象的子树在树的一个位置移动到另一个位置时(可以通过globalkey来实现)。如果移除后没有重新插入到树中则紧接着会调用dispose()方法。","framework会调用widget.canupdate来检测widget树中同一位置的新旧节点,然后决定是否需要更新,如果widget.canupdate返回true则会调用此回调。正如之前所述,widget.canupdate会在新旧widget的key和runtimetype同时相等时会返回true,也就是说在在新旧widget的key和runtimetype同时相等时didupdatewidget()就会被调用。","framework会通知widget调用此回调。","framework动态设置。注意,这种关联并非永久的,因为在应用声明周期中,ui树上的某一个节点的widget实例在重新构建时可能会变化,但state实例只会在第一次插入到树中时被创建,当在重新构建时,如果widget被修改了,flutt","framework只会调用一次该回调,所以,通常在该回调中做一些一次性的操作,如状态初始化、订阅子树的事件通知等。不能在该回调中调用buildcontext.inheritfromwidgetofexacttype(该方法用于在widget树上获取离当前widget最近的一个父级inheritfromwidget,关于inheritedwidget我们将在后面章节介绍),原因是在初始化完成后,widget树中的inheritfromwidget也可能会发生变化,所以正确的做法应该在在build()方法或didchangedependencies()中调用它。","framework在收到消息后,会重新调用其build方法重新构建widget树,从而达到更新ui的目的。","framework在构建ui树时,会先调用此方法生成对应节点的element对象。此方法是flutt","framework就会调用该方法为每一个位置生成一个独立的state实例,其实,本质上就是一个statefulelement对应一个state实例。","framework状态发生改变,flutt","framework隐式调用的,在我们开发过程中基本不会调用到。","gesturedetector","gesturedetector(","gesturedetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。","height:","i/flutt","import","initst","initstate()","initstate:当widget第一次插入到widget树时会被调用,对于每一个state对象,flutt","initvalue;","int","key","key);","key,","key:","key;","key})","materi","middle:","navigationbar:","new","newvalue)","newvalue;","newwidget)","newwidget.key;","newwidget.runtimetyp","null","null,","oldwidget)","oldwidget,","oldwidget.key","oldwidget.runtimetyp","onchanged(!active);","onchanged:","onchanged;","onpressed:","onpressed:()=>setstate(()=>","ontap:","ontapcancel:","ontapdown:","ontapup:","parentwidget","parentwidgetc","parentwidgetst","posit","print(\"build\");","print(\"deactive\");","print(\"didchangedependencies\");","print(\"didupdatewidget\");","print(\"dispose\");","print(\"initstate\");","print(\"reassemble\");","properties)","properties.defaultdiagnosticstreestyl","reassembl","reassemble()","reassemble():此回调是专门为了开发调试而提供的,在热重载(hot","reload)时会被调用,此回调在release模式下永远不会被调用。","return","row、","setstate(()","stack:","state","statefulel","statefulelement(this);","statefulwidget","statefulwidget({","stateless","statelessel","statelesselement(this);","statelesswidget","statelesswidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它widget来构建ui,在构建过程中会递归的构建其嵌套的widget。我们看一个简单的例子:","state。","state中有两个常用属性:","state生命周期","static","string","style:","super(key:","super.deactivate();","super.debugfillproperties(properties);","super.didchangedependencies();","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","super.reassemble();","tapboxa","tapboxa({key","tapboxb","tapboxb(","tapboxb({key","tapboxc","tapboxc(","tapboxc({key","tapboxc将其_active状态导出到其父widget中,但在内部管理其_highlight状态。这个例子有两个状态对象_parentwidgetstate和_tapboxcstate。","text(","text(\"cupertino","text(\"press\"),","text(\"xxx\");","text('$_counter'),","text(text),","text(widget.act","text;","textstyle(fontsize:","text:该","this.active:","this.backgroundcolor:colors.grey,","this.initvalue:","this.key","this.onchanged})","this.text,","todo:","tostringshort()","true;","valuechang","void","widget","widget({","widget.act","widget.onchanged(!widget.active);","widget、用于应用主题数据传递的theme等等。而原生开发中的控件通常只是指ui元素。在后面的内容中,我们在描述ui元素时,我们可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。","widget。","widget与el","widget中,state对象也和statefulelement具有对应关系(一对一),所以在flutter的sdk文档中,可以经常看到“从树中移除state对象”或“插入state对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。","widget了,如:scaffold、appbar、flatbutton等。要使用materi","widget同时插入到widget树的多个位置时,flutt","widget和设置页并不在一起。正确的做法是通过一个全局状态管理器来处理这种“相距较远”的widget之间的通信。目前主要有两种办法:","widget实际上就是element的配置数据,widget树实际上是一个配置树,而真正的ui渲染树是由element构成;不过,由于element是通过widget生成,所以它们之间有对应关系,所以在大多数场景,我们可以宽泛地认为widget树就是指ui控件树或ui渲染树。","widget库","widget库中,有一些widget可以根据实际运行平台来切换表现风格,比如materialpageroute,在路由切换时,如果是android系统,它将会使用android系统默认的页面切换动画(从底向上),如果是ios系统时,它会使用ios系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有cupertino","widget库介绍","widget开始,","widget所在的父widgetinitst","widget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:","widget的生命周期中可能会被多次调用。例如,当一个st","widget的示例,我们实现一个简单的cupertino页面:","widget相关的状态,它在st","widget简介","widget管理自己的state。","widget管理自身状态","widget类继承自diagnosticabletree,diagnosticabletree即“诊断树”,主要作用是提供调试信息。","widget能够重新build一下,但我们的app","widget那么丰富,但也在不断的完善中。值得一提的是在materi","widget那边就会收到通知,然后重新build一下即可。","widget,可帮助您构建遵循materi","widget,它表示与该state实例关联的widget实例,由flutt","widget,需要先引入它:","width:","world\");","{","{}","}","})","}):super(key:key);","});","——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态","一个statefulwidget类会对应一个state类,state表示与其对应的statefulwidget要维护的状态,state中的保存的状态信息可以:","一个widget对象可以对应多个element对象。这很好理解,根据同一份配置(widget),可以创建多个实例(element)。","上面的代码,实现了一个回显字符串的echo","下面我们介绍一下常用的widget。","下面我们来看看各个回调函数:","下面是在iphonex上页面效果截图:","下面的例子将使用gesturedetector来识别点击事件,关于该gesturedetector的详细内容我们将在后面“事件处理”一章中介绍。","中inheritedwidget发生了变化,那么此时inheritedwidget的子widget的didchangedependencies()回调都会被调用。典型的场景是当系统语言locale或应用主题改变时,flutt","中包含了一个inheritedwidget,然后在之后的build()","为","为tapboxb","主要接口","也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外,","你可以使用","使用redux这样的全局状态包,读者可以在pub上查看其详细信息。","例如,iconbutton是一个图片按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。","全局状态管理","取代线性布局","另一种实现可能会将高亮状态导出到父widget,同时保持_active状态为内部,但如果你要将该tapbox给其它人使用,可能没有什么意义。","另外widget类本身是一个抽象类,其中最核心的就是定义了createelement()接口,在flutter开发中,我们一般都不用直接继承widget类来实现widget,相反,我们通常会通过继承statelesswidget和statefulwidget来间接继承widget类来实现,而statelesswidget和statefulwidget都是直接继承自widget类,而这两个类也正是flutter中非常重要的两个抽象类,它们引入了两种widget模型,接下来我们将重点介绍一下这两个类。","可以看到此时initst","可以看到,在statefulwidget插入到widget树时首先initstate方法会被调用。","可以装饰一个boxdecoration,","可让您创建一个带格式的文本。","可让您创建矩形视觉元素。contain","和didchangedependencies都没有被调用,而此时didupdatewidget被调用。","和statelesswidget一样,statefulwidget也是继承自widget类,并重写了createelement()方法,不同的是返回的el","响应式的编程框架中都会有一个永恒的主题——“状态管理”,无论是在react/vue(两者都是支持响应式编程的web开发框架)还是flutter,他们讨论的问题和解决的思想都是一致的。所以,如果你对react/vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,st","在flutter中,widget的功能是“描述一个ui元素的配置数据”,它就是说,widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。实际上,flutter中真正代表屏幕上显示元素的类是element,也就是说widget只是描述element的一个配置,有关element的详细介绍我们将在本书后面的高级部分深入介绍,读者现在只需要知道,widget只是ui元素的一个配置数据,并且一个widget可以对应多个element,这是因为同一个widget对象可以被添加到ui树的不同部分,而真正渲染时,ui树的每一个widget节点都会对应一个element对象。总结一下:","在state对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。","在widget","在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。","在widget生命周期中可以被改变,当state被改变时,可以手动调用其setstate()方法通知flutt","在下面tapboxc示例中,按下时,盒子的周围会出现一个深绿色的边框。抬起时,边框消失;点击生效,盒子的颜色改变。","在之前的章节中,我们已经简单介绍过statelesswidget,statelesswidget相对比较简单,它继承自widget,重写了createelement()方法:","在以下示例中,tapboxb通过回调将其状态导出到其父项。由于tapboxb不管理任何状态,因此它的父类为statelesswidget。","在前面的介绍中,我们知道flutter中几乎所有的对象都是一个widget,与原生开发中“控件”不同的是,flutter中的widget的概念更广泛,它不仅可以表示ui元素,也可以表示一些功能性的组件如:用于手势检测的","在按下时添加绿色边框,当抬起时,取消高亮","在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与element有对应关系(一可能对多),在有些场景(flutter的sdk文档中)也代指“ui树”的意思。而在st","在调用didchangedependencies()之后。","在调用didupdatewidget()之后。","在调用initstate()之后。","在调用setstate()之后。","基础widget","堆叠,","处理抬起事件","处理按下事件","复写父类的方法,主要是设置诊断树的一些特性。","如","如何决定使用哪种管理方法?以下原则可以帮助你决定:","如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。","如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。","如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。","定义_active:确定盒子的当前颜色的布尔值。","定义_handletap()函数,该函数在点击该盒子时更新_active,并调用setstate()更新ui。","实现","实现_handletapboxchanged(),当盒子被点击时调用的方法.","实现widget的所有交互式行为。","实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在app","对于buildcontext读者现在可以先作了解,随着本书后面内容的展开,也会用到context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于buildcontext更多的内容,我们也将在后面高级部分再深入介绍。","对于一些widget来说,混合管理的方式非常有用。在这种情况下,widget自身管理一些内部状态,而父widget管理一些其他外部状态。","对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。","对象:","对象并不相同;另外statefulwidget类中添加了一个新的接口createstate(),下面我们看看statefulwidget的类定义:","开发人员只会关心该框是否处于active状态,而不在乎高亮显示是如何管理的,所以应该让tapbox内部处理这些细节。","当应用中包括一些跨widget(甚至跨路由)的状态需要同步时,上面介绍的方法很难胜任了。比如,我们有一个设置页,里面可以设置应用语言,但是我们为了让设置实时生效,我们期望在语言状态发生改变时,我们的app","当按下、抬起、或者取消点击时更新_highlight状态,调用setstate()更新ui。","当检测到点击时,它会通知父widget。","当点击时,将状态的改变传递给父widget.","当点击盒子并且_active状态改变时调用setstate()更新ui。","当状态改变时,调用setstate()更新ui.","总结","我们先来看一下widget类的声明:","我们可以看到,在counterwidget从widget树中移除时,deactive和dispose会依次被调用。","我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:","按照惯例,widget的构造函数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查,另外,在继承widget时,第一个参数通常应该是key,如果接受子widget的child参数,那么通常应该将它放在参数列表的最后。同样是按照惯例,widget的属性应被声明为final,防止被意外改变。","接下来,我们创建一个新路由,在新路由中,我们只显示一个counterwidget:","接下来,我们在widget树中移除counterwidget,将路由build方法改为:","接下来,我们将通过创建三个简单示例tapboxa、tapboxb和tapboxc来说明管理状态的不同方式。","方法中订阅语言改变的事件,当用户在设置页切换语言后,我们触发语言改变事件,然后app","是否使用materialapp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个materi","有关key和widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为widget显式添加key的话可能(但不一定)会使ui在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,我们只在构建列表项ui时会显式指定key。","本书后面事件处理一章中会实现一个全局事件总线。","来定位他们相对于stack的上下左右四条边的位置。stacks是基于web开发中的绝对定位(absolut","概念","注意:在继承statefulwidget重写其方法时,对于包含@mustcallsuper标注的父类方法,都要在子类方法中先调用父类方法。","混合管理","混合管理(父widget和子widget都管理状态)。","然后我们可以通过如下方式使用它:","然后我们点击⚡️按钮热重载,控制台输出日志如下:","然后热重载,日志如下:","父widget管理子widget状态。","父widget管理子widget的st","状态。","状态管理","理解state的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下state的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承statefulwidget,代码如下:","用于创建和state","管理_activ","管理_active状态.","管理_highlight","管理tapboxa的状态。","管理状态.","管理自身状态.","类:","继承statelesswidget类,因为所有状态都由其父widget处理。","该widget在应用程序的根部创建了一些有用的widget,比如一个theme,它配置了应用的主题。","读者应该将这两点牢记在心中。","这个key属性类似于react/vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canupdate()方法中。","这些例子功能是相似的","这些具有弹性空间的布局类widget可让您在水平(row)和垂直(column)方向上创建灵活的布局。其设计是基于web开发中的flexbox布局模型。","这里缺一张生命周期图","间接继承自element类,与statefulwidget相对应(作为其配置数据)。statefulelement中可能会多次调用createstate()来创建状态(state)对象。","间接继承自element类,与statelesswidget相对应(作为其配置数据)。",",当盒子被点击时调用。",",灰色为false。"],"chapter3/text.html":["\"","\"*4,","\"*6,","\"courier\",","\"home:","\"https://flutterchina.club\",","\"use","'my_package',","'raleway',","))","),",");",");","//","//1.设置文本默认样式","//2.不继承默认样式","//字符串重复六次","//指定包名","1,","1.2,","1.5,","18.0,","20.0,","500","600","=","[","]","],","_taprecogn","_taprecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。","abrilfatfac","asset:","assets/fonts/abrilfatface/abrilfatfac","assets/fonts/raleway","background:","buttontext","child:","children,","children:","children是一个textspan的数组,也就是说textspan可以包括其他textspan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果,然后用textspan实现它。","color:","color:colors.red,","colors.blu","colors.blue,","colors.grey","column(","const","crossaxisalignment.start,","crossaxisalignment:","decoration:textdecoration.underline,","decorationstyle:","defaulttextstyl","defaulttextstyle(","false,","family:","flutter:","font","fontfamili","fontfamily:","fonts:","fontsize:","fontsize可以精确指定字体大小,而textscalefactor只能通过缩放比例来控制。","fontsize:该属性和text的textscalefactor都用于控制字体大小。但是有两给主要区别:","fonts中的字体。本节将介绍如何为flutter应用配置字体,并在渲染文本时使用它们。","gesturerecogn","height:","height:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontsize*height。","i'm","inherit:","jack\"),","jack\",","jack.","lib/fonts/raleway","lib/是隐含的,所以它不应该包含在asset路径中。","list","maxlines:","maxlines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式textoverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;textoverflow的其它截断方式请参考sdk文档。","medium.ttf","new","overflow:","package:","packages/my_package/fonts/raleway","package中的字体","paint()..color=colors.yellow,","raleway","recognizer,","recognizer:","regular.ttf","semibold.ttf","sting","style,","style:","text","text\",","text(","text(\"hello","text(\"i","text,","text.rich(textspan(","text:","textalign.center,","textalign.start,","textalign:","textalign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是text","textdecorationstyle.dash","textoverflow.ellipsis,","textscalefactor:","textscalefactor主要是用于系统字体大小设置改变时对flutter应用字体进行全局调整,而fontsize通常用于单个文本。","textscalefactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontsize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过mediaquerydata.textscalefactor获得,如果没有mediaquery,那么会默认值将为1.0。","textspan","textspan(","textspan({","textstyl","textstyle(","textstyle,","textstyle用于指定文本显示的样式如颜色、字体、粗细、背景等。我们看一个示例:","text属性代表该文本片段的样式和内容。","text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:","var","weight:","widget本身。本例中虽然是指定了居中对齐,但因为text文本内容宽度不足一行,text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:","world","world!","world\"),","world\",","});","​","一个包也可以只提供字体文件而不需要在pubspec.yaml中声明。","上面代码中,我们通过textspan实现了一个基础文本片段和一个链接片段,然后通过text.rich","上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过defaulttextstyl","使用字体","使用文本样式","其中style","可以在flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如googl","和","在asset中声明","在flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过textstyle属性使用字体。","在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而defaulttextstyle正是用于设置默认文本样式的。下面我们看一个例子:","在上面的例子中,text的所有文本内容只能按同一种样式,如果我们需要对一个text内容的不同部分按照不同的样式显示,这时就可以使用textspan,它代表文本的一个“片段”。我们看看textspan的定义:","在这种情况下,由于应用程序本地定义了字体,所以在创建textstyle时可以不指定package参数:","声明文本样式","如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。","字符串内容超过一行,text宽度等于屏幕宽度,第二行文本便会居中显示。","效果如下:","文本、字体样式","文本及样式","方法将textspan","此示例只展示了textstyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅sdk文档。值得注意的是:","添加到text中,之所以可以这样做,是因为text其实就是richtext的一个包装,而richtext是可以显示多种样式(富文本)的widget。","源码:","然后,应用程序可以声明一个字体,如下面的示例所示:","要使用package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建textstyle的过程如下:","要将字体打文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如:","设置给了子树column节点处,这样一来column的所有子孙text默认都会继承该样式,除非text显示指定不继承样式,如代码中注释2。示例运行效果如下:","运行效果如下:","这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件:",":由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。"],"chapter3/buttons.html":["()",")",");","...","//外形","//按钮按下时的背景颜色","//按钮文字颜色","//按钮点击回调","//按钮的内容","//按钮的填充","//按钮禁用时的文字颜色","//按钮背景颜色","//正常状态下的阴影","//点击时,水波动画中水波的颜色","0.0,//","2.0,","8.0,//按下时的阴影","=","=>","@requir","borderradius.circular(20.0)),","brightness.dark,","child:","color:","colorbrightness:","colors.blue,","colors.blue[700],","colors.grey,","const","flatbutton","flatbutton(","flatbutton({","flatbutton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色:","highlightcolor:","icon(icons.thumb_up),","icon:","iconbutton","iconbutton(","iconbutton是一个可点击的icon,不包括文字,默认没有背景,点击后会出现背景:","materi","onpressed:","outlinebutton","outlinebutton(","outlinebutton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱):","raisedbutton","raisedbutton(","raisedbutton({","shape:roundedrectangleborder(borderradius:","splashcolor:","text(\"normal\"),","text(\"submit\"),","this.child,","this.color,","this.colorbrightness,//按钮主题,默认是浅色主题","this.disabledcolor,//按钮禁用时的背景颜色","this.disabledelev","this.disabledtextcolor,","this.elev","this.highlightcolor,","this.highlightelev","this.onpressed,","this.padding,","this.shape,","this.splashcolor,","this.textcolor,","widget库中提供了多种按钮widget如raisedbutton、flatbutton、outlinebutton等,它们都是直接或间接对rawmaterialbutton的包装定制,所以他们大多数属性都和rawmaterialbutton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有materi","widget库中,我们会在很多widget中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在material设计风格中是一种很重要的表现形式,以后在介绍其它widget时,便不再赘述。","{},","}","})","代码如下:","使用flatbutton也很简单,代码如下:","使用outlinebutton也很简单,代码如下:","使用raisedbutton非常简单,如:","使用代码如下:","值得注意的是,在materi","其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。","即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如:","如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,本文将在后面介绍container时来介绍如何实现。","定义一个背景蓝色,两边圆角的按钮。效果如下:","库中的按钮都有如下相同点:","很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorbrightness为brightness.dark,这是为了保证按钮文字颜色为浅色。","按下时都会有“水波动画”。","按钮","按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以flatbutton为例,介绍一下常见的按钮属性,详细的信息可以查看api文档。","是不是有质感了!之所以会这样,是因为raisedbutton默认有配置阴影:","有一个onpressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。","示例","禁用时的阴影","细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的flatbutton换成raisedbutton就行,其它代码不用改,换了之后我们看看效果:","自定义按钮外观"],"chapter3/img_and_icon.html":["\"","\"\";","\"\\ue914\";","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"),","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",","\"materialicons\",","#指定一个字体名","","","","'myicon',",")","),",");","+=",",","...","//","//图片的宽","//图片的混合色值","//图片高度","//对齐方式","//混合模式","//重复方式","0xe000","0xe614,","0xe90d","0xe914","0xec7d,","100.0","100.0,","200.0,","24.0,","=","[","\\ue000\";","\\ue90d\";","],","accessible:","alignment.center,","asset:","assetimage(\"images/avatar.png\"),","assets:","blendmode.difference,","book","children:","class","color:","colorblendmode:","colorblendmode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorblendmode指定混合模式,下面是一个简单的示例:","colors.blue,","colors.green","colors.green,),","colors.purple,),","color和","const","contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。","cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。","design:","design图标的icondata静态变量定义。","design字体图标","design所有图标可以在其官网查看:https://material.io/tools/icons/","design的字体图标,在pubspec.yaml文件中的配置如下","e000","e90d","e914","error:","family:","fill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。","fingerprint:","fitheight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fitwidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在boxfit中定义,它是一个枚举类型,有如下值:","flutter:","flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。","flutter中,我们可以通过image来加载并显示图片,image的数据源可以是asset、文件、内存以及网络。","flutter默认包含了一套materi","fontfamily:","fonts/iconfont.ttf","fonts:","fontsize:","height:","icon","icon(icons.accessible,color:","icon(icons.error,color:","icon(icons.fingerprint,color:","icon(myicons.book,color:","icon(myicons.wechat,color:","icondata","icondata(","icons类中包含了所有materi","imag","image(","image({","image.asset(\"images/avatar.png\",","image.network(","image:","imageprovid","imagerepeat.norepeat,","imagerepeat.repeati","images/avatar.png","image也提供了一个快捷的构造函数image.asset用于从asset中加载、显示图片:","image也提供了一个快捷的构造函数image.network用于从网络加载、显示图片:","image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下image的主要参数:","mainaxisalignment.center,","mainaxisalignment:","matchtextdirection:","materi","myicon","myicons{","networkimage(","none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。","repeat:","repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:","row(","static","string","style:","text(icons,","textstyle(","this.align","this.color,","this.colorblendmode,","this.fit,//缩放模式","this.height,","this.repeat","this.width,","true","us","wechat","widget有一个必选的image参数,它对应一个imageprovider。下面我们分别演示一下如何从asset和网络加载图片。","width:","width、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。","}","})","一图胜万言:","为了使用方便,我们定义一个myicons类,功能和icons类一样:将字体文件中的所有图标都定义成静态变量:","从asset中加载图片","从网络加载图片","体积小:可以减小安装包大小。","使用","使用materi","使用自定义字体图标","假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:","加载该图片","参数","可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。","可以通过textspan和文本混用。","图标","图片","图片及icon","图片和icon","在flutter开发中,iconfont和图片相比有如下优势:","在pubspec.yml中的flutter部分添加如下内容:","在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。","在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。","导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":","微信图标","我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在flutter中,我们使用ttf格式即可。","我们看一个简单的例子:","是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的imageprovid","矢量的:iconfont都是矢量图标,放大不会影响其清晰度。","运行上面两个示例,图片加载成功后显示如下:","运行后效果如下:","运行效果如下(彩色):","运行效果如下:","通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,flutter封装了一个icondata和icon来专门显示字体图标,上面的例子也可以用如下方式实现:",",如assetimage是实现了从asset中加载图片的imageprovider,而networkimage实现了从网络加载图片的imageprovider。"],"chapter3/radio_and_checkbox.html":[")","),",");",",","//维护单选开关状态","//选中时的颜色","//重新构建页面","=>","@overrid","[","],","_checkboxselected,","_checkboxselected=true;//维护复选框状态","_checkboxselected=value;","_switchandcheckboxtestroutest","_switchandcheckboxtestroutestate();","_switchselected,//当前状态","_switchselected=true;","_switchselected=value;","activecolor:","bool","build(buildcontext","checkbox(","children:","class","colors.red,","column(","context)","createstate()","extend","materi","new","onchanged:(value){","return","setstate(()","state","statefulwidget","switch(","switchandcheckboxtestrout","switch和checkbox属性比较简单,读者可以查看api文档,它们都有一个activecolor属性,用于设置激活态的颜色。至于大小,到目前为止,checkbox的大小是固定的,无法自定义,而switch只能定义宽度,高度也是固定的。值得一提的是checkbox有一个属性trist","value:","widget","widgets库中提供了material风格的单选开关switch和复选框checkbox,它们都是继承自statelesswidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击switch或checkbox时,它们会触发onchanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例:","{","}","});","},","。在其build方法中分别构建了一个switch和checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setstate()通知framework重新构建ui。","上面代码中,由于要维护switch和checkbox状态,所以switchandcheckboxtestroute继承自statefulwidget","单选开关和复选框","单选框和复选框","属性及外观","总结","通过switch和checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父widget来管理状态,然后当用户点击时,再通过事件通知给父widget,这样是合理的,因为switch和checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义widget时也应该思考一下哪种状态的管理方式最为合理。",",表示是否为三态,其默认值为fals",",这时checkbox有两种状态即“选中”和“不选中”,对应的value值为true和fals",";如果其值为true时,value的值会增加一个状态null,读者可以自行了解。"],"chapter3/input_and_form.html":["\"email\",","\"form","\"input1\"","\"input2\"","\"密码\",","\"密码不能少于6位\";","\"您的登录密码\",","\"用户名\",","\"用户名不能为空\";","\"用户名或邮箱\",","\"电子邮件地址\",","#\"","$v\");","()","(context){","(ctx)","(v)",")",")),","),",");","...",".length",".of(context)",".primarycolor,",".trim()",".”","//","//print(form.of(context));","//下面代码没有效果","//保存回调","//初始值","//在这里不能通过此方式获取formstate,context不对","//定义一个control","//定义下划线颜色","//将焦点从第一个textfield移到第二个textfield","//开启自动校验","//是否自动校验。","//校验密码","//由于本widget也是form的子代widget,所以可以通过下面方式获取formst","//监听输入改变","//设置control","//设置globalkey,用于后面获取formst","//隐藏下划线","//验证回调","//验证通过提交数据","0","1,","1.0))","13.0)","14.0)//定义提示文本样式","16.0,","2,","2.0,","24.0),","28.0),","5","5.0",":","=","==","=>",">","?","@overrid","@requir","[","],","_focustestroutest","_focustestroutestate();","_formkey,","_formkey=","_formtestroutest","_formtestroutestate();","_pwdcontrol","_pwdcontroller,","_selectioncontrol","_selectioncontroller,","_selectioncontroller.selection=textselection(","_selectioncontroller.text.length","_selectioncontroller.text=\"hello","_unamecontrol","_unamecontroller,","_unamecontroller.addlistener((){","_unamecontroller=new","autofocu","autofocus:","autovalid","autovalidate:","autovalidate:是否自动校验输入内容;当为true时,每一个子formfield内容发生变化时都会自动校验合法性,并直接显示错误信息。否则,需要通过调用formstate.validate()来手动校验。","baseoffset:","body:","bool","border(bottom:","border:","borderside(","borderside(color:","borderside:","boxdecoration(","build(buildcontext","builder(builder:","child,","child:","child:builder(builder:","children:","class","color:","colors.grey),//定义label字体样式","colors.grey,","colors.grey[200],","colors.red,","colors.white,","column(","const","container(","context)","controller,","controller:","controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则textfield内部会自动创建一个。","createstate()","cursorwidth、cursorradius和cursorcolor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。","data:","datetim","decor","decoration:","edgeinsets.all(15.0),","edgeinsets.all(16.0),","edgeinsets.only(top:","edgeinsets.symmetric(vertical:","emailaddress","enabled,","enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。","expanded(","extend","extentoffset:","false,","focusnod","focusnode();","focusnode);","focusnode,","focusnode.addlistener((){","focusnode1","focusnode1,//关联focusnode1","focusnode1.unfocus();","focusnode2","focusnode2,//关联focusnode2","focusnode2.unfocus();","focusnode:","focusnode和focusscopenode还有一些其它的方法,详情可以查看api文档。","focusnode绑定输入框","focusnode继承自changenotifier,通过focusnode可以监听焦点的改变事件,如:","focusnode:用于控制textfield是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。","focusscope.of(context).requestfocus(focusnode2);","focusscope.of(context);","focusscopenod","focusscopenode){","focusscopenode.requestfocus(focusnode2);","focusscopenode;","focustestrout","fontsize:","form","form(","form({","formfield","formfield({","formfieldsett","formfieldvalid","formstat","formstate).validate()){","formstate.reset():调用此方法后,会将子孙formfield的内容清空。","formstate.save():调用此方法后,会调用form子孙formfield的save回调,用于保存表单内容","formstate.validate():调用此方法后,会调用form子孙formfield的validate回调,如果有一个校验失败,则返回false,所有校验失败项都会返回用户返回的错误提示。","formstate为form的state类,可以通过form.of()或globalkey获得。我们可以通过它来对form的子孙formfield进行统一操作。我们看看其常用的三个方法:","formtestrout","form的子孙元素必须是formfield类型,formfield是一个抽象类,定义几个属性,formstate内部通过它们来完成操作,formfield部分定义如下:","form继承自statefulwidget对象,它对应的状态类为formstate。我们先看看form类的定义:","globalkey","globalkey();","hintcolor:","hintstyle:","hinttext:","horizontal:","icon(icons.email),","icon(icons.lock)","icon(icons.lock),","icon(icons.person)","icon:","if((_formkey.currentst","if(form.of(context).validate()){","if(nul","initialvalue,","initstate()","inputborder.non","inputdecor","inputdecoration(","inputdecoration(),","inputdecorationtheme(","inputdecorationtheme:","inputdecoration:用于控制textfield的外观显示,如提示文本、背景颜色、边框等。","inputformatters,","inputformatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。","int","key:","keyboardtype,","keyboardtype:","keyboardtype:用于设置该输入框默认的键盘输入类型,取值如下:","labelstyle:","labeltext:","list","materi","maxlength,","maxlengthenforc","maxlength和maxlengthenforc","maxlin","maxlines:输入框的最大行数,默认为1;如果为null,则无行数限制。","multilin","new","null","number","obscuretext","obscuretext:","obscuretext:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。","onchanged,","onchanged:","onchanged:form的任意一个子formfield内容发生变化时会触发此回调。","onchange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。","oneditingcomplete,","oneditingcomplete和onsubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onsubmitted回调是valuechanged类型,它接收当前输入内容做为参数,而oneditingcomplete不接收参数。","onpressed:","onsaved,","onsubmitted,","onwillpop,","onwillpop:决定form所在的路由是否可以直接返回(如点击返回按钮),该回调返回一个future对象,如果future的最终结果是false,则当前路由不会返回;如果为true,则会返回到上一个路由。此属性通常用于拦截返回按钮。","padding(","padding:","pagescaffold(","phone","prefixicon:","print(\"onchange:","print(_unamecontroller.text)","print(_unamecontroller.text);","print(focusnode.hasfocus);","raisedbutton(","return","row(","state","statefulwidget","style,","style:正在编辑的文本样式。","t","test\",","text","text(\"登录\"),","text(\"移动焦点\"),","text(\"隐藏键盘\"),","textalign","textalign.start,","textalign:","textcolor:","texteditingcontrol","texteditingcontroller();","textfield","textfield(","textfield(focusnode:","textfield({","textfield用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。","textformfield(","textinputact","textinputaction,","textinputaction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看api文档,下面是当值为textinputaction.search时,原生android系统下键盘样式:","textinputtyp","textinputtype.emailaddress,","textinputtype枚举值","textstyl","textstyle(color:","theme","theme(","theme.of(context).copywith(","this.cursorcolor,","this.cursorradius,","this.cursorwidth","title:","true,","underlineinputborder(","url","v","validator,","validator:","valuechang","void","voidcallback","widget","widget库中提供了丰富的输入框及表单widget。下面我们分别介绍一下。","widget,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。","widget,它继承自formfield类,也是textfield的一个包装类,所以除了formfield定义的属性之外,它还包括textfield的属性。","width:","willpopcallback","world!\";","{","|","}","})","});","},","”","下滑线浅灰色,宽度1像素","两种方式相比,onchanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:","为了方便使用,flutter提供了一个textformfield","之所以如此,是由于textfield在绘制下划线时使用的颜色是主题色里面的hintcolor,但提示文本颜色也是用的hintcolor,","代码如下:","优化后的url输入键盘;","优化后的日期输入键盘;android上会显示“:","优化后的电子邮件地址;会显示“@","优化后的电话号码输入键盘;会弹出数字键盘并显示\"*","会显示“/","其实context正是操作widget所对应的element的一个接口,由于widget树对应的element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。flutter中有很多“of(context)”这种方法,在使用时读者一定要注意context是否正确。","创建","创建一个controller:","含义","多行文本,需和maxlines配合使用(设为null或大于1)","如果我们直接修改hintcolor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintstyle,它可以覆盖hintcolor,并且主题中可以通过inputdecorationtheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下:","完整代码:","定义一个controller:","定义两个变量,用于保存用户名和密码,然后在onchange触发时,各自保存一下输入内容。","实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个textfield都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组textfield的内容,除了一个一个清除有没有什么更好的办法呢?为此,flutter提供了一个form","密码不能小于6位,如果小于6为则提示“密码不能少于6位”。","布局","当所有编辑框都失去焦点时键盘就会收起","思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?","我们修改一下上面用户登录的示例,在提交之前校验:","我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labeltext不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉textfield本身的下划线,然后通过container去嵌套定义样式,如:","控制焦点","数字;会弹出数字键盘","文本输入键盘","是否自动获取焦点。","来获取widget树中默认的focusscopenode。下面看一个示例,在此示例中创建两个textfield,第一个自动获取焦点,然后创建两个按钮:","校验用户名","注意,登录按钮的onpressed方法中不能通过form.of(context)来获取,原因是,此处的context为formtestroute的context,而form.of(context)是根据所指定context向根去查找,而formstate是在formtestroute的子树中,所以不行。正确的做法是通过builder来构建登录按钮,builder会将widget节点的context作为回调参数:","点击第一个按钮可以将焦点从第一个textfield挪到第二个textfield。","点击第二个按钮可以关闭键盘。","焦点可以通过focusnode和focusscopenode来控制,默认情况下,焦点由focusscope来管理,它代表焦点控制范围,可以在这个范围内可以通过focusscopenode在输入框之间移动焦点、设置默认焦点等。我们可以通过focusscope.of(context)","然后设置输入框controller:","用户名不能为空,如果为空则提示“用户名不能为空”。","界面如下:","登录按钮","监听文本变化","监听文本变化也有两种方式:","监听焦点变化","监听焦点状态改变事件","示例","示例:登录输入框","第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:","自定义样式","获取formstate后,","获取输入内容","获取输入内容有两种方式:","获得焦点时focusnode.hasfocus值为true,失去焦点时为false。","虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果:","表单form","设置controller:","设置onchange回调,如:","设置默认值,并从第三个字符开始选中后面的字符","调用validate()方法校验用户名密码是否合法,校验","输入框内编辑文本在水平方向的对齐方式。","输入框及表单","输入框和表单","运行后:","运行效果如下:","运行效果:","这是一种写法","这是第二种写法","通过_formkey.currentst","通过builder来获取raisedbutton所在widget树的真正context(element)","通过controller监听,如:","通过controller直接获取。","通过controller获取输入框内容","通过后再提交数据。","通过这种widget组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。",":maxlength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxlengthenforced决定当输入文本长度超过maxlength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。"],"chapter4/":["层叠布局stack、posit","布局类widget","布局类widgets简介","弹性布局flex","本章目录","流式布局wrap、flow","线性布局row、column"],"chapter4/intro.html":["(leaf/singlechild/multichild)renderobjectwidget",">","leafrenderobjectel","leafrenderobjectwidget","multichildrenderobjectel","multichildrenderobjectwidget","renderobjectwidget","singlechildrenderobjectel","singlechildrenderobjectwidget","widget","widget树的叶子节点,用于没有子节点的widget,通常基础widget都属于这一类,如text、image。","。renderobjectwidget类中定义了创建、更新renderobject的方法,子类必须实现他们,关于renderobject我们现在只需要知道它是最终布局、渲染ui界面的对象即可,也就是说,对于布局类widget来说,其布局算法都是通过对应的renderobject对象来实现的,所以读者如果对接下来介绍的某个布局类widget原理感兴趣,可以查看其renderobject的实现,而在本章中,为了让读者对布局类widget有个快速的认识,所以我们不会深入到renderobject的细节中区。在学习本章时,读者的重点是掌握不同布局类widget的布局特点,具体原理和细节我们会在后面高级部分介绍。","包含一个子widget,如:constrainedbox、decoratedbox等","包含多个子widget,一般都有一个children参数,接受一个widget数组。如row、column、stack等","对应的element","布局类widget","布局类widgets简介","布局类widget就是指直接或间接继承(包含)multichildrenderobjectwidget的widget,它们一般都会有一个children属性用于接收子widget。我们看一下继承关系","布局类widget都会包含一个或多个子widget,不同的布局类widget对子widget排版(layout)方式不同。我们在前面说过element树才是最终的绘制树,element树是通过widget树来创建的(通过widget.createelement()),widget其实就是element的配置数据。flutter中,根据widget是否需要包含子节点将widget分为了三类,分别对应三种element,如下表:","注意,flutter中的很多widget是直接继承自statelesswidget或statefulwidget,然后在build()方法中构建真正的renderobjectwidget,如text,它其实是继承自statelesswidget,然后在build()方法中通过richtext来构建其子树,而richtext才是继承自leafrenderobjectwidget。所以为了方便叙述,我们也可以直接说text属于leafrenderobjectwidget(其它widget也可以这么描述),这才是本质。读到这里我们也会发现,其实statelesswidget和statefulwidget就是两个用于组合widget的基类,它们本身并不关联最终的渲染对象(renderobjectwidget)。","用途","简介"],"chapter4/row_and_column.html":["\"),","\",",")","),",");","...","//垂直方向居中对齐","//有效,外层colum高度为整个屏幕","//测试row对齐方式,排除column默认居中对齐的干扰","30.0),),","=","[","[],","],","center三个值),不同的是crossaxisalignment的参考系是verticaldirection,即verticaldirection值为verticaldirection.down时crossaxisalignment.start指顶部对齐,verticaldirection值为verticaldirection.up时,crossaxisalignment.start指底部对齐;而crossaxisalignment.end和crossaxisalignment.start正好相反;","child:","children","children:","color:","colors.green,","colors.red,","column","column(","column可以在垂直方向排列其子widget。参数和row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比row来理解,在此不再赘述。","const","container(","crossaxisalign","crossaxisalignment.center,","crossaxisalignment.start,","crossaxisalignment:","crossaxisalignment:表示子widgets在纵轴方向的对齐方式,row的高度等于子widgets中最高的子元素高度,它的取值和mainaxisalignment一样(包含start、end、","edgeinsets.all(16.0),","expanded(","hello","jack","list","mainaxisalign","mainaxisalignment.center,","mainaxisalignment.end,","mainaxisalignment.start,","mainaxisalignment:","mainaxisalignment:表示子widgets在row所占用的水平空间内对齐方式,如果mainaxissize值为mainaxissize.min,则此属性无意义,因为子widgets的宽度等于row的宽度。只有当mainaxissize的值为mainaxissize.max时,此属性才有意义,mainaxisalignment.start表示沿textdirection的初始方向对齐,如textdirection取值为textdirection.ltr时,则mainaxisalignment.start表示左对齐,textdirection取值为textdirection.rtl时表示从右对齐。而mainaxisalignment.end和mainaxisalignment.start正好相反;mainaxisalignment.center表示居中对齐。读者可以这么理解:textdirection是mainaxisalignment的参考系。","mainaxiss","mainaxissize.max,","mainaxissize.max,//无效,内层colum高度为实际高度","mainaxissize.min,","mainaxissize:","mainaxissize:表示row在主轴(水平)方向占用的空间,默认是mainaxissize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,row的宽度始终等于水平方向的最大宽度;而mainaxissize.min表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则row的实际宽度等于所有子widgets占用的的水平空间;","padding(","padding:","row","row(","row({","row可以在水平方向排列其子widget。定义如下:","style:","text(\"","text(\"hello","text(\"i","textdirect","textdirection,","textdirection.rtl,","textdirection:","textdirection:表示水平方向子widget的布局顺序(是从左往右还是从右往左),默认为系统当前locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。","textstyle(fontsize:","verticaldirect","verticaldirection.down,","verticaldirection.up,","verticaldirection:","verticaldirection:表示row纵轴(垂直)的对齐方向,默认是verticaldirection.down,表示从上到下。","widget:","world","})","主轴和纵轴","如果row里面嵌套row,或者column里面再嵌套column,那么只有对最外面的row或column会占用尽可能大的空间,里面row或column所占用的空间为实际大小,下面以column为例说明:","如果要让里面的colum占满外部colum,可以使用expand","对于线性布局,有主轴和纵轴之分,如果布局是沿水平方,那么主轴就指是水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类mainaxisalignment和crossaxisalignment,分别代表主轴对齐和纵轴对齐。","我们将在介绍弹性布局时详细介绍expanded。","所谓线性布局,即指沿水平或垂直方向排布子widget。flutter中通过row和column来实现线性布局,类似于android中的linearlayout控件。row和column都继承自flex,我们将在弹性布局一节中详细介绍flex。","特殊情况","示例","线性布局row、column","线性布局row和column","解释:第一个row很简单,默认为居中对齐;第二个row,由于mainaxissize值为mainaxissize.min,row的宽度等于两个text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个row设置textdirection值为textdirection.rtl,所以子widget会从右向左的顺序排列,而此时mainaxisalignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个row测试的是纵轴的对齐方式,由于两个子text字体不一样,所以其高度也不同,我们指定了verticaldirection值为verticaldirection.up,即从低向顶排列,而此时crossaxisalignment值为crossaxisalignment.start表示底对齐。","请阅读下面代码,想象一下运行的结果:","运行效果:","运行结果:",":子widgets数组。"],"chapter4/flex.html":["),",");","...","//flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间","//flex的两个子widget按1:2来占据水平空间","//弹性布局的方向,","0.0,","1,","100.0,","2,","20.0),","30.0,","=","@overrid","@requir","[","[],","],","axis.horizontal,","axis.vertical,","build(buildcontext","child,","child:","children","children:","class","color:","colors.green,","colors.red,","column(","const","container(","context)","direction:","edgeinsets.only(top:","expand","expanded(","expanded({","extend","flex","flex(","flex({","flex,","flex:","flexlayouttestrout","flex为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:","flex可以沿着水平或垂直方向排列子widget,如果你知道主轴方向,使用row或column会方便一些,因为row和column都继承自flex,参数基本相同,所以能使用flex的地方一定可以使用row或column。flex本身功能是很强大的,它也可以和expanded配合实现弹性布局,接下来我们只讨论flex和弹性布局相关的属性(其它属性已经在介绍row和column时介绍过了)。","flex继承自multichildrenderobjectwidget,对应的renderobject为renderflex,renderflex中实现了其布局算法。","height:","int","list","new","padding(","padding:","return","row默认为水平方向,column默认为垂直方向","sizedbox(","spacer(","statelesswidget","this.direction,","widget","width:","{","}","})","可以按比例“扩伸”row、column和flex子widget所占用的空间。","弹性布局","弹性布局flex","弹性布局允许子widget按照一定比例来分配父容器空间,弹性布局的概念在其ui系统中也都存在,如h5中的弹性盒子布局,android中的flexboxlayout。flutter中的弹性布局主要通过flex和expanded来配合实现。","示例中的spacer的功能是占用指定比例的空间,实际上它只是expanded的一个包装:","运行效果如下:"],"chapter4/wrap_and_flow.html":["(int",")","),",");","...","//","//沿主轴方向居中","//计算每一个子widget的位置","0.0,","0;","4.0,","8.0,","80.0,","=","@overrid","[","[],","],","alignment:","avatar:","axis.horizontal,","child:","children","children:","chip(","circleavatar(backgroundcolor:","class","color:","colors.blue,","colors.blue,),","colors.brown,),","colors.green,),","colors.purple,),","colors.red,),","colors.yellow,),","const","container(width:","context)","delegate:","edgeinset","edgeinsets.all(10.0)),","edgeinsets.zero;","extend","flow","flow(","flowdeleg","height:80.0,","label:","list","margin","margin.left;","margin.top;","matrices)在对child进行位置调整的时候进行了优化:在flow定位过后,如果child的尺寸或者位置发生了变化,在flowdelegate中的paintchildren()方法中调用context.paintchild","matrices),并没有实际调整widget位置。","new","paintchildren(flowpaintingcontext","row(","runalignment:纵轴方向的对齐方式","runspacing:","runspacing:纵轴方向的间距","spacing:","spacing:主轴方向子widget的间距","testflowdeleg","testflowdelegate(margin:","testflowdelegate({this.margin});","text(\"xxx\"*100)","text('a')),","text('h')),","text('hamilton'),","text('j')),","text('lafayette'),","text('laurens'),","text('m')),","text('mulligan'),","this.align","this.crossaxisalign","this.direct","this.runalign","this.runspac","this.spac","this.textdirection,","this.verticaldirect","var","verticaldirection.down,","void","wrap","wrap(","wrap({","wrapalignment.center,","wrapalignment.start,","wrapcrossalignment.start,","x","y","{","})","下面看一个示例子:","不能自适应子widget大小,必须通过指定父容器大小或实现testflowdelegate的getsize返回固定大小。","主轴(水平)方向间距","使用复杂.","可以看到我们主要的任务就是实现paintchildren,它的主要任务是确定每个子widget位置。由于flow不能自适应子widget的大小,我们通过在getsize返回一个固定大小来指定flow的大小。","可以看到,右边溢出部分报错。这是因为row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。flutter中通过wrap和flow来支持流式布局,将上例中的row换成wrap后溢出部分则会自动折行。下面是wrap的定义:","在介绍row和colum时,如果子widget超出屏幕范围,则会报溢出错误,如:","实现testflowdelegate:","性能好;flow是一个对child尺寸以及位置调整非常高效的控件,flow用转换矩阵(transform","我们一般很少会使用flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是wrap是否满足需求。flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。flow有如下优点:","我们可以看到wrap的很多属性在row(包括flex和column)中也有,如direction、crossaxisalignment、textdirection、verticaldirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍row的部分。读者可以认为wrap和flex(包括row和column)除了超出显示范围后wrap会折行外,其它行为基本相同。下面我们看一下wrap特有的几个属性:","我们对六个色块进行自定义流式布局:","效果:","流式布局","流式布局wrap、flow","灵活;由于我们需要自己实现flowdelegate的paintchildren()方法,所以我们需要自己计算每一个widget的位置,因此,可以自定义布局策略。","示例:","纵轴(垂直)方向间距","缺点:","运行效果:","运行:","进行重绘,而context.paintchild在重绘时使用了转换矩阵(transform"],"chapter4/stack.html":[")","),",");",",","//指定未定位或部分定位widget的对齐方式","//未定位widget占满stack整个空间","//通过constrainedbox来确保stack占满屏幕","18.0,","=","@requir","[","[],","],","alignment:alignment.cent","alignmentdirectional.topstart,","alignment:此参数决定如何去对齐没有定位(没有使用positioned)或部分定位的子widget。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。","bottom分别代表离stack左、上、右、底四边的距离。width和height用于指定定位元素的宽度和高度,注意,此处的width、height","bottom来定位widget,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。","boxconstraints.expand(),","child,","child:","children","children:","color:","colors.red,","colors.white)),","const","constrainedbox(","constraints:","container(child:","fit:","fit:此参数用于决定没有定位的子widget如何去适应stack的大小。stackfit.loose表示使用子widget的大小,stackfit.expand表示扩伸到stack的大小。","friend\"),","friend\"),和第二个text原理一样,只不过是水平方向没有定位,则水平方向居中。","jack\"),","jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子widget","key","key,","left:","left、top","list","overflow.clip,","overflow:此属性决定如何显示超出stack显示空间的子widget,值为overflow.clip时,超出部分会被剪裁(隐藏),值为overflow.vis","posit","positioned(","positioned({","stack","stack(","stack({","stackfit.expand,","stackfit.loose,","text(\"hello","text(\"i","text(\"your","textdirection:和row、wrap的textdirection功能一样,都用于决定alignment对齐的参考系即:textdirection的值为textdirection.ltr,则alignment的start代表左,end代表右;textdirection的值为textdirection.rtl,则alignment的start代表右,end代表左。","textstyle(color:","this.align","this.bottom,","this.fit","this.height,","this.left,","this.overflow","this.right,","this.textdirection,","this.top,","this.width,","top:","widget","world\")没有指定定位,并且alignment值为alignment.center,所以,它会居中显示。第二个子widget","world\",style:","})","、right、","可以看到,由于第二个子widget没有定位,所以fit属性会对它起作用,就会占满stack。有stack子元素是堆叠的,所以第一个子widget被第二个遮住了,而第三个在最上层,所以可以正常显示。","和其它地方的意义稍微有点区别,此处用于配合left、top","层叠布局","层叠布局stack、posit","层叠布局和web中的绝对定位、android中的frame布局是相似的,子widget可以根据到父容器四个角的位置来确定本身的位置。绝对定位允许子widget堆叠(按照代码中声明的顺序)。flutter中使用stack和positioned来实现绝对定位,stack允许子widget堆叠,而positioned可以给子widget定位(根据stack的四个角)。","我们给上例中的stack指定一个fit属性,然后将三个子widget的顺序调整一下:","时则不会。","显示效果如下:","由于第一个子widget","示例","运行效果如下:"],"chapter5/":["container容器","pad","scaffold、tabbar、底部导航","变换transform","容器类widget","容器类widget和布局类widget都作用于其子widget,不同的是:","布局类widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)multichildrenderobjectwidget","布局类widget是按照一定的排列方式来对其子widget进行排列;而容器类widget一般只是包装其子widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。","布局限制类容器constrainedbox、sizebox","本章目录","注意,flutter官方并没有对widget进行官方分类,我们对其分类主要是为了方便讨论和对widget功能的区分记忆。","装饰容器decoratedbox",";而容器类widget一般只需要接受一个子widget(child),他们直接或间接继承自(或包含)singlechildrenderobjectwidget。"],"chapter5/padding.html":[")","),",");",",bottom","...","//","//上下各添加8像素补白","//上下左右各添加16像素补白","//左边添加8像素补白","//显式指定对齐方式为左对齐,排除对齐干扰","8.0),",":","@overrid","[","],","all(doubl","bottom):分别指定四个方向的补白。","build(buildcontext","child,","child:","children:","class","column(","const","context)","crossaxisalignment.start,","crossaxisalignment:","doubl","edgeinset","edgeinsets.all(16.0),","edgeinsets.fromltrb(20.0,.0,20.0,20.0),","edgeinsets.only(left:","edgeinsets.symmetric(vertical:","edgeinsetsgeometri","edgeinsetsgeometry是一个抽象类,开发中,我们一般都使用edgeinsets,它是edgeinsetsgeometry的一个子类,定义了一些设置补白的便捷方法。","extend","friend\"),","fromltrb(doubl","horizont","jack\"),","left,","only({left,","pad","padding(","padding({","padding,","padding:","paddingtestrout","padding可以给其子节点添加补白(填充),我们在前面很多示例中都已经使用过它了,现在来看看它的定义:","return","right","right,","statelesswidget","symmetric({","text(\"hello","text(\"i","text(\"your","top,","value)","vertical,","widget","world\"),","{","}","})","}):可以设置具体某个方向的补白(可以同时指定多个方向)。","}):用于设置对称方向的补白,vertical指top和bottom,horizontal指left和right。","分别指定四个方向的补白","我们看看edgeinsets提供的便捷方法:","所有方向均使用相同数值的补白。","示例"],"chapter5/constrainedbox_and_sizebox.html":[")","),",");","...,","//“去除”父级限制","//宽度尽可能大","//最大宽度","//最大高度","//最小宽度","//最小高度","//最小高度为50像素","//父","0.0,","100.0),","20.0),","20.0),//子","5.0,","50.0","60.0),","60.0,","80.0)","80.0),","80.0)作为子widget的约束。","80.0)等价于:","80.0,","80.0,height:","80.0,maxheight:","80.0,maxwidth:","80.0,minwidth:","90.0,","=","@overrid","additionalconstraints:","boxconstraint","boxconstraints(","boxconstraints(minheight:","boxconstraints(minwidth:","boxconstraints({","boxconstraints.expand()可以生成一个尽可能大的用以填充另一个容器的boxconstraints。除此之外还有一些其它的便捷函数,读者可以查看api文档。","boxconstraints.tightfor(width:","boxconstraints用于设置限制条件,它的定义如下:","boxconstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的boxconstraints,如boxconstraints.tight(s","boxdecoration(color:","child:","colors.red),","const","constrainedbox","constrainedbox(","constrainedbox和sizedbox","constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的。sizedbox只是constrainedbox一个定制,本节把他们放在一起讨论。","constrainedbox用于对齐子widget添加额外的约束。例如,如果你想让子widget的最小高度是80像素,你可以使用const","constraints:","container(","context)","createrenderobject(buildcontext","decoration:","double.infin","double.infinity,","height:","minheight:","minwidth:","new","redbox","redbox,","redbox=decoratedbox(","renderconstrainedbox","renderconstrainedbox(","return","size),它可以生成给定大小的限制;const","sizedbox","sizedbox(","sizedbox用于给子widget指定固定的宽高,如:","this.maxheight","this.maxwidth","this.minheight","this.minwidth","unconstrainedbox","unconstrainedbox(","unconstrainedbox不会对子widget产生任何限制,它允许其子widget按照其本身大小绘制。一般情况下,我们会很少直接使用此widget,但在\"去除\"多重限制的时候也许会有帮助,我们看一下面的代码:","widget","width:","{","}","})","“去除”了父constrainedbox的限制,则最终会按照子constrainedbox的限制来绘制redbox,即90×20:","上面代码中,如果没有中间的unconstrainedbox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于","上面我们有父子两个constrainedbox,他们的限制条件不同,运行后效果如下:","但是,读者请注意,unconstrainedbox对父限制的“去除”并非是真正的去除,上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minheight(100.0)仍然是生效的,只不过它不影响最终子元素的大小,但仍然还是占有相应的空间,可以认为此时的父constrainedbox是作用于子constrainedbox上,而redbox只受子constrainedbox限制,这一点请读者务必注意。","可以看到,我们虽然将container的高度设置为5像素,但是最终却是50像素,这正是constrainedbox的最小高度限制生效了。如果将container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,constrainedbox只限制了最小高度,并未限制最大高度。","多重限制","如果某一个widget有多个父constrainedbox限制,那么最终会是哪个生效?我们看一个例子:","实际上sizedbox和只是constrainedbox一个定制,上面代码等价于:","布局限制类容器constrainedbox、sizebox","思考题:对于maxwidth和maxheight,多重限制的策略是什么样的呢?","我们先定义一个redbox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:","我们实现一个最小高度为50,宽度尽可能大的红色容器。","显示效果:","最终显示效果是宽90,高60,也就是说是子constrainedbox的minwidth生效,而minheight是父constrainedbox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:","最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minwidth生效的是父constrainedbox,而minheight是子constrainedbox生效。","示例","而boxconstraints.tightfor(width:","而实际上constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的,我们可以看到constrainedbox和sizedbox的createrenderobject()方法都返回的是一个renderconstrainedbox对象:","运行效果如下:","通过上面示例,我们发现有多重限制时,对于minwidth和minheight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。","那么有什么方法可以彻底去除父boxconstraints的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的widget时,如果对子widget指定限制时一定要注意,因为一旦指定限制条件,子widget如果要进行相关自定义大小时将可能非常困难,因为子widget在不更改父widget的代码的情况下无法彻底去除其限制条件。"],"chapter5/decoratedbox.html":[")","),","//3像素圆角","//圆角","//形状","//渐变","//背景混合模式","//背景渐变","//边框","//阴影","//阴影,可以指定多个","//颜色","18.0),","4.0","80.0,","=","[","]","backgroundblendmode,","background:在子widget之后绘制,即背景装饰。","blendmod","blurradius:","border,","borderradius,","borderradius.circular(3.0),","borderradius:","borderradiusgeometri","boxbord","boxdecor","boxdecoration(","boxdecoration({","boxshadow(","boxshadow,","boxshadow:","boxshap","boxshape.rectangle,","child","child:","color","color,","color:colors.black54,","colors.white),),","const","createboxpainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。","decor","decoratedbox","decoratedbox(","decoratedbox({","decoratedbox可以在其子widget绘制前(或后)绘制一个装饰decoration(如背景、边框、渐变等)。decoratedbox定义如下:","decoration,","decoration:","decorationimag","decorationposit","decorationposition.background,","decoration:代表将要绘制的装饰,它类型为decoration,decoration是一个抽象类,它定义了一个接口","edgeinsets.symmetric(horizontal:","foreground:在子widget之上绘制,即前景。","gradient","gradient,","gradient:","image,//图片","lineargradient(colors:[colors.red,colors.orange[700]]),","list","offset(2.0,2.0),","offset:","padding(padding:","posit","position:此属性决定在哪里绘制decoration,它接收decorationposition的枚举类型,该枚举类两个值:","shape","style:","text(\"login\",","textstyle(color:","vertical:","widget","})","各个属性名都是自解释的,详情读者可以查看api文档,我们看一个示例:","怎么样,通过boxdecoration,我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在本章末尾来实现一个完整的gradientbutton。","我们通常会直接使用boxdecoration,它是一个decoration的子类,实现了常用的装饰元素的绘制。","效果如下:","装饰容器decoratedbox"],"chapter5/transform.html":["'dart:math'",")","),",");",");",",","//将transform.rotate换成rotatedbox","//放大到1.5倍","//旋转90度","//旋转90度(1/4圈)","//沿y轴倾斜0.3弧度","//相对于坐标系原点的对齐方式","//默认原点为左上角,左移20像素,向上平移5像素","1,","1.5,","18.0),)","20.0,","5.0),","[","],","alignment.topright,","alignment:","angle:math.pi/2","boxdecoration(color:","child:","children:","color:","colors.black,","colors.deeporange,","colors.green,","colors.red),","const","container(","decoratedbox(","decoration:","decoration:boxdecoration(color:","edgeinsets.all(8.0),","fontsize:","import","mainaxisalignment.center,","mainaxisalignment:","math;","matrix4.skewy(0.3),","new","offset(","padding:","quarterturns:","rent!'),","rotatedbox","rotatedbox(","rotatedbox和transform.rotate功能相似,它们都可以对子widget进行旋转变换,但是有一点不同:rotatedbox的变换是在layout阶段,会影响在子widget的位置和大小。我们将上面介绍transform.rotate时的示例改一下:","row(","scale:","style:","text(\"hello","text(\"你好\",","text('apart","textstyle(color:","transform(","transform.rotate(","transform.rotate可以对子widget进行旋转变换,如:","transform.scale(","transform.scale(scale:","transform.scale可以对子widget进行缩小或放大,如:","transform.translate(offset:","transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子widget平移指定的距离。","transform:","transform变换","transform可以在其子widget绘制时对其应用一个矩阵变换(transformation),matrix4是一个4d矩阵,通过它我们可以实现各种矩阵操作。下面是一个例子:","transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子widget应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:","widget,它内部就是用矩阵变换来更新ui,除此之外,flutter的动画widget中也大量使用了transform以提高性能。","world\")","world\"),","关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在flutter中一些常见的变换效果上。","变换transform","平移","效果:","旋转","显示效果:","注意","注意:要使用math.pi需先进行如下导包。","由于rotatedbox是作用于layout阶段,所以widget会旋转90度(而不只是绘制的内容),decoration会作用到widget所占用的实际空间上,所以就是上图的效果。读者可以和前面transform.rotate示例对比理解。","由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在ui需要变化时,可以直接通过矩阵变化来达到视觉上的ui改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的flow","由于第一个text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字有重合部分。","缩放"],"chapter5/container.html":["\"5.20\",",")","),",");","...",".98","//","//前景装饰","//卡片倾斜变换","//卡片内文字居中","//卡片大小","//卡片文字","//卡片阴影","//变换","//容器内补白","//容器内补白,属于decoration的装饰范围","//容器外补白","//容器大小的限制条件","//容器的高度","//背景径向渐变","120.0),","150.0),","2.0),","200.0,","4.0","40.0),","50.0,","[","[colors.red,","]","alignment.center,","alignment.topleft,","alignment:","blurradius:","boxconstraint","boxconstraints.tightfor(width:","boxdecoration(//背景装饰","boxdecoration(color:","boxshadow(","boxshadow:","center:","child:","color","color,","color:","colors.black54,","colors.orange),","colors.orange,","colors.orange],","colors.white,","colors:","color和decoration是互斥的,实际上,当指定color时,container内会自动创建一个decoration。","const","constraints,","constraints:","contain","container(","container({","container容器","container是我们要介绍的最后一个容器类widget,它本身不对应具体的renderobject,它是decoratedbox、constrainedbox、transform、padding、align等widget的一个组合widget。所以我们只需通过一个container可以实现同时需要装饰、变换、限制的场景。下面是container的定义:","decor","decoratedbox(","decoration,","decoration:","doubl","edgeinsets.all(20.0),","edgeinsets.only(top:","fontsize:","foregrounddecoration,","gradient:","height,","height:","left:","margin:","matrix4.rotationz(.2),","offset(2.0,","offset:","padding(","padding:","padding和margin","radialgradient(","radius:","style:","text(","text(\"hello","textstyle(color:","this.alignment,","this.child,","this.margin,//容器外补白,不属于decoration的装饰范围","this.padding,","this.transform,","transform:","widget来实现的,上面的示例代码实际上等价于:","width,//容器的宽度","world!\"),","})","代码:","可以发现,直观的感觉就是margin的补白是在容器外部,而padding的补白是在容器内部,读者需要记住这个差异。事实上,container内margin和padding都是通过pad","可以看到container通过组合多种widget来实现复杂强大的功能,在flutter中,这也正是组合优先于继承的实例。","大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:","实例","容器的大小可以通过width、height属性来指定,也可以通过constraints来指定,如果同时存在时,width、height优先。实际上container内部会根据width、height来生成一个constraints。","我们通过container来实现如下的卡片:","接下来我们看看container的margin和padding属性的区别:","背景色","背景装饰"],"chapter5/material_scaffold.html":["\"imgs/avatar.png\",","\"wendux\",","\"历史\",","\"图片\"];","()","(context)",")","),",");",",","...","...;","//","//中间位置空出","//其它属性见源码注释","//创建3个tab页","//均分底部导航栏横向空间","//如果leading为null,是否自动实现默认的leading按钮","//定义一个globalkey,","//导航栏","//导航栏右侧菜单","//导航栏最左侧widget,常见为抽屉菜单按钮或返回按钮。","//悬浮按钮","//抽屉","//标题是否居中","//生成tab菜单","//省略无关代码","//自定义图标","//设置key","//需要定义一个control","16.0),","1:","1;","2:","38.0),","4.0,","5),","80,",":",";","=","=>","@overrid","[","[\"新闻\",","],","_globalkey","_globalkey.currentstate.opendrawer()","_globalkey=","_onadd(){","_onitemtapped(int","_onitemtapped,","_scaffoldroutest","_scaffoldroutestate();","_selectedindex","_selectedindex,","_tabcontrol","_tabcontroller,","_tabcontroller.addlistener((){","_tabcontroller;","account'),","accounts'),","actions:","alignment.center,","alignment:","appbar","appbar(","appbar({","appbar:","appbar是一个material风格的导航栏,它可以设置标题、导航栏菜单、底部tab等。下面我们看看appbar的定义:","body:","bottom:","bottomappbar(","bottomappbar的shape属性决定洞的外形,circularnotchedrectangle实现了一个圆形的外形,我们也可以自定义外形,比如,flutt","bottomnavigationbar(","bottomnavigationbar:","bottomnavigationbaritem(icon:","build(buildcontext","builder(builder:","case","child:","children:","circularnotchedrectangle(),","class","clipoval(","color:","colors.blue,","colors.white),","colors.white,","column(","const","consum","container(","context)","context,","context:","controller:","createstate()","crossaxisalignment.start,","crossaxisalignment:","currentindex:","drawer(","drawer:","drawerhead","e)).tolist()),","edgeinsets.only(top:","edgeinsets.symmetric(horizontal:","expanded(","extend","fixedcolor:","floatingactionbutton","floatingactionbutton(","floatingactionbutton:","floatingactionbuttonlocation.centerdocked,","floatingactionbuttonlocation:","floatingactionbutton是material设计规范中的一种特殊button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过scaffold的floatingactionbutton属性来设置一个floatingactionbutton,同时通过floatingactionbuttonlocation属性来指定其在页面中悬浮的位置,这个比较简单,不在赘述。","fontweight.bold),","gallery中material组件部分的示例。注意,笔者强烈建议用户将flutt","gallery示例中就有一个”钻石“形状的实现,读者感兴趣可以自行查看。","gallery示例跑起来,它是一个很全面的flutter示例,是非常好的参考demo。","globalkey","globalkey();","icon(icons.add),","icon(icons.business)),","icon(icons.business),","icon(icons.dashboard,","icon(icons.home)),","icon(icons.home),","icon(icons.school),","icon(icons.settings),","icon(icons.share),","icon:","iconbutton(","iconbutton(icon:","image.asset(","index)","index;","initstate()","int","items:","key","key);","key,","key:","leading:","list","listtile(","listview(","mainaxisalignment.spacearound,","mainaxisalignment:","material库提供了一个scaffold","material库提供了很多widget,本节介绍一些常用的widget,其余的读者可以查看文档或flutt","material组件库中提供了一个bottomappbar","material组件库中提供了一个tabbar组件,它可以快速生成tab菜单,下面是上图对应的源码:","mediaqueri","mediaquery.removepadding(","mydraw","mydrawer(),","mydrawer({","name\"),","new","onpressed:","onpressed:_onadd","ontap:","padding(","padding.","padding:","removetop:","return","row(","scaffold","scaffold(","scaffold.of(context).opendrawer();","scaffoldrout","scaffold、tabbar、底部导航","scaffold的drawer和enddrawer属性可以分别接受一个widget作为页面的左、右抽屉菜单,如果开发者提供了抽屉菜单,那么当用户手指重屏幕左/右向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单mydrawer,源码如下:","setstate(()","shape:","singletickerproviderstatemixin","sizedbox(),","state","statefulwidget","statelesswidget","static","style:","super(key:","super.initstate();","switch(_tabcontroller.index){","tab","tab(text:","tab({","tabbar","tabbar(","tabbarview","tabbarview(","tabcontrol","tabcontroller(length:","tabs.length,","tabs.map((e)","tabs:","text(","text(\"app","text('add","text('business')),","text('home')),","text('manag","text('school')),","text(e,","textscalefactor:","textstyle(fontweight:","this);","this.actions,","this.automaticallyimplylead","this.backgroundcolor,","this.bottom,","this.centertitle,","this.child,","this.elev","this.icon,","this.leading,","this.text,","this.title,//","title:","top","true,","void","vsync:","widget","widget有三个可选参数,除了可以指定文字外,还可以指定tab菜单图标,或者直接自定义widget,定义如下:","widget的state对象,原理可以参考本书后面“element与buildcontext”","widget,可以和floatingactionbutton配合实现这种\"打洞\"效果。源码如下:","widget,它也是material组件库提供的material风格的tab菜单。","widget,它和tabbarview功能相似,读者可以自行了解一下。","widget,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。","width:","{","{}),","}","})","}),","}).tolist(),","});","},","一个导航栏","一章。flutter还有一种通用的获取statefulwidget对象state的方法:通过globalkey来获取!","上面代码中我们用到了另外几个widget,下面我们来分别介绍一下:","上面代码首先创建了一个tabcontrol","下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如下:","代码中打开抽屉菜单的方法在scaffoldstate中,通过scaffold.of(context)可以获取父级最近的scaffold","代码运行效果:","创建control","另外,material组件库也提供了一个pageview","可以看到左侧菜单已经替换成功。","可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于floatingactionbutton的位置,上面floatingactionbutton的位置为:","右下角有一个悬浮的动作按钮","大多数路由页都会包含一个导航栏,有些路由页可能会有抽屉菜单(drawer)以及底部tab导航菜单等。如果每个页面都需要开发者自己手动去实现,这会是一件非常无聊的事。幸运的是,我们前面提到过,flutt","如果我们tab页可以滑动切换的话,还需要在滑动过程中更新tabbar指示器的偏移。显然,要手动处理这些是很麻烦的,为此,material库提供了一个tabbarview组件,它可以很轻松的配合tabbar来实现同步切换和滑动状态同步,示例如下:","如果给scaffold添加了抽屉菜单,默认情况下scaffold会自动将appbar的leading设置为菜单按钮(如上面截图所示)。如果我们想自定义菜单图标,可以手动来设置leading,如:","实现代码如下:","导航栏右侧菜单","导航栏右边有一个分享按钮","导航栏底部菜单,通常为tab按钮组","导航栏阴影","底部tab导航栏","底部导航","底部导航栏打一个圆形的洞","开发者可以根据实际需求来定制。","我们可以通过scaffold的bottomnavigationbar属性来设置底部导航,如本节开始示例所示,我们通过material组件库提供的bottomnavigationbar和bottomnavigationbaritem两个widget来实现material风格的底部导航栏,可以看到代码非常简单,不在赘述。但是如果我们想实现如下效果的底部导航应该怎么做呢?","我们实现一个页面,它包含:","打开抽屉菜单","抽屉菜单drawer","抽屉菜单通常将drawer作为根节点,它实现了material风格的菜单面板,mediaquery.removepadding可以移除抽drawer内的一些指定空白,读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页顶部由用户头像和昵称组成,底部是一个菜单列表,用listview实现,关于listview我们将在后面“可滚动widget”一节详细介绍。","最终效果如下:","有一个底部导航","有一个抽屉菜单","步骤有两步:","现在,无论是点击导航栏tab菜单还是在页面上左右滑动,tab页面都会切换,并且tab菜单的状态和tab页面始终保持同步。下面我们来看看代码,细心的读者可以发现,tabbar和tabbarview的controller是同一个!正是如此,tabbar和tabbarview正是通过同一个controller来实现菜单切换和滑动状态同步的。","由于globalkey要保持全局唯一性,我们使用静态变量存储","省略无关代码","示例","给目标statefulwidget添加globalkey","自定义widget","菜单图标","菜单文本","运行后效果如下:","通过globalkey来获取state对象","通过tabbar我们只能生成一个静态的菜单,如果要实现tab页,我们可以通过tabcontroller去监听tab菜单的切换去切换tab页,代码如:","页面标题",",它是用于控制/监听tab菜单切换。然后通过tabbar生成了一个底部菜单栏,tabbar的tabs属性接受一个widget数组,表示每一个tab子菜单,我们可以自定义,也可以像示例中一样直接使用tab"],"chapter6/":["customscrollview","gridview","listview","singlechildscrollview","可滚动widget","可滚动widgets简介","本章目录","滚动监听及控制scrollcontrol"],"chapter6/intro.html":["),",");","...","//后面介绍","=","@requir","axisdirection.down,","axisdirection:滚动方向。","bouncingscrollphysics:ios下弹性效果。","child:","clampingscrollphysics:android下微光效果。","controller:此属性接受一个scrollcontroller对象。scrollcontroller的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的primaryscrollcontroller,如果子树中的可滚动widget没有显式的指定controller并且primary属性值为true时(默认就为true),可滚动widget会使用这个默认的primaryscrollcontroller,这种机制带来的好处是父widget可以控制子树中可滚动widget的滚动,例如,scaffold使用这种机制在ios中实现了\"回到顶部\"的手势。我们将在本章后面“滚动控制”一节详细介绍scrollcontroller。","cupertinoscrollbar","cupertinoscrollbar是ios风格的滚动条,如果你使用的是scrollbar,那么在ios平台它会自动切换为cupertinoscrollbar。","physics:此属性接受一个scrollphysics对象,它决定可滚动widget如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,flutter会根据具体平台分别使用不同的scrollphysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在ios上会出现弹性效果,而在android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定,flutt","scrollable({","scrollbar","scrollbar(","scrollbar和cupertinoscrollbar都是通过scrollcontroller来监听滚动事件来确定滚动条位置,关于scrollcontroller详细的内容我们将在后面专门一节介绍。","scrollbar是一个material风格的滚动指示器(滚动条),如果要给可滚动widget添加滚动条,只需将scrollbar作为可滚动widget的父widget即可,如:","sdk中包含了两个scrollphysics的子类可以直接使用:","singlechildscrollview(","this.axisdirect","this.controller,","this.physics,","this.viewportbuilder,","viewport视口","widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动widget(如listview、gridview等),然后介绍一下scrollable与可滚动widget的原理。可滚动widget都直接或间接包含一个scrol","widget,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:","})","主轴和纵轴","可滚动widgets简介","可滚动widget简介","在可滚动widget的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动widget的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。","在很多布局系统中都有viewport的概念,在flutter中,术语viewport(视口),如无特别说明,则是指一个widget的实际显示区域。例如,一个listview的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其viewport仍然是800像素。","当内容超过显示视口(viewport)时,如果没有特殊处理,flutter则会提示overflow错误。为此,flutter提供了多种可滚动widget(scrol"],"chapter6/single_child_scrollview.html":["\"abcdefghijklmnopqrstuvwxyz\";","),",");",".map((c)",".tolist(),","//动态创建一个list","//每一个字母都用一个text显示,字体为原来的两倍","//滚动方向,默认是垂直方向","2.0,))","=","=>","@overrid","axis.vertical,","bool","build(buildcontext","center(","child:","children:","class","column(","context)","edgeinsets.all(16.0),","extend","false,","padding:","primary,","primary:指是否使用widget树中默认的primaryscrollcontroller;当滑动方向为垂直方向(scrolldirection值为axis.vertical)并且controller没有指定时,primary默认为true.","return","reverse:该属性api文档解释是:是否按照阅读方向相反的方向滑动,如:scrolldirection值为axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左),reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动widget的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。","scrollbar(","singlechildscrollview","singlechildscrollview(","singlechildscrollview({","singlechildscrollviewtestrout","singlechildscrollview类似于android中的scrollview,它只能接收一个子widget。定义如下:","statelesswidget","str","str.split(\"\")","string","text(c,","textscalefactor:","this.child,","this.controller,","this.padding,","this.physics,","this.revers","this.scrolldirect","widget","z沿垂直方向显示的例子,由于垂直方向空间不够,所以使用singlechildscrollview。:","{","}","})","下面是一个将大写字母a","效果:","示例","除了通用属性,我们重点看一下reverse和primary两个属性:"],"chapter6/listview.html":["\"##loading##\";","(_words.length","(_words[index]","(buildcontext","(context,",")","),",");","...",".0),","//","//listview各个构造函数的共同参数","//material设计规范中状态栏、导航栏、listtile高度分别为24、56、56","//下划线widget预定义以供复用。","//不足100条,继续获取数据","//分割器构造器","//列表项构造器","//可滚动widget公共参数","//如果到了表尾","//子widget列表","//强制高度为50.0","//指定列表高度为400","//每次生成20个单词","//省略无关代码","//表尾标记","//重新构建列表","1","1,","100,","2)).then((e)","24","400,","50.0,","56","56,","=","==","=>","@overrid","@requir","[","[],","[loadingtag];","]);","],","_infinitelistviewst","_infinitelistviewstate();","_retrievedata()","_retrievedata();","_word","_words.insertall(_words.length","_words.length,","addautomatickeepal","addautomatickeepalives:该属性表示是否将列表项(子widget)包裹在automatickeepal","addrepaintboundari","addrepaintboundaries:该属性表示是否将列表项(子widget)包裹在repaintboundary中。当可滚动widget滚动时,将列表项包裹在repaintboundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加repaintboundary反而会更高效。和addautomatickeepalive一样,如果列表项自己维护其keepalive状态,那么此参数必须置为false。","apart'),","axi","axis.vertical,","bool","build(buildcontext","cacheextent,","caught","child:","children","children:","class","colors.blue,);","colors.green);","column(children:","const","context)","context,","controller,","createstate()","day","dedic","divider(height:","divider1=divider(color:","divider2=divider(color:","doubl","dure","e.aspascalcase).tolist()","edgeinsets.all(20.0),","edgeinsetsgeometri","error","expanded(","extend","fall","false,","future.delayed(duration(seconds:","generatewordpairs().take(20).map((e)","given","height","height:","index%2==0?divider1:divider2;","index)","indexedwidgetbuild","infinitelistview","initstate()","int","itembuilder,","itembuilder:","itembuilder:它是列表项的构建器,类型为indexedwidgetbuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。","itemcount,","itemcount:","itemcount:列表项的数量,如果为null,则为无限列表。","itemextent,","itemextent:","itemextent:该参数如果不为null,则会强制children的\"长度\"为itemextent的值;这里的\"长度\"是指滚动方向上子widget的长度,即如果滚动方向是垂直方向,则itemextent代表子widget的高度,如果滚动方向为水平方向,则itemextent代表子widget的长度。在listview中,指定itemextent比让子widget自己决定自身长度会更高效,这是因为指定itemextent后,滚动系统可以提前知道列表的长度,而不是总是动态去计算,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。","knock","library,","life","list","listtile(title:","listtile(title:text(\"商品列表\")),","listview","listview(","listview({","listview.build","listview.builder(","listview.builder(itembuilder:","listview.builder({","listview.builder适合列表项比较多(或者无限)的情况,因为只有当子widget真正显示的时候才会被创建。下面看一下listview.builder的核心参数列表:","listview.separ","listview.separated(","listview.separated可以生成列表项之间的分割器,它除了比listview.builder多了一个separatorbuilder参数,该参数是一个分割器生成器。下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。","listview3","listview公共参数已省略","listview是最常用的可滚动widget,它可以沿一个方向线性排布所有子widget。我们看看listview的默认构造函数定义:","loadingtag","loadingtag)","mediaquery.of(context).size.height","never","new","out,","padding,","padding:","performresize()。","physics,","primary,","quit","render","return","revers","scrollcontrol","scrolldirect","scrollphys","separatorbuilder:","setstate(()","shrinkwrap","shrinkwrap:","shrinkwrap:该属性表示是否根据子widget的总长度来设置listview的长度,默认值为fals","sizedbox(","smart'),","smile,","state","statefulwidget","statelesswidget","static","style'),","text(\"$index\"));","text('and","text('domest","text('i\\'m","text('when","thought","thrown","true,","unbound","var","vertic","viewport","void","widget","widget中;典型地,在一个懒加载列表中,如果将列表项包裹在automatickeepalive中,在该列表项滑出视口时该列表项不会被gc,它会使用keepalivenotification来保存其状态。如果列表项自己维护其keepalive状态,那么此参数必须置为false。","you'),","{","}","})","}),","});","},","。默认情况下,listview的会在滚动方向尽可能多的占用空间。当listview在一个无边界(滚动方向上)的容器中时,shrinkwrap必须为true。","上面参数分为两组:第一组是可滚动widget公共参数,前面已经介绍过,不再赘述;第二组是listview各个构造函数(listview有多个构造函数)的共同参数,我们重点来看看这些参数,:","从异常信息中我们可到是因为listview高度边界无法确定引起,所以解决的办法也很明显,我们需要给listview指定边界,我们通过sizedbox指定一个列表高度看看是否生效:","代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrievedata()的功能是模拟从数据源异步获取数据,我们使用english_words包的generatewordpairs()方法每次生成20个单词。","假设我们要从数据源异步分批拉取一些数据,然后用listview显示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:","可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算,那么有什么方法可以自动拉升listview以填充屏幕剩余空间的方法吗?当然有!答案就是flex。前面已经介绍过在flex布局中,可以使用expanded自动拉伸组件大小的widget,我们也说过column是继承自flex的,所以我们可以直接使用column+expanded来实现,代码如下:","可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白,那如果我们要实现列表铺满除过表头以外的屏幕空间呢?直观的方法是我们动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:","实例:无限加载列表","很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,效果如下:","总结","我们按照之前经验,写出如下代码:","本节主要介绍了listview的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过listview.custom来自定义,它需要实现一个sliverchilddelegate用来给listview生成列表项widget,更多详情请参考api文档。","注意:上面这些参数并非listview特有,在本章后面介绍的其它可滚动widget也可能会拥有这些参数,它们的含义是相同的。","注意:可滚动widget通过一个list来作为其children属性时,只适用于子widget较少的情况,这是一个通用规律,并非listview自己的特性,像gridview也是如此。","添加固定表头","然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;","看一个例子:","运行效果如下:","默认构造函数","默认构造函数有一个children参数,它接受一个widget列表(list)。这种方式适合只有少量的子widget的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建。实际上通过此方式创建的listview和使用singlechildscrollview+column的方式没有本质的区别。下面是一个例子:"],"chapter6/gridview.html":["&&","(context,","(index",")","),",");","...","//","//保存icon数据","//如果显示到最后一个并且icon总数小于200时继续获取数据","//宽高比为1时,子widget","//宽高比为2","//控制子widget","//显示区域宽高相等","//横轴三个子widget","//每行三列","0.0,","1","1.0","1.0,","120.0,","2.0","2.0,","3,","=","==","=>","@overrid","@requir","[","[],","[];","]","],","_icon","_icons.length","_icons.length,","_infinitegridviewst","_infinitegridviewstate();","_retrieveicons();","_retrieveicons():在此方法中我们通过future.delayed来模拟从异步数据源获取数据,每次获取数据需要200毫秒,获取成功后将新数据添加到_icons,然后调用setstate重新构建。","addautomatickeepal","addrepaintboundari","axi","axis.vertical,","bool","build(buildcontext","cacheextent,","childaspectratio","childaspectratio:","childaspectratio:子元素在横轴长度和主轴长度的比例。由于crossaxiscount指定后子元素横轴长度就确定了,然后通过此参数值就可以确定子元素在主轴的长度。","children","children:","children:[","class","const","context)","controller,","createstate()","crossaxiscount,","crossaxiscount:","crossaxiscount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即viewport横轴长度/crossaxiscount。","crossaxisspac","crossaxisspacing:横轴方向子元素的间距。","doubl","edgeinsets.zero,","edgeinsetsgeometri","extend","false,","flutter的gridview默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局:","griddelegate,","griddelegate:","gridview","gridview(","gridview({","gridview.build","gridview.builder(","gridview.count","gridview.count(","gridview.count构造函数内部使用了slivergriddelegatewithfixedcrossaxiscount,我们通过它可以快速的创建横轴固定数量子元素的gridview,上面的示例代码等价于:","gridview.ext","gridview.extent(","gridview.extent构造函数内部使用了slivergriddelegatewithmaxcrossaxisextent,我们通过它可以快速的创建纵轴子元素为固定最大长度的的gridview,上面的示例代码等价于:","gridview可以构建一个二维网格列表,其默认构造函数定义如下:","icon(icons.ac_unit),","icon(icons.airport_shuttle),","icon(icons.all_inclusive),","icon(icons.beach_access),","icon(icons.cake),","icon(icons.free_breakfast)","icon(icons.free_breakfast),","index)","indexedwidgetbuild","infinitegridview","initstate()","itembuilder,","itembuilder:","itemcount:","layout的委托","layout相关接口,子类需要通过实现它们来实现具体的布局算法,flutter中提供了两个slivergriddelegate的子类slivergriddelegatewithfixedcrossaxiscount和slivergriddelegatewithmaxcrossaxisextent,下面我们分别介绍:","list","mainaxisspac","mainaxisspacing:主轴方向的间距。","maxcrossaxisextent,","maxcrossaxisextent:","maxcrossaxisextent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果viewport的横轴长度是450,那么当maxcrossaxisextent的值在区间(450/4,450/3]内的话,子元素最终实际长度都为150,而childaspectratio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和slivergriddelegatewithfixedcrossaxiscount相同。","new","padding,","padding:","physics,","primary,","pub上有一个包“flutter_staggered_grid_view”","return","revers","scrollcontrol","scrolldirect","scrollphys","shrinkwrap","slivergriddeleg","slivergriddelegatewithfixedcrossaxiscount","slivergriddelegatewithfixedcrossaxiscount(","slivergriddelegatewithfixedcrossaxiscount({","slivergriddelegatewithmaxcrossaxisext","slivergriddelegatewithmaxcrossaxisextent(","slivergriddelegatewithmaxcrossaxisextent({","state","statefulwidget","true,","void","widget","{","}","})","上面我们介绍的gridview都需要一个widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子widget数量比较少时,当子widget比较多时,我们可以通过gridview.builder来动态创建子widget。gridview.build","下面我们看一个例子:","下面看一个例子:","假设我们需要从一个异步数据源(如网络)分批获取一些icon,然后用gridview来展示:","其中itembuilder为子widget构建器。","初始化数据","可以发现,子元素的大小是通过crossaxiscount和childaspectratio两个参数共同决定的。注意,这里的子元素指的是子widget的最大显示空间,注意确保子widget的实际大小不要超出子元素的空间。","在itembuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个icon。","必须指定的参数有两个:","我们可以看到,gridview和listview的大多数参数都是相同的,它们的含义也都相同,如有疑惑读者可以翻阅listview一节,在此不再赘述。我们唯一需要关注的是griddelegate参数,类型是slivergriddelegate,它的作用是控制gridview子widget如何排列(layout),slivergriddelegate是一个抽象类,定义了gridview","更多","示例","该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为:","该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为:",",它实现了一个交错gridview的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。"],"chapter6/custom_scrollview.html":["\"./images/avatar.png\",","$index'),","%","'package:flutter/material.dart';","(buildcontext","(index","),",");","*","//50个列表项","//appbar,包含一个导航栏","//grid","//grid按两列显示","//list","//materi","//创建列表项","//创建子widget","//因为本路由没有使用scaffold,为了让子级widget(如text)使用","10.0,","2,","20,","250.0,","4.0,","50","50.0,","9)],","@overrid","[","],","alignment.center,","alignment:","background:","boxfit.cover,),","build(buildcontext","child:","childaspectratio:","childcount:","class","color:","colors.cyan[100","colors.lightblue[100","const","container(","context)","context,","crossaxiscount:","crossaxisspacing:","customscrollview","customscrollview(","customscrollviewtestrout","customscrollview是可以使用sliver来自定义滚动模型(效果)的widget。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个gridview,底部需要一个listview,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体,如果使用gridview+listview来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动widget(sliver)\"粘\"起来,而customscrollview的功能就相当于“胶水”。","delegate:","design","design中头部伸缩的模型,具体效果,读者可以运行该示例查看。","edgeinsets.all(8.0),","expandedheight:","extend","fit:","flexiblespace:","flexiblespacebar(","griddelegate:","image.asset(","import","index)","int","item","itemextent:","mainaxisspacing:","material(","new","padding:","pinned:","return","sliver","sliver:","sliverappbar(","sliverchildbuilderdelegate(","sliverfixedextentlist(","slivergrid(","slivergriddelegatewithfixedcrossaxiscount(","sliverpadding(","slivers:","sliver有细片、小片之意,在flutter中,sliver通常指具有特定滚动效果的可滚动块。可滚动widget,如listview、gridview等都有对应的sliver实现如sliverlist、slivergrid等。对于大多数sliver来说,它们和可滚动widget最主要的区别是sliver不会包含scrol","sliver系列widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“sliver都和可滚动widget对应,是由于还有一些如sliverpadding、sliverappbar等是和可滚动widget无关的,它们主要是为了结合customscrollview一起使用,这是因为customscrollview的子widget必须都是sliver。","statelesswidget","text('demo'),","text('grid","text('list","title:","true,","widget","widget,也就是说sliver本身不包含滚动交互模型","{","}","},","中间的slivergrid:它用sliverpadding包裹以给slivergrid添加补白。slivergrid是一个两列,宽高比为4的网格,它有20个子widget。","代码分为三部分:","头部sliverappbar:sliverappbar对应appbar,两者不同之处在于sliverappbar可以集成到customscrollview。sliverappbar可以结合flexiblespacebar实现materi","底部sliverfixedextentlist:它是一个所有子元素高度都为50像素的列表。","示例","运行效果:","默认的样式风格,我们使用material作为本路由的根。",",正因如此,customscrollview才可以将多个sliver\"粘\"在一起,这些sliver共用customscrollview的scrollable,最终实现统一的滑动效果。"],"chapter6/scroll_controller.html":["!showtotopbtn","\"${(progress","\"0%\";","${notification.metrics.extentaft","&&","'package:flutter/material.dart';","()","(_controller.offset","(context,","(scrollnotif",")","),",");","*","...","/","//","//return","//为了避免内存泄露,需要调用_controller.dispos","//保存进度百分比","//列表项高度固定时,显式指定高度是一个好习惯(性能消耗小)","//初始滚动位置","//打印滚动位置","//放开此行注释后,进度条将失效","//是否显示“返回到顶部”按钮","//显示进度百分比","//监听滚动事件,打印滚动位置","//返回到顶部时执行动画","//进度条","//重新构建","0.0,","0}\");","100).toint()}%\";","100,","1000","200),","30.0,","50.0,",":",";","=","==","=>","?","@overrid","[","],","_control","_controller,","_controller.addlistener(()","_controller.animateto(.0,","_controller.dispose();","_progress","_scrollnotificationtestroutest","_scrollnotificationtestroutestate();","alignment.center,","alignment:","appbar(title:","appbar:","atedge:是否滑到了scrol","attach(scrollposit","backgroundcolor:","body:","bool","build(buildcontext","child:","children:","circleavatar(","class","colors.black54,","context)","context,","controller.addlistener(()=>print(controller.offset))","controller.positions.elementat(0).pixel","controller.positions.elementat(1).pixel","controller:","createscrollposition(","createstate()","curve:","curves.eas","detach(scrollposit","dispose()","doubl","duration(milliseconds:","duration:","extend","extentafter:列表中未滑入viewport部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。","extentbefore:滑出viewport顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。","extentinside:viewport内部长度;此示例中屏幕显示的列表部分的长度。","false)","false;","floatingactionbutton(","floatingactionbutton:","flutter","icon(icons.arrow_upward),","import","index)","initialscrolloffset","initstate()","itembuilder:","itemcount:","itemextent:","jumpto()","jumpto()内部会调用所有scrollposition的animateto()","jumpto()才可以被调用。当scrol","jumpto(),以实现所有和该scrollcontroller关联的scrol","jumpto(),它们是真正来控制跳转滚动位置的方法,scrollcontroller的这两个同名方法,内部最终都会调用scrollposition的。","jumpto(doubl","listtile(title:","listview(key:","listview.builder(","maxscrollextent:最大可滚动长度。","new","notification)","notification.metrics.maxscrollextent;","notification.metrics.pixel","notificationlisten","notificationlistener(","notificationlistener是一个widget,模板参数t是想监听的通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型的通知会被监听。notificationlistener需要一个onnotification回调函数,用于实现监听处理逻辑,该回调可以返回一个布尔值,代表是否阻止该事件继续向上冒泡,如果为true时,则冒泡终止,事件停止向上传播,如果不返回或者返回值为fals","null","offset","offset)、animateto(doubl","offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。","offset:可滚动widget当前滚动的位置。","oldposition);","onnotification:","onpressed:","pagestoragekey(1),","pagestoragekey(2),","pagestorage是一个用于保存页面(路由)相关数据的widget,它并不会影响子树的ui外观,其实,pagestorage是一个功能型widget,它拥有一个存储桶(bucket),子树中的widget可以通过指定不同的pagestoragekey来存储各自的数据或状态。","physics,","pixels:当前滚动位置。","position)","position.pixels;","print(\"bottomedge:","print(_controller.offset);","progress","radius:","return","scaffold(","scrollbar(","scrollcontext","scrollcontrol","scrollcontroller();","scrollcontroller({","scrollcontrollertestrout","scrollcontrollertestroutest","scrollcontrollertestroutestate();","scrollcontroller控制原理","scrollcontroller还有一些属性和方法,我们将在后面原理部分解释。","scrollcontroller间接继承自listenable,我们可以根据scrollcontroller来监听滚动事件。如:","scrollmetrics还有一些其它属性,读者可以自行查阅api文档。","scrollnotificationtestrout","scrollphys","scrollposit","scrollposition有两个常用方法:animateto()","setstate(()","showtotopbtn","stack(","state","statefulwidget","string","super.dispose();","text(\"$index\"));","text(\"$index\"),);","text(\"滚动控制\")),","text(_progress),","this.keepscrolloffset","true,//是否保存滚动位置","true;","void","widget","widget会调用attach()方法,将创建的scrollposition添加到scrollcontroller的positions属性中,这一步称为“注册位置”,只有注册后animateto()","widget使用。","widget使用,scrollcontroller会为每一个scrol","widget使用,那么我们可以通过如下方式分别读取他们的滚动位置:","widget保存的滚动位置。","widget关联后才可以。","widget关联时,scrol","widget创建一个scrollposition对象,这些scrollposition保存在scrollcontroller的positions属性中(list)。scrollposition是真正保存滑动位置信息的对象,offset只是一个便捷属性:","widget到widget树根之间任意位置都能监听。而scrollcontroller只能和具体的scrol","widget在滚动时会发送scrollnotification类型的通知,scrollbar正是通过监听滚动通知来实现的。通过notificationlistener监听滚动事件和通过scrollcontroller有两个主要的不同:","widget在第一次创建时,会滚动到initialscrolloffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialscrolloffset会被忽略。","widget时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定pagestoragekey来分别跟踪不同scrol","widget时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供pagestoragekey。这是因为scrollable本身是一个statefulwidget,它的状态中也会保存当前滚动位置,所以,只要scrol","widget本身没有被从树上detach掉,那么其state就不会销毁(dispose),滚动位置就不会丢失。只有当widget发生结构变化,导致scrol","widget来监听自己关注的通知,这种通信方式类似于web开发中浏览器的事件冒泡,我们在flutter中沿用“冒泡”这个术语。scrol","widget树中子widget可以通过发送通知(notification)与父(包括祖先)widget通信。父widget可以通过notificationlisten","widget的state就会销毁,这时如果想恢复滚动位置就需要指定pagestoragekey。","widget的state销毁或重新构建时才会丢失状态,这种情况就需要显式指定pagestoragekey,通过pagestorage来存储滚动位置,一个典型的场景是在使用tabbarview时,在tab发生切换时,tab页中的scrol","widget的位置,如:","widget的边界(此示例中相当于列表顶或底部)。","widget都会将滚动位置offset存储到pagestorage中,当scrol","widget都滚动到指定的位置。","widget重新创建时会使用scrollcontroller.initialscrolloffset;scrollcontroller.keepscrolloffset为true时,scrol","widget销毁时,会调用scrollcontroller的detach()方法,将其scrollposition对象从scrollcontroller的positions属性中移除,这一步称为“注销位置”,注销后animateto()","widget首先会调用scrollcontroller的createscrollposition()方法来创建一个scrollposition来存储滚动位置信息,接着,scrol","widget,但是有一些操作,如读取滚动位置offset,则需要一对一,但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个scrollcontroller同时被两个scrol","{","}","})","});","},","一个scrollcontroller可以同时被多个scrol","一个scrollcontroller虽然可以对应多个scrol","下面,我们监听listview的滚动通知,然后显示当前滚动进度百分比:","不同的pagestoragekey,需要不同的值,这样才可以区分为不同scrol","代码说明已经包含在注释里,下面我们看看运行效果:","和","在前几节中,我们介绍了flutter中常用的可滚动widget,也说过可以用scrollcontroller来控制可滚动widget的滚动位置,本节先介绍一下scrollcontroller,然后以listview为例,展示一下scrollcontroller的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。","在接收到滚动事件时,参数类型为scrollnotification,它包括一个metrics属性,它的类型是scrollmetrics,该属性包含当前viewport及滚动位置等信息:","将不能再被调用。","当scrollcontroller和scrol","当一个路由中包含多个scrollabl","我们介绍一下scrollcontroller常用的属性和方法:","我们创建一个listview,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使listview恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:","我们可以通过controller.positions.length来确定controller被几个scrol","我们来介绍一下scrollcontroller的另外三个方法:","我们看一看运行结果:","收到滚动事件后获得的信息不同;notificationlistener在收到滚动事件时,通知中会携带当前滚动位置和viewport的一些信息,而scrollcontroller只能获取当前滚动位置。","方法","时,则冒泡继续。","构造函数:","每次滚动结束,scrollabl","注意:一个路由中包含多个scrollabl","滚动位置恢复","滚动监听","滚动监听及控制","滚动监听及控制scrollcontrol","由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,listview会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。","监听滚动通知","示例","通过notificationlistener可以在从scrol","重新创建时再恢复。如果scrollcontroller.keepscrolloffset为false,则滚动位置将不会被存储,scrol","需要注意的是,scrollcontroller的animateto()"],"chapter7/":["inheritedwidget","theme","willpopscop","主题","功能型widget","功能型widget指的是不会影响ui布局及外观的widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的focusscope(焦点控制)、pagestorage(数据存储)、notificationlistener(事件监听)都属于功能型widget。由于widget是flutter的一等公民,功能型widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型widget。","功能型widget简介","导航返回拦截","数据共享","本章目录"],"chapter7/willpopscope.html":["'package:flutter/material.dart';","()","(_lastpressedat",")",");","...","//上次点击时间","//两次点击间隔超过1秒则重新计时","1))","=","==",">","@overrid","@requir","_lastpressedat","_lastpressedat;","alignment.center,","alignment:","async","build(buildcontext","child","child:","class","const","container(","context)","createstate()","datetim","datetime.now().difference(_lastpressedat)","datetime.now();","duration(seconds:","extend","false;","import","new","null","onwillpop,","onwillpop:","onwillpop是一个回调函数,当用户点击返回按钮时调用(包括导航返回按钮及android物理返回按钮),该回调需要返回一个future对象,如果返回的future最终值为false时,则当前路由不出栈(不会返回),最终值为true时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。","return","state","statefulwidget","text(\"1秒内连续按两次返回键退出\"),","true;","widget","willpopcallback","willpopscop","willpopscope(","willpopscope({","willpopscopetestrout","willpopscopetestroutest","willpopscopetestroutestate();","{","||","}","})","},","为了避免用户误触返回按钮而导致app退出,在很多app中都拦截了用户点击返回键的按钮,当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。flutter中可以通过willpopscope来实现返回按钮拦截,我们看看willpopscope的默认构造函数:","为了防止用户误触返回键退出,我们拦截返回事件,当用户在1秒内点击两次返回按钮时,则退出,如果间隔超过1秒则不退出,并重新记时。代码如下:","导航返回拦截","导航返回拦截willpopscop","示例","读者可以运行示例看看效果。"],"chapter7/inherited_widget.html":["!=","(","()",")","),",");","++count),",".data",".of(context)",".tostring());","//使用inheritedwidget中的共享数据","//使用sharedatawidget","//如果build中没有依赖inheritedwidget,则此回调不会被调用。","//如果返回false,则子树中依赖(build函数中有调用)本widget","//定义一个便捷方法,方便子树中的widget获取共享数据","//每点击一次,将count自增,然后重新build,sharedatawidget的data将被更新","//父或祖先widget中的inheritedwidget改变(updateshouldnotify返回true)时会被调用。","//的子widget的`state.didchangedependencies`会被调用","//该回调决定当data发生变化时,是否通知子树中依赖data的widget","//需要在子树中共享的数据,保存点击次数","0;","20.0),","8513):",":super(child:","=","=>","@overrid","@requir","[","],","__testwidgetst","__testwidgetstate();","_inheritedwidgettestroutest","_inheritedwidgettestroutestate();","_testwidget","_testwidget(),//子widget中依赖sharedatawidget","_testwidget,在其build方法中引用sharedatawidget中的数据;同时,在其didchangedependencies()","bool","build(buildcontext","center(","chang","change\");","child","child);","child:","children:","class","column(","const","context)","context.inheritfromwidgetofexacttype(sharedatawidget);","count","count,","createstate()","data:","data;","depend","didchangedepend","didchangedependencies()","edgeinsets.only(bottom:","extend","framework是怎么知道子widget有没有依赖inheritedwidget的?","framework调用。而这个“依赖”指的就是是否使用了父widget中inheritedwidget的数据,如果使用了,则代表有依赖,如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的主题、locale等发生变化时有机会来做一些事情。","i/flutt","inheritedwidget","inheritedwidgettestrout","inheritedwidget和react中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。inheritedwidget的在widget树中数据传递方向是从上到下的,这和notification的传递方向正好相反。","inheritedwidget是flutter中非常重要的一个功能型widget,它可以高效的将数据在widget树中向下传递、共享,这在一些需要在widget树中共享数据的场景中非常方便,如flutter中,正是通过inheritedwidget来共享应用主题(theme)和locale(当前语言环境)信息的。","int","mainaxisalignment.center,","mainaxisalignment:","new","of(buildcontext","old)","old.data","onpressed:","padding(","padding:","print(\"depend","raisedbutton(","return","setstate(()","sharedatawidget","sharedatawidget(","sharedatawidget({","state","statefulwidget","static","super.didchangedependencies();","text(\"increment\"),","text(sharedatawidget","this.data,","updateshouldnotify(sharedatawidget","void","widget","{","}","})","一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。","可见依赖发生变化后,其didchangedependencies()会被调用。但是读者要注意,如果_testwidget的build方法中没有使用sharedatawidget的数据,那么它的didchangedependencies()将不会被调用,因为它并没有依赖sharedatawidget。","回调中打印日志:","在介绍statefulwidget时,我们提到state对象有一个回调didchangedependencies,它会在“依赖”发生变化时被flutt","应该在didchangedependencies()中做什么?","思考题:flutter","我们看一下之前“计数器”示例应用程序的inheritedwidget版本,需要说明的是,本例主要是为了演示inheritedwidget的功能特性,并不是计数器的推荐实现方式。","数据共享","最后,我们创建一个按钮,每点击一次,就将sharedatawidget的值自增:","每点击一次按钮,计数器就会自增,控制台就会打印一句日志:","然后我们实现一个子widget","运行后界面如下:","首先,我们通过继承inheritedwidget,将当前计数器点击次数保存在sharedatawidget的data属性中:"],"chapter7/theme.html":["()","),",");","...","//","//为第二行icon自定义颜色(固定为黑色)","//主色,决定导航栏颜色","//主题颜色样本,见下面介绍","//分割线颜色","//切换主题","//卡片颜色","//当前路由主题色","//指定平台,应用特定平台控件风格","//按钮主题","//文字字体","//次级色,决定大多数widget的颜色,如进度条、开关等。","//深色还是浅色","//用于icon颜色","//用于导航栏、floatingactionbutton的背景色等","//第一行icon使用主题中的iconthem","//输入框光标颜色",":","=","==","=>","?","@overrid","[","]","],","_themecolor","_themecolor)","_themecolor,","_themetestroutest","_themetestroutestate();","accentcolor,","appbar(title:","appbar:","app定义主题数据(themedata),material组件库里很多widget都使用了主题数据,如导航栏颜色、标题字体、icon样式等。theme内会使用inheritedwidget来为其子树widget共享样式数据。","body:","bool","bright","brightness,","build(buildcontext","buttontheme,","buttonthemedata","cardcolor,","child:","children:","class","color","color:","colors.black","colors.blu","colors.t","colors.teal;","column(","context)","context)来获取的,我们看看其简化后的代码:","context,","context.inheritfromwidgetofexacttyp","context.inheritfromwidgetofexacttype(_inheritedtheme)","createstate()","cursorcolor,","data:","design","dialogbackgroundcolor,//对话框背景颜色","dividercolor,","extend","fals","floatingactionbutton(","floatingactionbutton:","fontfamily,","icon(icons.airport_shuttle),","icon(icons.favorite),","icon(icons.palette)","icontheme,","icontheme:","iconthemedata","iconthemedata(color:","icon的默认样式","mainaxisalignment.center,","mainaxisalignment:","materialcolor","new","of(buildcontext","onpressed:","platform,","primarycolor,","primaryswatch,","primaryswatch:","return","row(","scaffold(","setstate(()","shadowthemeonli","state","statefulwidget","static","string","targetplatform","text(\"","text(\"主题测试\")),","textthem","texttheme,//","theme","theme(","theme.of(context);","themedata","themedata(","themedata({","themedata.copywith(","themedata.icontheme.copywith(","themedata是materi","themetestrout","widget","widget可以为materi","widget库的主题数据,material库的widget需要遵守相应的设计规范,而这些规范可自定义部分都定义在themedata,所以我们可以通过themedata来自定义应用主题。我们可以通过theme.of方法来获取当前的themedata。","{","}","})","、indicatorcolor等也会受primaryswatch影响。","上面只是themedata的一小部分属性,完整列表读者可以查看sdk定义。上面属性中需要说明的是primaryswatch,它是主题颜色的一个\"样本\",通过这个样本可以在一些条件下生成一些其它的属性,例如,如果没有指定primarycolor,并且当前主题不是深色主题,那么primarycolor就会默认为primaryswatch指定的颜色,还有一些相似的属性如accentcolor","主题","会在widget树中从当前位置向上查找第一个类型为_inheritedtheme的widget。所以当局部使用theme后,其子树中theme.of()找到的第一个_inheritedtheme便是该theme的。","可以通过局部主题覆盖全局主题,正如代码中通过theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为widget中使用主题样式时是通过theme.of(buildcontext","字体主题,包括标题、body等文字样式","我们实现一个路由换肤功能:","我们看看themedata部分数据:","本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改materialapp的theme属性。","注意,materi","示例","简化代码,并非源码","设计规范中有些是不能自定义的,如导航栏高度,themedata只包含了可自定义部分。","运行后点击右下角悬浮按钮则可以切换主题:","需要注意的有三点:","颜色固定黑色\")","颜色跟随主题\")"],"chapter8/":["flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。","事件处理与通知","全局事件总线","原始指针事件处理","手势识别","本章目录","第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下flutter中重要的notification机制。","通知notif"],"chapter8/listener.html":["(","(event)","(event)=>print(\"in\"),","(event)=>print(\"up\"),","(pointerdownev","(pointermoveev","(pointerupev",")","),","...","//behavior:","//在命中测试期间如何表现","//定义一个状态,保存当前指针位置","//手指按下回调","//手指移动回调","//放开此行注释后可以\"点透\"","100.0)),","100.0,","150.0)),","150.0,","200.0)),","200.0,","300.0,","3039):","=","=>","[","],","_event;","a\")","a\")),","absorbpointer(","alignment.center,","alignment:","boxconstraints.tight(size(200.0,","boxconstraints.tight(size(300.0,","boxdecoration(color:","center(child:","child","child:","children:","color:","colors.blue)),","colors.blue,","colors.red,","colors.white)),","constrainedbox(","constraints:","container(","decoratedbox(","decoration:","defertochild:子widget会一个接一个的进行命中测试,如果子widget中有测试通过的,则当前widget通过,这就意味着,如果指针事件作用于子widget上时,其父(祖先)widget也肯定可以收到该事件。","delta:两次指针移动事件(pointermoveevent)的距离。","down0","down1","event)","event,在移动设备上通常为触摸事件),下一节再介绍手势处理。","flutter中可以使用listen","height:","hittestbehavior.defertochild,","hittestbehavior.opaque,","hittestbehavior.translucent,","i/flutt","key","key,","listener(","listener({","onpointerdown:","onpointermove:","onpointerup:","opaque:在命中测试时,将当前widget当成不透明处理(即使本身是透明的),最终的效果相当于当前widget的整个区域都是点击区域。举个例子:","orientation:指针移动方向,是一个角度值。","pointerev","pointer事件处理","position:它是鼠标相对于当对于全局坐标的偏移。","pressure:按压力度,如果手机屏幕支持压力传感器(如iphone的3d","print(\"down","print(\"down0\"),","print(\"down1\"),","setstate(()=>_event=event),","stack(","test),以确定指针与屏幕接触的位置存在哪些widget,","text(\"box","text(\"左上角200*100范围内非文本区域点击\")),","text(_event?.tostring()??\"\",style:","textstyle(color:","this.behavior","this.onpointercancel,//触摸事件取消回调","this.onpointerdown,","this.onpointermove,","this.onpointerup,//手指抬起回调","touch),此属性会更有意义,如果手机不支持,则始终为1。","translucent:当点击widget透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部widget透明区域时,顶部widget和底部widget都可以接收到事件,例如:","widget","widget来监听原始触摸事件,它也是一个功能性widget。","width:","})","上例中,只有点击文本内容区域才会触发点击事件,如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为hittestbehavior.opaque。注意,该属性并不能用于在widget树中拦截(忽略)事件,它只是决定命中测试时的widget大小。","上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部widget透明区域),控制台只会打印“down0”,也就是说顶部widget没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:","上面只是pointerevent一些常用属性,除了这些它还有很多属性,读者可以查看api文档。","但是flutter中没有机制取消或停止冒泡过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的widget才能触发事件。","假如我们不想让某个子树响应pointerevent的话,我们可以使用ignorepointer和absorbpointer,这两个widget都能阻止子树接收指针事件,不同之处在于absorbpointer本身会参与命中测试,而ignorepointer本身不会参与,这就意味着absorbpointer本身是可以接收指针事件的(但其子树不行),而ignorepointer不可以。一个简单的例子如下:","原始指针事件处理","在移动端,各个平台或ui系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。","如果behavior值改为hittestbehavior.opaque,则只会打印\"down1\"。","当指针按下时,flutter会对应用程序执行命中测试(hit","忽略pointerev","我们先看一个示例,后面再单独讨论一下behavior属性。","手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数pointerdownevent、pointermoveevent、pointerupevent都是pointerevent的一个子类,pointerevent类中包括当前指针的一些信息,如:","指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的widget,然后从那里开始,事件会在widget树中向上冒泡,这些事件会从最内部的widget被分发到到widget根的路径上的所有widget,这和web开发中浏览器的事件冒泡机制相似,","本节先来介绍一下原始指针事件(pointer","点击container时,由于它在absorbpointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但absorbpointer本身是可以接收指针事件的,所以会输出\"up\"。如果将absorbpointer换成ignorepointer,那么两个都不会输出。","现在,我们重点来介绍一下behavior属性,它决定子widget如何响应命中测试,它的值类型为hittestbehavior,这是一个枚举类,有三个枚举值:"],"chapter8/gesture.html":["!_toggle;","\"no","\"你好世界\"),","\"点我变色\",","'package:flutter/gestures.dart';","'package:flutter/material.dart';","(","()","(17539):","(details)","(details){","(dragdowndetail","(dragenddetail","(dragupdatedetail","(scaleupdatedetail",")","),",");","+=","..ontap","//会触发","//保存事件名","//双击","//变色开关","//垂直方向拖动事件","//手指按下时会触发此回调","//手指滑动时会触发此回调","//打印手指按下的位置(相对于屏幕)","//打印滑动结束时在x、y轴上的速度","//指定宽度,高度自适应","//更新显示的事件名","//用到gesturerecognizer的话一定要调用其dispose方法释放资源","//用户手指滑动时,更新偏移,重新构建","//缩放倍数在0.8到10倍之间","//要拖动和点击的widget","//距顶部的偏移","//通过修改图片宽度来达到缩放效果","//长按","0.0;","0.0;//距左边的偏移","10.0);","100.0,","101.8)","125.8)","200.0,","200.0;","30.0,","8513):",":","=","=>","?","@overrid","[","]","],","_drag","_dragstat","_dragstate();","_dragvert","_dragverticalst","_dragverticalstate();","_gesturedetectortestroutest","_gesturedetectortestroutestate();","_gesturerecognizertestroutest","_left","_left,","_leftb","_leftb,","_oper","_scaletestroutest","_tapgesturerecogn","_tapgesturerecognizer.dispose();","_toggl","_top","_top,","_width","_width),","_width=200*details.scale.clamp(.8,","alignment.center,","alignment:","bool","bothdirectiontestrout","bothdirectiontestroutest","bothdirectiontestroutestate();","build(buildcontext","center(","child:","children:","circleavatar(child:","class","color:","colors.blu","colors.blue,","colors.r","colors.white),","container(","context)","createstate()","details)","details.delta.dx;","details.delta.dy;","detected!\";","dispose()","doubl","down","dragdowndetails.globalposition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父widget)原点(左上角)的偏移。","dragenddetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。","dragupdatedetails.delta:当用户在屏幕上滑动时,会触发多次update事件,delta指一次update事件的滑动的偏移量。","e)","e){","e.delta.dx;","e.delta.dy;","extend","false;","fontsize:","gestur","gestureconflicttestroutest","gesturedetector(","gesturedetectortestrout","gesturedetector内部是使用一个或多个gesturerecognizer来识别各种手势的,而gesturerecognizer的作用就是通过listener来将原始指针事件转换为语义手势,gesturedetector直接可以接收一个子widget。gesturerecognizer是一个抽象类,一种手势的识别器对应一个gesturerecognizer的子类,flutter实现了丰富的手势识别器,我们可以直接使用。","gesturedetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果:","gesturedetector是一个用于手势识别的功能性widget,我们通过它可以来识别各种手势,它是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别:","gesturerecogn","height:","i/flutt","image.asset(\"./images/sea.png\",","import","left:","listener(","new","ondoubletap:","onhorizontaldragend","onhorizontaldragend:","onhorizontaldragupdate:","onlongpress:","onpandown:","onpanend:","onpanupdate:","onpointerdown:","onpointerup:","onscaleupdate:","ontap:","ontapdown:","ontapup:","ontapup发生了冲突,但是因为是在拖动的语义中,所以onhorizontaldragend胜出,所以就会打印","onverticaldragupdate:","positioned(","print(\"down\");","print(\"onhorizontaldragend\");","print(\"up\");","print(\"用户手指按下:${e.globalposition}\");","print(e.velocity);","recognizer:","return","setstate(()","singletickerproviderstatemixin","stack(","state","statefulwidget","string","style:","super.dispose();","tapgesturerecogn","tapgesturerecognizer();","text(\"a\")),","text(\"b\")),","text(_operation,","text)","text.rich(","text:","text;","textspan(","textspan(text:","textstyle(","textstyle(color:","top:","top:80.0,","updatetext(\"doubletap\"),","updatetext(\"longpress\"),","updatetext(\"tap\"),//点击","updatetext(str","velocity(235.5,","void","widget","width:","{","}","});","},","“onhorizontaldragend”。如果我们的代码逻辑中,对于手指按下和抬起是强依赖的,比如在一个轮播图组件中,我们希望手指按下时,暂停轮播,而抬起时恢复轮播,但是由于轮播图组件中本身可能已经处理了拖动手势(支持手动滑动切换),甚至可能也支持了缩放手势,这时我们如果在外部再用ontapdown、ontapup来监听的话是不行的。这时我们应该怎么做?其实很简单,通过listener监听原始指针事件就行:","一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。gesturedetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。gesturedetector会将要监听的widget的原点(左上角)作为本次手势的原点,当用户在监听的widget上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母a的示例:","代码解释:","假设我们要给一段富文本(richtext)的不同部分分别添加点击事件处理器,但是textspan并不是一个widget,这时我们不能用gesturedetector,但textspan有一个recognizer属性,它可以接收一个gesturerecognizer,假设我们在点击时给文本变色:","单一方向拖动","和","在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,gesturedetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:","如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上flutter中的手势识别引入了一个arena的概念,arena直译为“竞技场”的意思,每一个手势识别器(gesturerecognizer)都是一个“竞争者”(gesturearenamember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个listview,它的第一个子widget也是listview,如果现在滑动这个子listview,父listview会动吗?答案是否定的,这时只有子widget会动,因为这时子widget会胜出而获得滑动事件的处理权。","当同时监听ontap和ondoubletap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以gesturedetector会等一断时间来确定是否为双击事件。如果用户只监听了ontap(没有监听ondoubletap)事件时,则没有延时。","总结:","我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:","我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时tapdown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onhorizontaldragend","我们通过gesturedetector对container进行手势识别,触发相应事件后,在container上显示事件名,为了增大点击区域,将container设置为200×100,代码如下:","手势冲突","手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过listener直接识别原始指针事件来解决冲突。","手势竞争与冲突","手势识别","手势识别gesturedetector","拖动、滑动","日志:","此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。","注意:","注意:使用gesturerecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。","点击、双击、长按","现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,我们将在后面“动画”一章中实现一个完整的缩放widget。","现在我们按住圆形“a”拖动然后抬起手指,控制台日志如下:","用户手指按下:offset(26.3,","由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:","示例","竞争","缩放","运行后,就可以在任意方向拖动了:","运行效果:","这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。"],"chapter8/eventbus.html":["(arg)","(eventnam","(f","(list","(var","...","//","//保存事件订阅者队列,key:事件名(id),value:","//保存单例","//反向遍历,防止在订阅者在回调中移除自身带来的下标错位","//定义一个top","//工厂构造函数","//添加订阅者","//登录成功后触发登录事件,页面a中订阅者会被调用","//登录页b中","//监听登录事件","//私有构造函数","//移除订阅者","//触发事件,事件触发后该事件所有订阅者会被调用","//订阅者回调签名","//页面a中","1;","=","==",">","??=","[arg])","[eventcallback","_emap","_emap[eventname]","_emap[eventname].add(f);","_emap[eventname];","_singleton","_singleton;","bu","bus.emit(\"login\",","bus.on(\"login\",","class","emit(eventname,","eventbu","eventbus();","eventbus()=>","eventbus()始终返回都是同一个实例,读者应该理解并掌握这种方法。","eventbus._internal();","eventcallback","eventcallback(arg);","f","f)","f])","factori","i)","int","len","len;","level变量,页面引入该文件后可以直接使用bu","list","list();","list.length","list.remove(f);","list[i](arg);","map>();","new","null","null)","null;","off(eventname,","on(eventname,","return;","someth","static","typedef","userinfo);","var","void","{","||","}","});","事件总线","事件总线通常用于widget之间状态共享,但关于widget之间状态共享也有一些专门的package如redux,这和web框架vue/react是一致的。通常情况下事件总线是足以满足业务需求的,如果你决定使用redux的话,一定要想清楚业务是否真的有必要用它,防止“化简为繁”、过度设计。","使用","全局事件总线","在app中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的app中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:","对应事件的订阅者队列","注意:dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new"],"chapter8/notification.html":["\";","()","(context)","(context,","(notification)","(notification){","(notification.runtimetype){","),",");","//","//print(notification);","//按钮点击时分发通知","//监听通知","100,","=>","@overrid","[","],","_msg+=notification.msg+\"","_msg=\"\";","break;","bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。","build(buildcontext","builder(","builder:","case","center(","child:","children:","class","column(","context)","createstate()","extend","final","flutter中很多地方使用了通知,如可滚动(scrollable)","index)","itembuilder:","itemcount:","listtile(title:","listview.builder(","mainaxissize.min,","mainaxissize:","msg;","mynotif","mynotification(\"hi\").dispatch(context),","mynotification(this.msg);","new","notif","notification\"),","notificationlistener(","notificationrout","notificationroutest","notificationroutestate();","notification是flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)向上传递,所有父节点都可以通过notificationlistener来监听通知,flutter中称这种通知由子向父的传递为“通知冒泡”(notif","notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作element的一个接口,它与element树上的节点是对应的,通知会从context对应的element节点向上冒泡。","onnotification:","onpressed:","overscrollnotification:","print(\"开始滚动\");","print(\"正在滚动\");","print(\"滚动停止\");","print(\"滚动到边界\");","raisedbutton(","return","scrollendnotification:","scrollstartnotification:","scrollupdatenotification:","setstate(()","state","statefulwidget","string","switch","text(\"$index\"),);","text(\"send","text(_msg)","widget","widget中滑动时就会分发scrollnotification,而scrollbar正是通过监听scrollnotification来确定滚动条位置的。除了scrollnotification,flutter中还有sizechangedlayoutnotification、keepalivenotif","widget滚动通知的例子:","{","}","});","},","、layoutchangednotification等。下面是一个监听scrol","上例中的滚动通知如scrollstartnotification、scrollupdatenotification等都是继承自scrollnotification类,不同类型的通知子类会包含不同的信息,比如scrollupdatenotification有一个scrolldelta属性,它记录了移动的位移,其它通知属性读者可以自己查看sdk文档。","上面代码中,我们每点一次按钮就会分发一个mynotification类型的通知,我们在widget根上监听通知,收到通知后我们将通知通过text显示在屏幕上。","下面我们看一个完整的例子:","分发通知。","定义一个通知类,要继承自notification类;","注意:代码中注释的部分是不能正常工作的,因为这个context是根context,而notificationlistener是监听的子树,所以我们通过builder来构建raisedbutton,来获得按钮位置的context。","自定义通知","运行效果如下:","通知notif","除了flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:"],"chapter9/":["design","flutter动画简介","flutter可以轻松实现各种动画类型,对于许多widget,特别是materi","hero动画","widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。","交错动画","动画","动画结构","本章目录","简介","精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。","自定义路由过渡动画"],"chapter9/intro.html":[");","*","//通过一个回调创建一个ticker","0,","0.0);","1.0的范围。例如,fling()函数允许您提供速度(velocity)、力量(force)等,因此可以在0.0到1.0范围之外。","10.0,","2);","20.0,","200.0,","200.0到0.0的值:","2000),","255).animate(controller);","255).animate(curve);","500),","=","@overrid","abstract","addlistener()可以给animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setstate()来触发ui重建。","addstatuslistener()可以给animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见animationstatus定义)时会调用statuslistener。","alpha","anim","animation)方法,它可以获取动画当前值。","animation\\。可以通过animation对象的value属性获取动画的当前值。","animationcontrol","animationcontroller(","animationcontroller派生自animation,因此可以在需要animation对象的任何地方使用。","animationcontroller生成数字的区间可以通过lowerbound和upperbound来指定,如:","animationcontroller用于控制动画,它包含动画的启动forward()、停止stop()","animation对象本身和ui渲染没有任何关系。animation是一个抽象类,它用于保存动画的插值和状态;其中一个比较常用的animation类是animation。animation对象是一个在一段时间内依次生成一个区间(tween)之间值的类。animation对象的输出值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数。","animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。","class","colors.black54);","colors.transparent,","colortween","colortween(begin:","const","control","controller,","createticker(tickercallback","curv","curve:","curvedanim","curvedanimation(parent:","curvedanimation和animationcontroller(下面介绍)都是animation类型。curvedanimation可以通过包装animationcontroller和curve生成一个新的动画对象","curvedanimation生成的值也可以超出0.0到1.0的范围。根据选择的曲线,curvedanimation的输出可以具有比输入更大的范围。例如,curves.elasticin等弹性曲线会生成大于或小于默认范围的值。","curves.easein);","curves.easeout);","doubl","doubletween","duration(milliseconds:","duration:","duration表示动画执行的时长,通过它我们可以控制动画的速度。","end:","extend","final","flutter中动画抽象","flutter动画简介","flutter应用在启动时都会绑定一个schedulerbinding,通过schedulerbinding可以给每一次屏幕刷新添加回调,而ticker就是通过schedulerbinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用tickercallback。使用ticker(而不是timer)来驱动动画会防止屏幕外动画(动画的ui不在当前屏幕时,如锁屏时)消耗不必要的资源,因为flutter中屏幕刷新时会通知到绑定的schedulerbinding,而ticker是受schedulerbinding驱动的,由于锁屏后屏幕会停止刷新,所以ticker就不会再触发。","inttween(begin:","lowerbound:","math.pi","math.sin(t","new","ontick);","per","return","reverse()等方法。animationcontroller会在动画的每一帧,就会生成一个新的值。默认情况下,animationcontroller在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。","second),指每秒的动画帧数。很明显,帧率越高则动画就会越流畅。一般情况下,对于人眼来说,动画帧率超过16fps,就比较流畅了,超过32fps就会非常的细腻平滑,而超过32fps基本就感受不到差别了。由于动画的每一帧都是要改变ui输出,所以在一个时间段内连续的改变ui输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在ui系统中,动画的平均帧率是重要的性能指标,而在flutter中,理想情况下是可以实现60fps的,这和原生应用动画基本是持平的。","shakecurv","t)","this);","ticker","tickerprovid","transform(doubl","tween","tween(begin:","tween.anim","tween对象不存储任何状态,相反,它提供了evaluate(anim","tween构造函数需要begin和end两个参数。tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为0.0到1.0,但这不是必须的,我们可以自定义需要的范围。","tween继承自animatable,而不是继承自animation。animatable与animation相似,不是必须输出double值。例如,colortween指定两种颜色之间的过渡。","upperbound:","vsync:","{","}","、反向播放","。","为了方便开发者创建动画,不同的ui系统对动画都进行了一些抽象,比如在android中可以通过xml来描述一个动画然后设置给view。flutter中也对动画进行了抽象,主要涉及tween、animation、curve、controller这些角色。","以下示例构建了一个控制器、一条曲线和一个tween:","但是,animationcontroller具有控制动画的其他方法,例如forward()方法可以启动动画。数字的产生与屏幕刷新有关,因此每秒钟通常会产生60个数字(即60fps),在动画的每一帧,生成新的数字后,每个animation对象会调用其listener对象回调,等动画状态发生改变时(如动画结束)会调用statuslisteners监听器。","例如,下面代码创建一个animation对象,但不会启动它运行:","动画","动画过程可以是匀速的、加速的或者先加速后减速等。flutter中通过curve(曲线)来描述动画过程,curve可以是线性的(curves.linear),也可以是非线性的。","动画通知","在任何系统的ui框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变ui外观,由于人眼会产生视觉暂留,最终看到的就是一个“连续”的动画,这和电影的原理是一样的,而ui的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率fps(fram","在后面的章节中我们将会举例说明。","在某些情况下,动画值可能会超出animationcontroller的0.0","将动画过程定义为一个非线性曲线.","当创建一个animationcontroller时,需要传递一个vsync参数,它接收一个tickerprovider类型的对象,它的主要职责是创建ticker,定义如下:","我们可以通过animation来监听动画的帧和状态变化:","或","根据animation对象的控制方式,动画可以反向运行,甚至可以在中间切换方向。animation还可以生成除double之外的其他类型值,如:animation\\","注:","注意animate()返回的是一个animation,而不是一个animatable。","注意:","类类定义了许多常用的曲线,也可以创建自己的,例如:","要使用tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。","通过将singletickerproviderstatemixin添加到state的定义中,然后将state对象作为vsync的值,这在后面的例子中可以见到。","默认情况下,animationcontroller对象值的范围是0.0到1.0。如果我们需要不同的范围或不同的数据类型,则可以使用tween来配置动画以生成不同的范围或数据类型的值。例如,像下面示例,tween生成从"],"chapter9/animation_structure.html":["(buildcontext","(statu","),",");","...","..addlistener(()","//return","//使用弹性曲线","//动画恢复到初始状态时执行动画(正向)","//动画执行结束时反向执行动画","//启动动画","//启动动画(正向执行)","//启动动画(正向)","//图片宽高从0变到300","//路由销毁时需要释放动画资源","//需要继承tickerprovider,如果有多个animationcontroller,则应该使用tickerproviderstatemixin。","0.0,","1),","3),","300.0).animate(animation)","300.0).animate(controller)","300.0).animate(controller);",":","=","==","=>","@overrid","_scaleanimationroutest","_scaleanimationroutestate();","anim","animatedbuilder(","animatedimag","animatedimage(animation:","animatedimage({key","animatedwidget","animation);","animation,","animation,);","animation.addstatuslistener((status)","animation.valu","animation.value,","animation:","animation;","animation=curvedanimation(parent:","animationcontrol","animationcontroller(","animationstatus.completed)","animationstatus.dismissed)","animation})","build(buildcontext","builder:","center(","child","child)","child,","child:","child;","class","complet","const","container(","context)","context,","control","controller,","controller.dispose();","controller.forward();","controller.reverse();","controller;","createstate()","ctx,","curve:","curves.bouncein);","dismiss","dispose()","duration(seconds:","duration:","end:","extend","final","flutter中正是通过这种方式封装了很多动画,如:fadetransition、scaletransition、sizetransition、fractionaltranslation等,很多时候都可以复用这些预置的过渡类。","forward","growtransit","growtransition(","growtransition({this.child,","height:","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\",","initstate()","key,","listenable:","listenable;","new","return","revers","scaleanimationrout","setstate(()","setstate(()=>{});","singletickerproviderstatemixin","singletickerproviderstatemixin{","state","statefulwidget","statelesswidget","super(key:","super.dispose();","super.initstate();","this);","this.animation});","tween(begin:","vsync:","widget","width:","{","}","});","},","上面代码中addlistener()函数调用了setstate(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变image的宽高,因为它的高度和宽度现在使用的是animation.valu","上面的build方法中的代码可以改为:","上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给animatedbuilder后animatedbuilder再将其传递给匿名构造器,","上面的例子中并没有指定curve,所以放大的过程是线性的(匀速),下面我们指定一个curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initstate中的代码改为下面这样即可:","上面说过,我们可以通过animation的addstatuslistener()方法来添加动画状态改变监听器。flutter中,有四种动画状态,在animationstatus枚举类中定义,下面我们逐个说明:","不用显式的去添加帧监听器,然后再调用setstate()","也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:","了,这个好处和animatedwidget是一样的。","使用animatedwidget简化","动画在终点停止","动画在起始点停止","动画基本结构","动画构建的范围缩小了,如果没有builder,setstate()将会在父widget上下文调用,这将会导致父widget的build方法重新调用,而有了builder之后,只会导致动画widget的build重新调用,这在复杂布局下性能会提高。","动画正在反向执行","动画正在正向执行","动画状态监听","动画结构","含义","我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下:","我们通过实现一个图片逐渐放大的示例来演示一下flutter中动画的基本结构:","来更新ui这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。animatedwidget类封装了调用setstate()的细节,并允许我们将widget分离出来,重构后的代码如下:","枚举值","然后将该对象用作其子对象。最终的结果是animatedbuilder返回的对象插入到widget树中。","用animatedbuilder重构","用animatedwidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在animatedwidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个animatedwidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而animatedbuilder正是将渲染逻辑分离出来,","示例","细心的读者可能已经发现上面示例中通过addlistener()和setstate()","这样,最初的示例就可以改为:","通过animatedbuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个growtransition来说明,它可以对子widget实现放大动画:",",所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。"],"chapter9/route_transition.html":["(buildcontext","(context)","(context){","));",");","//使用渐隐渐入过渡,","//动画时间为500毫秒","//当前路由被激活,是打开新路由","//是返回,则不应用过渡动画","//路由b","300),","500),","=","=>","@overrid","@requir","anim","animation,","barriercolor;","barrierdismissible;","barrierlabel;","bool","builder(context),","builder(context);","builder:","builder;","buildpage(buildcontext","buildtransitions(buildcontext","child)","child:","class","color","const","context,","cupertinopageroute(","durat","duration(milliseconds:","edgeinsets.zero);","extend","faderout","faderoute(builder:","faderoute({","fadetransition(","false,","final","if(isactive)","maintainstate;","material库中提供了一个materialpageroute,它可以使用和平台风格一致的路由切换动画,如在ios上会左右滑动切换,而在android上会上下滑动切换。如果在android上也想使用左右切换风格,可以直接使用cupertinopageroute,","navigator.push(context,","new","opacity:","opaque;","padding(padding:","pageb()","pageb();","pagebuilder:","pagerout","pageroutebuilder(","return","secondaryanimation)","secondaryanimation,","string","this.barriercolor,","this.barrierdismiss","this.barrierlabel,","this.builder,","this.maintainst","this.opaqu","this.transitiondur","transitionduration:","transitionduration;","true,","widget","widgetbuild","{","}","}));","}),","});","}else{","使用faderout","关于路由参数的详细信息读者可以自行查阅api文档,比较简单,不再赘述。","如果想自定义路由切换动画,可以使用pageroutebuilder,例如我们想以渐隐渐入动画来实现路由过渡:","如:","定义一个路由类faderout","我们可以看到pagebuild","无论是materialpageroute、cupertinopageroute,还是pageroutebuilder,它们都继承自pageroute类,而pageroutebuilder其实只是pageroute的一个包装,我们可以直接继承pageroute类来实现自定义路由,上面的例子可以通过如下方式实现:","有一个animation参数,这是flutter路由管理器提供的,在路由切换时pagebuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。","自定义路由切换动画","自定义路由过渡动画","虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应考虑优先使用pageroutebuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候pageroutebuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承pageroute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isactive属性是否为true,代码如下:"],"chapter9/hero.html":["\"avatar\",","\"原图\",","()","(buildcontext","),",");","//","//唯一标记,前后两个路由页hero的tag必须相同","//打开b路由","50.0,","@overrid","alignment.topcenter,","alignment:","anim","animation,","a:包含一个用户头像,圆形,点击后跳到b路由,可以查看大图。","body:","build(buildcontext","b:显示用户头像原图,矩形;","center(","child:","class","clipoval(","container(","context)","context,","extend","fadetransition(","framework内部正式通过tag来对应新旧路由页widget的对应关系的。","framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值即可,幸运的是,这些事情flutter已经帮我们做了。","framework自动完成的。必须要注意,","hero","hero(","heroanimationrout","heroanimationrouteb","heroanimationrouteb(),","hero动画","hero动画的原理比较简单,flutt","hero指的是可以在路由(页面)之间“飞行”的widget,简单来说hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换,由于共享的widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会逐渐过渡,这样就会产生一个hero动画。","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\",","inkwell(","navigator.push(context,","new","ontap:","opacity:","pagebuilder:","pageroutebuilder(","pagescaffold(","return","secondaryanimation)","statelesswidget","tag:","title:","widget","widget将要共享的widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是flutt","width:","{","}","})","},","你可能多次看到过","假设有两个路由a和b,他们的内容交互如下:","共享元素转换。下面我们通过一个示例来体验一下hero","前后路由页的共享hero的tag必须是相同的,flutt","动画。","动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。","在ab两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:","在flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为","我们可以看到,实现hero动画只需要用hero","示例","路由a","路由b:"],"chapter9/stagger_animation.html":["()","),",").animate(",");",",",".0),","//","//先正向执行动画","//再反向执行动画","//调用我们定义的交错动画widget","//间隔,前60%的动画时间","//间隔,后40%的动画时间","//高度动画","0.0,","0.6,","0.6,//间隔,前60%的动画时间","1.0,","100.0),","2000),","300.0,","50.0,","=","=>","@overrid","_buildanimation(buildcontext","_buildanimation,","_control","_controller.forward().orcancel;","_controller.reverse().orcancel;","_controller;","_playanimation()","_playanimation();","_staggerdemost","_staggerdemostate();","alignment.bottomcenter,","alignment:","anim","animatedbuilder(","animation:","animationcontrol","animationcontroller(","animation)。交错动画需要注意以下几点:","async","await","begin:.0","begin:colors.green","begin:edgeinsets.only(left:","behavior:","border.all(","border:","boxdecoration(","build(buildcontext","builder:","canceled,","center(","child)","child:","class","color","color.value,","color:","color;","colors.black.withopacity(0.1),","colors.black.withopacity(0.5),","colortween(","const","container(","context)","context,","controller,","controller:","controller;","createstate()","curve:","curvedanimation(","curves.ease,","decoration:","dispos","duration(milliseconds:","duration:","end:","end:colors.red,","end:edgeinsets.only(left:","extend","final","futur","gesturedetector(","height","height.value,","height:","height;","hittestbehavior.opaque,","initstate()","interval(","key","key){","key,","ontap:","pad","padding:padding.valu","padding;","parent:","probabl","return","staggeranim","staggeranimation(","staggeranimation({","staggeranimation中定义了三个动画,分别是对container的height、color、padding属性设置的动画,然后通过interval来为每个动画指定在整个动画过程的起始点和终点。","staggerdemo","state","statefulwidget","statelesswidget","super(key:","super.initstate();","this.control","tickercancel","tickerproviderstatemixin","tri","tween(","tween指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定起始点和终止点来决定它们的开始时间和终止时间。","void","vsync:","widget","width:","{","}","}):","},","一个animationcontroller控制所有动画","下面我们来实现启动动画的路由:","下面我们看一个例子,实现一个柱状图增长的动画:","交错动画","开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。","我们将执行动画的widget分离出来:","所有动画都由同一个animationcontroller驱动,无论动画实时持续多长时间,控制器的值必须介于0.0和1.0之间,而每个动画的间隔(interval)介于0.0和1.0之间。对于在间隔中设置动画的每个属性,请创建一个tween。","执行效果如下,点击灰色矩形,就可以看到整个动画效果:","有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在x轴上平移一段距离。这时我们就需要使用交错动画(stagger","示例","给每一个动画对象指定间隔(interval)","要创建交错动画,需要使用多个动画对象","高度增长到300后,开始沿x轴向右平移100像素;这个过程占用整个动画时间的40%。"],"chapter13/":["custompaint与canva","实例:turnbox","实例:圆形渐变进度条","本章目录","自定义widget","自定义widget方法简介","通过组合现有widget实现"],"chapter13/intro.html":["api手动去绘制ui,缺点是必须了解canva","api来实现。子类需要实现此方法以实现自身的绘制逻辑,如renderparagraph需要实现文本绘制逻辑,而renderimage需要实现图片绘制逻辑。","api,并且得自己去实现绘制逻辑,而优点是强大灵活,理论上可以实现任何外观的ui。","context,","flutter提供的任何具有ui外观的widget,如文本text、image都是通过相应的renderobject渲染出来的,如text是由renderparagraph渲染,而image是由renderimage渲染。renderobject是一个抽象类,它定义了一个抽象方法paint(...):","offset","offset)","paint(paintingcontext","paintingcontext代表widget的绘制上下文,通过paintingcontext.canvas可以获得canvas,绘制逻辑主要是通过canva","void","可以发现,renderobject中最终也是通过canvas来绘制的,那么通过实现renderobject的方式和上面介绍的通过custompaint和canvas自绘的方式有什么区别?其实答案很简单,custompaint只是为了方便开发者封装的一个代理类,它直接继承自singlechildrenderobjectwidget,通过rendercustompaint的paint方法将canvas和画笔painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在painter中)。","在flutter中,组合的思想非常重要,flutter提供了非常多的基础widget,而我们的界面开发都是按照需要组合这些widget来实现各种不同的布局。","在本章接下来的小节中,我们将通过一些实例来详细介绍自定义ui的过程,由于后两种方法本质是相同的,后续我们只介绍custompaint和canvas的方式,读者如果对自定义renderobject的方法好奇,可以查看renderparagraph或renderimage源码。","如果遇到无法通过系统提供的现有widget实现的ui时,如我们需要一个渐变圆形进度条,而flutter提供的circularprogressindicator并不支持在显示精确进度时对进度条应用渐变色(其valuecolor","实现renderobject","属性只支持执行旋转动画时变化indicator的颜色),这时最好的方法就是通过自定义widget绘制逻辑来画出我们期望的外观。flutter中提供了custompaint和canvas供我们自绘ui外观。","当flutter提供的现有widget无法满足我们的需求,或者我们为了共享代码需要封装一些通用widget,这时我们就需要自定义widget。在flutter中自定义widget有三种方式:通过组合其它widget、自绘和实现renderobject,本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。","总结","组合其它widget","组合是自定义组件最简单的方法,在任何需要自定义的场景下,都应该优先考虑是否能够通过组合来实现。而自绘和通过实现renderobject的方法本质上是一样的,都需要开发者调用canva","自定义widget方法简介","自绘","这种方式是通过拼装其它低级别的widget来组合成一个高级别的widget,例如我们之前介绍的container就是一个组合widget,它是由decoratedbox、constrainedbox、transform、padding、align等组成。"],"chapter13/combine.html":["'package:flutter/material.dart';","),",");",",","//","//点击回调","//确保colors数组不空","50.0,","=","??","@overrid","@requir","[","[colors.lightblue[300],","[colors.lightgreen,","[colors.orange,colors.red],","[theme.primarycolor,","],","_color","_colors),","boxconstraints.tightfor(height:","boxdecoration(","build(buildcontext","center(","child),","child:","child;","children:","class","click\");","color","colors.blueaccent],","colors.green[700]],","colors.last,","colors.transparent,","colors:","colors;","column(","const","constrainedbox(","constraints:","container(","context)","decoratedbox(","decoration:","defaulttextstyle(","doubl","edgeinsets.all(8.0),","extend","final","flutter","fontweight.bold),","gesturetapcallback","gradient:","gradientbutton","gradientbutton(","gradientbutton({","gradientbuttonrout","height,","height:","height;","highlightcolor:","import","inkwell(","lineargradient(colors:","list","material(","materialtype.transparency,","ontap(){","ontap,","ontap:","ontap:ontap","ontap;","padding(","padding:","print(\"button","return","splashcolor:","statelesswidget","style:","text(\"submit\"),","textstyle(fontweight:","theme","theme.of(context);","theme.primarycolor];","theme.primarycolordark","themedata","this.child,","this.colors,","this.height,","this.ontap,","this.width,","type:","widget","widget。我们先来看看效果:","widget库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个gradientbutton","width),","width:","width;","{","}","});","使用gradientbutton","可以看到gradientbutton是由padding、center、inkwell等widget组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态、不能定义圆角等,读者可以根据实际需要来完善。","在flutter中页面ui通常都是由一些低阶别的widget组合而成,当我们需要封装一些通用widget时,应该首先考虑是否可以通过组合其它widget来实现,如果可以则应优先使用组合,因为直接通过现有widget拼装会非常方便、简单、高效。","总结","我们看看gradientbutton实现:","按钮宽高","标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解widget的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用widget时能够兼容或报错提示(使用assert断言函数)。","渐变色数组","示例:自定义渐变按钮","通过组合现有widget实现","通过组合现有widget实现自定义widget","通过组合的方式定义widget和我们之前写界面并无差异,不过在抽离出单独的widget时我们要考虑代码规范性,如必要参数要用@requir"],"chapter13/turn_box.html":["!=","'../widgets/index.dart';","'package:flutter/material.dart';","'package:flutter/widgets.dart';","()","(oldwidget.turn",")","),",");","+=",".0,",".0;",".2;","//旋转的“圈”数,一圈为360度,如0.25圈即90度","//旋转角度发生变化时执行过渡动画","//过渡动画执行的总时长","1000,","150.0,),","200,","50,),","500,",":super(key:","=","=>","@overrid","[","],","_control","_controller,","_controller.animateto(","_controller.dispose();","_controller.valu","_controller;","_turn","_turnboxroutest","_turnboxroutestate();","_turnboxst","_turnboxstate();","_turns,","animationcontrol","animationcontroller(","build(buildcontext","center(","child:","child;","children:","class","column(","const","context)","createstate()","curve:","curves.easeout,","didupdatewidget(turnbox","dispose()","doubl","double.infin","double.infinity,","duration(milliseconds:","duration:","extend","final","icon(icons.refresh,","import","initstate()","int","key","key);","key,","lowerbound:","new","oldwidget)","onpressed:","raisedbutton(","return","rotationtransition(","setstate(()","singletickerproviderstatemixin","size:","speed:","speed;","state","statefulwidget","super.didupdatewidget(oldwidget);","super.dispose();","super.initstate();","text(\"逆时针旋转1/5圈\"),","text(\"顺时针旋转1/5圈\"),","this,","this.child","this.spe","this.turn","turnbox","turnbox(","turnbox({","turnboxrout","turnbox的完整代码如下:","turns:","turns;","upperbound:","void","vsync:","widget","widget.child,","widget.speed??200),","widget.turns)","widget.turns,","widget.turns;","{","}","})","});","},","下面我们测试一下turnbox的功能,测试代码如下:","代码比较简单,我们主要是通过包装(组合)rotationtransition来实现的。","实例:turnbox","当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。","我们之前已经介绍过rotatedbox,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转,二是当旋转的角度发生变化时,旋转角度更新过程没有动画。","本节我们将实现一个turnbox,它可以以任意角度来旋转其子节点,并且在角度发生变化时可以执行一个动画过渡到新状态,同时,我们可以手动指定动画速度。","测试代码运行后效果如下图:"],"chapter13/custom_paint.html":["&","'dart:math';","'package:flutter/material.dart';","(int",")","),",");","..color","..color=color(0x77cdb175);//画笔颜色","..isantialia","..strokewidth","..style","/","//创建一个画笔并配置其属性","//填充","//子节点,可以为空","//指定画布大小","//是否抗锯齿","//画棋盘网格","//画棋盘背景","//画笔样式:填充","//线","//背景为纸黄色","0;","1.0;","15;","300),","=","@overrid","build(buildcontext","canvas,","canvas.drawrect(offset.zero","canvas:一个画布,包括各种绘制方法,我们列出一下常用的方法:","center(","child,","child:","class","color(0x77cdb175);","colors.black87","const","context)","custompaint","custompaint(","custompaint({","custompainter中提定义了一个虚函数paint:","custompaintrout","custompaint与canva","doubl","drawarc","drawcircl","drawimag","drawlin","drawov","drawpath","drawpoint","drawrect","eheight","ewidth","extend","false,","foregroundpainter:","import","iscomplex:是否复杂的绘制,如果是,flutter会应用一些缓存策略来减少重复渲染的开销。","key","key,","mypaint","mypainter(),","paint","paint()","paint(canva","paint);","painter:","paintingstyle.fil","paintingstyle.strok","paint有两个参数:","repaintboundary(child:...)),","return","size","size(300,","size)","size);","size,","size.height","size.width","size.zero,","size:","size:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用sizebox包裹custompaint实现。","size:当前绘制区域大小。","statelesswidget","this.foregroundpainter,","this.iscomplex","this.painter,","this.siz","this.willchang","true","true;","var","void","widget","widget中,这样会在绘制时创建一个新的绘制层(layer),其子widget将在新的layer上绘制,而父widget将在原来layer上绘制,也就是说repaintboundari","widget最终会通过renderparagraph对象来通过canvas实现文本绘制逻辑。","widget,它可以结合一个画笔custompainter来实现绘制自定义图形。","willchange:和iscomplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。","{","|","|api名称","}","})","下一节我们再通过实现一个自绘的圆形渐变进度条的实例来帮助读者加深印象。","下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘ui的过程,首先我们看一下我们的目标结果:","代码:","几乎所有的ui系统都会提供一个自绘ui的接口,这个接口通常会提供一块2d画布canvas,canvas内部封装了一些基本绘制的api,开发者可以通过canvas绘制各种自定义图形。在flutter中,提供了一个custompaint","前景画笔,会显示在子节点前面","功能","可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承custompainter类,我们在画笔类中实现真正的绘制逻辑。","如果custompaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在repaintboundari","子widget的绘制将独立于父widget的绘制,repaintboundary会隔离其子节点和custompaint本身的绘制边界。示例如下:","对于一些复杂或不规则的ui,我们可能无法使用现有widget组合的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等,当然有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片是实现不了的,比如要实现一个手写输入面板。这时,我们就需要来自己绘制ui外观。","尽可能的利用好shouldrepaint返回值;在ui树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的ui不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的ui外观;如果绘制依赖外部状态,那么我们就应该在shouldrepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。","性能","总结","我们看看custompaint构造函数:","更多的配置属性读者可以参考paint类定义。","注意","现在画布有了,我们最后还缺一个画笔,flutter提供了paint类来实现画笔。在paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:","画图像","画圆","画圆弧","画椭圆","画点","画矩形","画笔paint","画线","画路径","示例:五子棋/盘","绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个widget,并设置其shouldrepaint回调值为false,然后将棋盘widget作为背景。然后将棋子的绘制放到另一个widget中,这样落子时只需要绘制棋子。","绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:","背景画笔,会显示在子节点后面;","自绘控件非常强大,理论上可以实现任何2d图形外观,实际上flutter提供的所有widget最终都是调用canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的widget的源码,找到其对应的renderobject对象,如text"],"chapter13/gradient_circular_progress_demo.html":["!=","\"${(_animationcontroller.valu","&","'../widgets/index.dart';","'dart:math';","'package:flutter/material.dart';","(_color","(_valu","(backgroundcolor","(buildcontext","(isforward)","(radiu","(size.width","(statu","(strokecapround)","(valu",")","),",").createshader(rect);",");","*","..isantialia","..strokecap","..strokewidth","..style",".0);",".0,",".0;",".5,",".75,",".accentcolor;",".of(context)",".value),",".value,","/","//","///","///两端是否为圆角","///粗细","//width:","//剪裁半圆","//实现画笔","0)","0.0,","1","1,","1.0)","1.0]","1.5","10.0),","10.0,","100).toint()}%\",","100.0,","104.0,","16.0),","16.0,","2","2.0","2.0,","2.0;","20.0,","200.0,","25.0,","3));","3.0,","5.0,","50.0,","8,","8.0),","8.0,",":","=","==","=>",">","?","??","@overrid","@requir","[","[0.0","[color,","[colors.blue,","[colors.blue[700],","[colors.red,","[colors.teal,","],","_animationcontrol","_animationcontroller,","_animationcontroller.addstatuslistener((status)","_animationcontroller.dispose();","_animationcontroller.forward();","_animationcontroller.reverse();","_animationcontroller.value),","_animationcontroller.value,","_animationcontroller;","_color","_colors,","_gradientcircularprogresspaint","_gradientcircularprogresspainter(","_gradientcircularprogresspainter({","_offset","_offset)","_offset,","_start","_start,","_valu","_value,","_value.clamp(.0,","align(","alignment.center,","alignment.topcenter,","alignment:","angle:","animatedbuilder(","animation:","animationcontrol","animationcontroller(vsync:","animationstatus.complet","animationstatus.dismissed)","animationstatus.forward)","animationstatus.reverse)","asin(stokewidth","asin(stokewidth/","backgroundcolor,","backgroundcolor:","backgroundcolor;","bool","build(buildcontext","builder:","canvas,","canvas.drawarc(","center(","child)","child:","children:","class","cliprect(","color","color(0xffeeeeee),","color:","color];","colors,","colors.amber,","colors.blue,","colors.blue[200]],","colors.blue[300]],","colors.blue],","colors.bluegrey,","colors.cyan,","colors.cyan[500]],","colors.cyan],","colors.green[200],","colors.orange,","colors.orange],","colors.r","colors.red,","colors.red[50],","colors.red],","colors.transparent)","colors.transparent,","colors:","colors;","column(","const","context)","context,","createstate()","crossaxisalignment.center,","crossaxisalignment:","curve:","curvedanimation(","curves.decelerate)","curves.ease)","custompaint","custompaint(","dispose()","doubl","duration(seconds:","duration:","edgeinsets.only(bottom:","edgeinsets.only(top:","edgeinsets.symmetric(vertical:","endangle:","extend","false,","false;","final","fontsize:","gradient","gradientcircularprogressind","gradientcircularprogressindicator(","gradientcircularprogressindicator({","gradientcircularprogressrout","gradientcircularprogressroutest","gradientcircularprogressroutestate();","height:","heightfactor:","import","initstate()","isforward","list","new","null)","offset(_offset,","olddelegate)","padding(","padding:","paint","paint()","paint(canva","paint.color","paint.shad","painter:","paintingstyle.strok","parent:","pi","pi,","positioned(","quarterturns:","radius,","radius:","radius;","rect","rect,","return","rotatedbox(","runspacing:","shouldrepaint(custompaint","singlechildscrollview(","size","size(","size)","size.fromradius(radius),","size.fromradius(radius);","size.height","size.width","size:","sizedbox(","spacing:","stack(","startangle:","state","statefulwidget","statelesswidget","statu","stokewidth","stokewidth));","stokewidth,","stokewidth:","stokewidth;","stops,","stops:","stops;","strokecap.butt","strokecap.round","strokecapround","strokecapround,","strokecapround:","strokecapround;","style:","super.dispose();","super.initstate();","sweepgradient(","text(","textstyle(","theme","this,","this.backgroundcolor","this.colors,","this.radius,","this.stokewidth","this.stokewidth:","this.stops,","this.strokecapround","this.strokecapround:","this.tot","this.totalangl","this.valu","tickerproviderstatemixin","top:","total,","total:","total;","totalangle,","totalangle:","totalangle;","transform.rotate(","true","true,","true;","turnbox(","turns:","value,","value:","value;","var","void","widget","width:","wrap(","{","||","}","});","},","下面我们来测试一下,为了尽可能多的展示gradientcircularprogressindicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:","下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样","任意弧度;整个进度可以不是整圆。","先画背景","再画前景,应用渐变","可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现。","可以自定义粗细、两端是否圆角等样式。","圆的半径","如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置","完整的代码:","实例:圆形渐变进度条(自绘)","实现代码如下:","当前进度,取值范围","支持多种渐变色。","本节我们实现一个圆形渐变进度条,它支持:","渐变色数组","渐变色的终止点,对应colors属性","进度条的总弧度,2*pi为整圆,小于2*pi则不是整圆","进度条背景色"],"chapter10/":["api","dio","httpclient","http请求","json转model","packag","websocket","使用socket","文件操作","文件操作与网络请求","本章目录"],"chapter10/file_operation.html":["$_counter","'dart:async';","'dart:io';","'increment',","'package:flutter/material.dart';","'package:path_provider/path_provider.dart';","(await","),",");","//","//从文件读取点击次数","0;",":","=","=>","@overrid","^0.4.1","_counter","_counter++;","_counter;","_fileoperationroutest","_fileoperationroutestate();","_getlocalfile()","_getlocalfile()).writeasstring('$_counter');","_getlocalfile();","_incrementcounter()","_incrementcounter,","_readcounter()","_readcounter().then((int","android和ios的应用存储目录不同,pathprovid","appbar(title:","appbar:","app目录","async","await","body:","build(buildcontext","center(","child:","class","content","context)","createstate()","dart的io库包含了文件读写的相关类,它属于dart语法标准的一部分,所以通过dart","dir","extend","file","file('$dir/counter.txt');","file.readasstring();","fileoperationrout","fileoperationroute({key","filesystemexcept","floatingactionbutton(","floatingactionbutton:","futur","getapplicationdocumentsdirectory()).path;","gettemporarydirectory()","icon(icons.add),","import","initstate()","int","int.parse(contents);","io库操作文件的api非常丰富,但本书不是介绍dart语言的,故不详细说明,读者需要的话可以自行学习。","io库来操作文件的,不过和dart","io库,无论是dart","key);","key})","new","onpressed:","packag","path_provider:","return","scaffold(","sdk中getexternalstoragedirectory的返回值。","setstate(()","state","statefulwidget","string","super(key:","super.initstate();","text('文件操作')),","text('点击了","tooltip:","tri","value)","value;","vm下的脚本还是flutter,都是通过dart","vm是运行在pc或服务器操作系统下,而flutter是运行在移动操作系统中,他们的文件系统会有一些差异。","vm相比,flutter有一个重要差异是文件系统路径不同,这是因为dart","void","widget","{","}","});","一旦你的flutter应用程序有一个文件位置的引用,你可以使用dart:ioapi来执行对文件系统的读/写操作。有关使用dart处理文件和目录的详细内容可以参考dart语言文档,下面我们看一个简单的例子。","上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。","临时目录:","可以使用","可以使用getapplicationdocumentsdirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在ios上,这对应于nsdocumentdirectory。在android上,这是appdata目录。","外部存储目录:可以使用getexternalstoragedirectory()来获取外部存储目录,如sd卡;由于ios不支持外部目录,所以在ios下调用该方法会抛出unsupportederror异常,而在android下结果是android","实现:","将点击次数以字符串类型写到文件中","引入pathprovider插件;在pubspec.yaml文件中添加如下声明:","我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。","插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:","文件操作","文档目录:","来获取临时目录;","次'),","注意,dart","添加后,执行flutter","版本号可能随着时间推移会发生变化,读者可以使用最新版。","示例","系统可随时清除的临时目录(缓存)。在ios上,这对应于nstemporarydirectory()","获取一下,","获取应用目录","读取点击次数(以字符串)","返回的值。在android上,这是getcachedir())返回的值。","这里,我们使用文件来保存数据:"],"chapter10/http.html":["\"\"))","\"\";","\"admin\",","\"flutterchina.club\",","\"https\",","\"mozilla/5.0","\"proxi","\"test\");","\"xx\":\"xx\",","\"yy\":\"dd\"","\"正在请求...\";","\"请求失败:$e\";","&&","'dart:convert';","'dart:io';","'package:flutter/material.dart';","()","(18545):","(e)","(iphone;","(khtml,","(uri)",")","),",");","...","....","//","//basic认证凭据","//file为证书路径","//request.addstream(_inputstream);","//使用iphone的ua","//关闭client后,通过该client发起的所有请求都会中止。","//创建一个httpclient","//可以直接添加输入流","//打开http连接","//有多个,省略...","//等待连接服务器(会将请求信息发送给服务器)","//证书一致,则允许发送数据","//读取响应内容","//输出响应头","00522983","00525262401065761290103018,","10:00:52","10_3_1","192.168.1.2:8888\";","2018","30","50.0,","8",":","=","=>","?","@overrid","[","],","_httptestroutest","_httptestroutestate();","_load","_text","accept","addcredentials(uri","addproxycredentials(","age=172800","agent\",","agent字段。","aliv","alive字段值,为了避免频繁建立连接,httpclient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。","applewebkit/603.1.30","async","async{","authenticate(futur","authenticate:","authenticateproxy(","authenticate”","authorization:","autouncompress","await","based认证等,目前flutter的httpclient只支持basic和digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用basic认证还是digest认证,都应该在https协议下,这样可以防止抓包和中间人攻击。","basic","body,如:","bool","boxconstraints.expand(),","build(buildcontext","cach","catch","cert,","child:","children:","chunk","class","client.findproxi","column(","connection:","connectiontimeout","constrainedbox(","constraints:","container(","content","context)","control:","cookie:","cpu","createstate()","credentials)","credentials);","dart","date:","encod","encoding:","encoding的值为当前httpclient支持的压缩算法列表,目前只有\"gzip\"","encoding,如果设置为true,则请求头中cont","extend","f(string","f(uri","false;","final","findproxi","futur","gecko)","gmt","gzip","host,","host:","httpclient","httpclient();","httpclient(context:","httpclient.addcredentials(_uri,","httpclient.addcredentials(url,","httpclient.authenticate=(uri","httpclient.badcertificatecallback=(x509certif","httpclient.close();","httpclient.geturl(","httpclient.geturl(uri);","httpclientbasiccredentials(\"username\",\"password\"),","httpclientbasiccredentials(\"username\",\"pwd\"),","httpclientcredenti","httpclientdigestcredentials(\"username\",\"password\")","httpclientrequest","httpclientrespons","httpclient关于http认证的方法和属性:","httpclient有很多属性可以配置,常用的属性列表如下:","httpclient配置","https中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非ca颁发的证书进行校验。httpclient对证书校验的逻辑如下:","httptestrout","http协议的认证(authentication)机制可以用于保护非公开资源。如果http服务器开启了认证,那么用户在发起请求时就需要携带用户凭据,如果你在浏览器中访问了启用basic认证的资源时,浏览就会弹出一个登录框,如:","http请求","http请求认证","i/flutt","idletimeout","if(cert.pem==pem){","if(url.host==\"xx.com\"","import","int","io库中提供了http请求的一些类,我们可以直接使用httpclient来发起请求。使用httpclient发起请求分为五步:","iphon","keep","mac","max","maxconnectionsperhost","mediaquery.of(context).size.width","method,如httpclient.post(...)、httpclient.delete(...)等。如果包含query参数,可以在构建uri时添加,如:","mobile/14e304","new","null","oct","onpressed:","os","payload=\"...\";","pem=\"xxxxx\";//可以从文件读取","port){","port,","print(response.headers);","queryparameters:","raisedbutton(","realm)","realm))","realm));","realm,","realm=\"admin\"","realm==\"admin\"){","regexp(r\"\\s\"),","request","request.add(utf8.encode(payload));","request.close();","request.headers.add(\"us","respons","response.transform(utf8.decoder).join();","responsebodi","return","safari/602.1\");","sc);","sc.settrustedcertificates(file);","sc=new","scheme,","security:","securitycontext","securitycontext();","set","setstate(()","singlechildscrollview(","state","statefulwidget","strict","string","text(\"获取百度首页\"),","text(_text.replaceall(new","text/html;charset=utf","tracecode:","transfer","transport","tri","true;","tue,","type:","unauthozied给客户端,并且在响应header中添加一个","uri","uri.parse(\"https://www.baidu.com\"));","uri=uri(scheme:","url,","userag","vary:","version/10.0","void","widget","width:","www","x)","x509certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。","yxxfisdjfisjfgijijg","{","}","});","};","​","“www","一个建议是,如果所有请求都需要认证,那么应该在httpclient初始化时就调用addcredentials()来添加全局凭证,而不是去动态添加。","他们的使用方法和上面“http请求认证”一节中介绍的addcredentials和authent","代理","值得注意的是,httpclient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。","假设我们的后台服务使用的是自签名证书,证书格式是pem格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下:","关闭client后,通过该client发起的所有请求都会中止。","其中\"basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。","创建一个httpclient","可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过httpclientrequest直接设置header,不同的是通过httpclient设置的对整个httpclient都生效,而通过httpclientrequest设置的只对当前请求生效。","可以通过findproxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去:","同一个host,同时允许建立连接的最大数量。","含义","和服务器建立连接的超时,如果超过这个值则会抛出socketexception异常。","回调返回值是一个遵循浏览器pac脚本格式的字符串,详情可以查看api文档,如果不需要代理,返回\"direct\"即可。","在app开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。","如果1、2验证都失败了,如果用户提供了badcertificatecallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。","如果是digest认证,可以创建digest认证凭据:","如果是post或put等可以携带请求体方法,可以通过httpclientrequest对象发送request","如果第一步验证失败,但在创建httpclient时,已经通过securitycontext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。","如果请求的https证书是可信ca颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。","如果需要过滤uri,可以手动判断","字段,例如:","客户端发送http请求给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话,","客户端得到响应码后,将用户名和密码进行base64编码(格式为用户名:密码),设置请求头authorization,继续访问","对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badcertificatecallback回调中:","对应请求头中的content","对应请求头中的keep","对应请求头中的user","属性","总结","我们先看看basic认证的基本过程:","我们实现一个获取百度首页html的例子,示例效果如下:","我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。","打开http连接,设置请求头","控制台输出:","有时代理服务器也启用了身份验证,这和http协议的认证是相似的,httpclient提供了对应的proxy认证方法和属性:","服务器会返回一个401","服务器验证用户凭据,如果通过就返回资源内容。","注意,http的方式除了basic认证之外还有:digest认证、client认证、form","注意,通过settrustedcertificates()设置的证书格式必须为pem或pkcs12,如果证书格式为pkcs12,则需将证书密码传入,这样则会在代码中暴露证书密码,所以客户端证书校验不建议使用pkcs12格式的证书。","点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下:","相同,故不再赘述。","示例","等待连接服务器","综上所述,我们的证书校验其实就是提供一个badcertificatecallback回调,下面通过一个示例来说明。","证书校验","该方法用于添加用户凭据,如:","请求结束,关闭httpclient","读取响应内容","这一步可以使用任意http","这一步完成后,请求信息就已经发送给服务器了,返回一个httpclientresponse对象,它包含响应头(header)和响应流(响应体的stream),接下来就可以通过读取响应流来获取响应内容。","这是一个setter,类型是一个回调,当服务器需要用户凭据且该用户凭据未被添加时,httpclient会调用此回调,在这个回调当中,一般会调用addcredential()来动态添加用户凭证,例如:","通过httpclientrequest可以设置请求header,如:","通过httpclient发起http请求"],"chapter10/dio.html":["\"age\":","\"file1\":","\"file2\":","\"files\":","\"name\":","\"proxi","\"upload.txt\")","\"upload.txt\"),","\"upload1.txt\"),","\"upload2.txt\"),","\"wendux\",","#请使用pub上的最新版本","'package:dio/dio.dart';","(httpclient","(uri)","//","//校验证书","//设置代理","//证书一致,则允许发送数据","192.168.1.2:8888\";","25,",":","=","[","]","^x.x.x","api、formdata、拦截器、请求取消、cookie管理、文件上传/下载、超时等。","await","cert,","client)","client.findproxi","data:","data”。","dependencies:","dio","dio();","dio.download(\"https://www.google.com/\",_savepath);","dio.get(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio.get(\"/test?id=12&name=wendu\")","dio.onhttpclientcr","dio.post(\"/info\",","dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio:","dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,app只有一个http数据源时,dio应该使用单例模式。","dio是一个强大的dart","false;","file(\"./example/upload.txt\"),","file(\"./upload.txt\"),","formdata","formdata)","formdata.from({","formdata:","future.wait([dio.post(\"/info\"),dio.get(\"/token\")]);","host,","httpclient.badcertificatecallback=(x509certif","http库","http请求","http请求库,支持rest","if(cert.pem==pem){","import","int","new","packag","port){","post","print(response.data.tostring());","respons","response;","response=","response=await","return","string","true;","uploadfileinfo(new","{","}","});","};","。","下载文件:","值得一提的是,dio内部仍然使用httpclient发起的请求,所以代理、请求认证、证书校验等和httpclient是相同的,我们可以在onhttpclientcreate回调中设置,例如:","发起","发起一个","发起多个并发请求:","发送","如果发送的数据是formdata,则dio会将请求header的contenttype设为“multipart/form","对于get请求我们可以将query参数通过对象来传递,上面的代码等同于:","导入并创建dio实例:","引入","引入dio:","怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio","接下来就可以通过","支持文件数组上传","注意,onhttpclientcreate会在当前dio实例内部需要创建httpclient时调用,所以通过此回调配置httpclient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。","示例","网络操作","请求","请求:","通过formdata上传多个文件:","通过上一节介绍,我们可以发现直接使用httpclient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、cookie管理等就会非常繁琐。幸运的是,dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。"],"chapter10/websocket.html":["\"\";","\"+snapshot.data;","\"echo:","\"网络不通...\";","'${snapshot.data}'","'');","'package:flutter/material.dart';","'package:web_socket_channel/io.dart';","'send","(_controller.text.isnotempty)","(context,","(snapshot.hasdata)","(snapshot.haserror)",")","),",");","//创建websocket连接","//网络不通会走到这","1.","2.","24.0),","3.","4.",":","=","=>","?","@overrid","[","],","_control","_controller,","_sendmessage()","_sendmessage,","_text","_websocketroutest","_websocketroutestate();","alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。","alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep","appbar(","appbar:","body:","build(buildcontext","builder:","channel","channel.sink.add('hello!');","channel.sink.add(_controller.text);","channel.sink.close();","channel.stream,","channel;","child:","children:","class","column(","const","context)","controller:","createstate()","crossaxisalignment.start,","crossaxisalignment:","decoration:","dispose()","edgeinsets.all(20.0),","edgeinsets.symmetric(vertical:","extend","final","floatingactionbutton(","floatingactionbutton:","form(","http协议是无状态的,只能由客户端主动发起,服务端再被动响应,服务端无法向客户端主动推送内容,并且一旦服务器响应结束,链接就会断开(见注解部分),所以无法进行实时通信。websocket协议正是为解决客户端与服务端实时通信而产生的技术,现在已经被主流浏览器支持,所以对于web开发者来说应该比较熟悉了,flutter也提供了专门的包来支持websocket协议。","icon(icons.send),","import","initstate()","inputdecoration(labeltext:","iowebsocketchannel","iowebsocketchannel.connect('ws://echo.websocket.org');","message'),","message',","new","onpressed:","packag","padding(","padding:","return","scaffold(","snapshot)","state","statefulwidget","stream:","streambuilder(","streamsink类提供了给数据源同步或异步添加事件的一般方法。","string","super.dispose();","text(\"websocket(内容回显)\"),","text(_text),","text(snapshot.hasdata","texteditingcontrol","texteditingcontroller();","textformfield(","title:","tooltip:","void","web_socket_channel","websocket","websocketchannel提供了一个streamsink,它将消息发给服务器。","websocketchannel提供了一个来自服务器的消息stream","websocketrout","websocket协议本质上是一个基于tcp的协议,它是先通过http协议发起一条特殊的http请求进行握手后,如果服务端支持websocket协议,则会进行协议升级。websocket会使用http协议握手后创建的tcp链接,和http协议不同的是,websocket的tcp链接是个长链接(不会断开),所以服务端与客户端就可以通过此tcp连接进行实时通信。有关websocket协议细节,读者可以看rfc文档,下面我们重点看看flutter中如何使用websocket。","widget","widget.channel.stream,","widget将连接到一个stream,","widget来显示它们。","widget来监听新消息,","{","}","},","。","上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过websocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现streambuilder和stream都没有指定接收类型的参数,并且在创建websocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用streambuilder,因为websocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,streambuilder的snapshot.data的类型就是list,是文本时,则为string。","为了将数据发送到服务器,我们会add消息给websocketchannel提供的sink。","使用websocket","关闭websocket连接","关闭websocket连接。","在flutter中,我们可以创建一个websocketchannel连接到一台服务器:","在我们使用websocket后,要关闭连接:","在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息!","完整的例子","将数据发送到服务器","将数据发送到服务器。","工作原理","并在每次收到消息时通知flutter重新构建界面。","并用一个text","我们如何收取消息并显示它们?在这个例子中,我们将使用一个streambuild","提供了我们需要连接到websocket服务器的工具.","步骤","注意:http协议中虽然可以通过keep","现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。","监听来自服务器的消息","监听来自服务器的消息。","该package提供了一个websocketchannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。","该streambuild","该stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与future返回单个异步响应不同,stream类可以随着时间推移传递很多事件。","连接到websocket服务器","连接到websocket服务器。"],"chapter10/socket.html":["/","//发送","//建立连接","//根据http协议,发送请求头","//读取返回内容","80);","=await","_request()","_respons","agent)来看看输出的变化。","api","api在dart","api的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的httpclient不好用想重新实现一个,这时我们就需要使用socket。flutter的socket","async{","await","http/1.1\");","io包中,下面我们看一个使用socket实现简单http请求的示例,以请求百度首页为例:","socket","socket.close();","socket.connect(\"baidu.com\",","socket.flush();","socket.transform(utf8.decoder).join();","socket.writeln(\"connection:close\");","socket.writeln(\"get","socket.writeln(\"host:baidu.com\");","socket.writeln();","socket=await","var","}","使用socket","可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user","可以看到,使用socket需要我们自己实现http协议细节,本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后如下:","我们之前介绍的http协议和websocket协议都属于应用层协议,除了它们,应用层协议还有很多如:smtp、ftp等,它们都是通过socket实现的。其实,操作系统中提供的原生网络请求api是标准的,在c语言的socket库中,它主要提供了端到端建立链接和发送数据的基础api,而高级编程语言中的socket库其实都是对操作系统的socket"],"chapter10/json_model.html":["\"$classname.dart\"');","\"$filename.dart\"');","\");","\"alice\",","\"bool\";","\"boss\":\"$person\"","\"email\":","\"email\":\"alice@example.com\"","\"email\":\"jack@example.com\"","\"email\":\"nancy@example.com\"","\"friends\":\"$[]person\"","\"friends\":[","\"jack\",","\"john","\"john@example.com\"","\"john@example.com\",","\"list\";","\"map\";","\"mother\":\"$person\",","\"mother\":{","\"name\":","\"nancy\",","\"num\";","\"person.dart\";","\"string\";","#","${user.email}.');","${user.name}!');","${user['email']}.');","${user['name']}!');","%s","%s();","%s.fromjson(map","%t","'%s.g.dart';","'dart:convert';","'dart:io';","'email':","'name':","'package:json_annotation/json_annotation.dart';","'package:path/path.dart'","'person.g.dart';","'registration_date_millis')","'user.g.dart';","(filesystementity.isfilesync(f.path))","(map","(matchindex","(upper?str[0].touppercase():str[0].tolowercase())+str.substring(1);","(或者在编辑器中点击",");","){","./mo.sh","//","///这个标注是告诉生成器,这个类是需要生成model类的","//json","//一个json格式的用户列表字符串","//下面生成模板","//不同的类使用不同的mixin即可","//为了避免重复导入相同的包,我们用set来保存生成的import语句。","//处理特殊标志","//将json字符串转为dart对象(此处是list)","//将json类型转为对应的dart类型","//将生成的模板输出","//显式关联json字段名与model属性的对应关系","//替换模板占位符","//输出model目录","//输出第一个用户的姓名","//遍历json目录生成模板","0;",":",";","=","=>","@jsonkey(name:","@jsonserializable()","[bool","]","^1.0.0","^2.0.0","_$%sfromjson(json);","_$%stojson(this);","_$personfromjson(json);","_$persontojson(this);","_$userfromjson(json);","_$usertojson(this);","_import+=_import.isempty?\"\":\";\";","_import=set.join(\";\\r\\n\");","api的示例,它返回的数据就是json格式的字符串,为了方便我们在代码中操作json,我们先将json格式的字符串转为dart对象,这个可以通过dart:convert中内置的json解码器json.decode()","attrs.write(\"","attrs.write(gettype(v,set,name));","attrs.write(key);","attrs.writeln(\";\");","attrs=","bool){","boss;","boss字段:","build","build_runn","build_runner:","changefirstchar(filename);","changefirstchar(str","class","class)来解决前面提到的问题,我们称之为user。在user类内部,我们有:","classname,classname,classname]);","classname=changefirstchar(v.substring(3),false);","classname=name[0].touppercase()+name.substring(1);","conflict","const","current){","current=current.tolowercase();","dart","delet","depend","dependencies:","dev_depend","dev_dependencies:","directory(src);","dist=\"lib/models/\";","dist=dist.replacefirst(\"%t\",_import","dist=format(template,[name,classname,classname,attrs.tostring(),","email","email,","email;","factori","faq","file","file(\"$dist$name.dart\").writeasstringsync(dist);","file(\"./template.dart\").readasstringsync();","file(f.path);","file;","filename=changefirstchar(v.substring(1),false);","final","flutter","fmt,","format(str","friends;","gettype(v,set","get”)","here","if(classname.tolowercase()!=current)","if(filename.tolowercase()!=current)","if(key.startswith(\"_\"))","if(name.startswith(\"_\"))","if(paths.last.tolowercase()!=\"json\"||name.startswith(\"_\"))","if(v","if(v.startswith(\"$tag[]\")){","if(v.startswith(tag)){","import","int","items=json.decode(jsonstr);","json","json)","json.decode(file.readasstringsync());","json.decode(json);","json.encode(user);","json['email'];","json['name'],","json_annotation:","json_serializable:","json_serializable第一次创建类时,您会看到与下图类似的错误。","jsonstr='[{\"name\":\"jack\"},{\"name\":\"rose\"}]';","json转model","link","list","list){","list.foreach((f)","m)","map","map).foreach((key,","map){","matchindex","mo.dart","model","model。","model化”,具体做法就是,通过预定义一些与json结构对应的model类,然后在请求到数据后再动态根据数据创建出model类的实例。这样一来,在开发阶段我们使用的是model类的实例,而不再是map/list,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(model","model在不同的文件中会被定义两次,需要开发者手动去重。","mother;","mother和friends四个字段,由于mother也是一个person,朋友是多个person(数组),所以我们期望生成的model是下面这样:","name","name,","name;","name=paths.first;","new","num){","output","packag","package包。","params)","part","path;","paths=path.basename(f.path).split(\".\");","person","person();","person.fromjson(map","print('howdy,","print('w","print(items[0][\"name\"]);","pub","pubspec.yaml","registrationdatemillis;","regular","replace(match","return","return;","run","sent","set();","set,str","set.add('import","set=","shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以flutter中禁用了dart的反射功能,而正因如此也就无法实现动态转化model的功能。","shaking,使用tre","shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tre","smith\",","src","src.listsync();","src=\"./json\";","str,","string","string){","stringbuff","stringbuffer();","structur","studio(或intellij)有一个插件,它可以自动将json转为model,该插件会对嵌套json也会生成model。这个特性在有些时候可能会引起重定义,如两个json都内嵌了一个user的对象时,会导致us","tag=\"\\$\";","template=new","this.email);","tojson()","upper=true]","user","user();","user(this.name,","user.dart","user.fromjson(map","user.fromjson(usermap);","user.g.dart","usermap","user{","user实例","v)","var","verif","void","walk()","watch在项目根目录下运行来启动watcher。只需启动一次观察器,然后它就会在后台运行,这是安全的。","{","}","});","},","};","}els","}else{","“packag","、","、email","一个tojson","一个user.fromjson","一次性生成","上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据json文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将json转为model类,下面我们看看怎么做:","以json_serializable的方式创建model类","以在项目中使用这些新的依赖项.","使用ide插件生成model","使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutt","其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“json","写一个shell(mo.sh),将生成模板和生成model串起来:","写一个自动生成模板的脚本(mo.dart),它可以根据指定的json目录,遍历生成模板,在生成时我们定义一些规则:","另外,实际场景中,json对象很少会这么简单,嵌套的json对象并不罕见,如果有什么能为我们自动处理json序列化,那将会非常好。幸运的是,有!","可以看到,boss字段已自动添加,并自动导入了“person.dart”。","在实战中,后台接口往往会返回一些结构化数据,如json、xml等,如之前我们请求github","在您的项目根文件夹中运行","在项目中设置json_serializ","复杂的json对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。","如果json文件名以下划线“_”开始,则忽略此json文件。","如果需要,自定义命名策略也很容易。例如,如果我们正在使用的api返回带有snake_case的对象,但我们想在我们的模型中使用lowercamelcase,","它是一个自动化的源代码生成器,可以在开发阶段为我们生成json序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生json序列化异常的风险降至最低。","定义一个\"模板的模板\",名为\"template.dart\":","实例转化为一个map.","将","将json字符串转为list/map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下json:","将在我们运行生成命令后自动生成","尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializ","嵌套json","很多人可能会问flutter中有没有像java开发中的gson/jackson一样的json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在flutter中是禁用的。运行时反射会干扰dart的tre","我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的tag常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给user添加一个person类型的","我们可以通过调用json.decode方法来解码json","我们定义一个person.json内容修改为:","持续生成","方法,","有了上面的设置,源码生成器将生成用于序列化name和email字段的json代码。","来实现,该方法可以根据json字符串具体内容将其转为list或map,这样我们就可以通过他们来查找所需的值,如:","构造函数,","模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。","每个person都有nam","现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user.","用于从一个map构造出一个","由于json.decode()仅返回一个map,这意味着直到运行时我们才知道值的类型。","目前android","目录","脚本我们通过dart来写,源码如下:","自动化生成模板","自动生成model","至此,我们的脚本写好了,我们在根目录下新建一个json目录,然后把user.json移进去,然后在lib目录下创建一个models目录,用于保存最终生成的model类。现在我们只需要一句命令即可生成model类了:","虽然这非常方便,但如果我们不需要每次在model类中进行更改时都要手动运行构建命令的话会更好。","要包含json_serializable到我们的项目中,我们需要一个常规和两个开发依赖项。简而言之,开发依赖项是不包含在我们的应用程序源代码中的依赖项,它是开发过程中的一些辅助工具、脚本,和node中的开发依赖项相似。","要序列化一个user,我们只是将该user对象传递给该json.encode方法。我们不需要手动调用tojson这个方法,因为`json.encode内部会自动调用。","让我们看看如何将我们的user类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化json","运行代码生成程序","运行后,一切都将自动执行,现在好多了,不是吗?","这些错误是完全正常的,这是因为model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法:","这时,我们只需要简单修改一下json,添加一些特殊标志,重新运行mo.sh即可:","这样,调用代码就不用担心json序列化了,但是,model类还是必须的。在实践中,user.fromjson和user.tojson方法都需要单元测试到位,以验证正确的行为。","这样,调用代码现在可以具有类型安全、自动补全字段(name和email)以及编译时异常。如果我们将拼写错误字段视为int类型而不是string,","这触发了一次性构建,我们可以在需要时为我们的model生成json序列化代码,它通过我们的源文件,找出需要生成model类的源文件(包含@jsonserializable标注的)来生成对应的.g.dart文件。一个好的建议是将所有model类放在一个单独的目录下,然后在该目录下执行命令。","通过json.decode()","通过在我们的项目根目录下运行:","通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个json在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。","那么我们可以使用@jsonkey标注:","那么我们的代码就不会通过编译,而不是在运行时崩溃。","重新运行mo.sh,生成的user.dart如下:",",使用json字符串作为参数:"],"chapter11/":["包与插件","开发packag","插件开发:实现android端api","插件开发:实现ios端api","插件开发:平台通道简介"],"chapter11/develop_package.html":["\"urllauncherplugin.h\"","#","#import","'0.1.1'","'0.4.3'","'com.google.guava:guava:23.0","'package:url_launcher/url_launcher.dart'","'package:utilities/utilities.dart';","'src/cascade.dart';","'src/handler.dart';","'src/handlers/logger.dart';","'src/hijack_exception.dart';","'src/middleware.dart';","'src/pipeline.dart';","'src/request.dart';","'src/response.dart';","'src/server.dart';","'src/server_handler.dart';","'url_launcher'","...","//","///","0.4.3版本的url_launcher,在","2)都可.",">=","^0.4.2","android","android'","badg","cocoapods目前不提供依赖覆盖功能。","configurations.al","creat","dartdoc","dart包:其中一些可能包含flutter的特定功能,因此对flutter框架具有依赖性,这种包仅用于flutter,例如fluro包。","depend","dependencies:","dependency_overrides:","dri","event","export","flutter","forc","handler","hello","hello/android/build.gradle:","hello/pubspec.yaml中:","http网络库dio.","image_picker:","import","io","io.flutter.plugins.urllauncher.urllauncherplugin访问urllauncherplugin类。","launch()方法了。","lib","lib/hello.dart:package的dart代码","line","other_package:","packag","packages分为两类:","package为例,它的目录结构如下:","package也导出了一个迷你库:","pod::spec.new","project","provid","pub","publish","resolutionstrategi","respons","rootproject.findproject(\":url_launcher\")","run","s.depend","shelf_io,它主要是处理httprequest的。","skip","some_package:","studio:file>new>new","template=packag","test/hello_test.dart:package的单元测试代码。","tests。下面我们看看如何组织package包的代码,我们以shelf","ui.","updat","updatebadge()","url_launcher:","urllauncherplugin类。","vm运行时不是完全相同,但是如果package中没有涉及这些存在差异的部分,那么这样的包可以同时支持flutter和dart","vm,如dart","void","{","|s|","}","。","。要测试软件包,请在test目录中添加unit","一个","一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。","一旦实现了一个包,我们可以在pub上发布它","下面的代码使url_launcher插件的api在hello包中是可用的:","不是很好,只有0.1.1版本.","任何0.4.x(x","但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的api,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。","你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:","使用package可以创建共享的模块化代码。一个最小的package包括:","假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。","即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。","发布packag","可以使用","同一个包中的源码文件之间也可以使用相对路径来导入。","命令以查看是否都准备ok了:","命令来创建:","在","在hello/ios/hello.podspec:","在lib根目录下的shelf.dart中,导出了多个lib/src目录下的dart文件:","在发布之前,检查pubspec.yaml、readme.md以及changelog.md文件,以确保其内容的完整性和正确性。然后,运行","处理包的相互依赖","如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。","如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用vpn,这里需要注意的是一些代理只会代理部分app的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到pub,因此,在发布pub包时使用全局代理或全局vpn会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。","如果冲突的依赖不是一个包,而是一个特定于android的库,比如guava,那么必须将依赖重写声明添加到gradle构建逻辑中。","如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。","实现packag","对于纯dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可","导入包","工具来为package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成api文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:","开发dart包","开发packag","强制使用","强制使用23.0版本的guava库,在hello/android/build.gradle中:","当需要使用这个package时,我们可以通过\"package:\"指令来指定包的入口文件:","您也可以通过使用","您可以通过android","您现在可以在hello/android/src源码中import","您现在可以在hello/ios/classes源码中","插件包:一种专用的dart包,其中包含用dart代码编写的api,以及针对android(使用java或kotlin)和针对ios(使用oc或swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。","文件夹:包括包中公开的(public)代码,最少应有一个.dart文件","来创建:","来执行","注意,虽然flutter的dart运行时和dart","然后访问","然后调用","现在可以在hello中import","生成文档","第一步:创建dart包","而package中主要的功能的源码都在src目录下。shelf","解决依赖冲突","详细的文档语法请参考dartdoc","这与在flutter应用程序或任何其他dart项目中引用软件包没有什么不同。","这将在hello/文件夹下创建一个具有以下专用内容的package工程:","这样会较好,","那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。","验证无误后,我们就可以运行发布命令了:",",这样其他开发者就可以轻松使用它。"],"chapter11/platform-channel.html":["\"fail","$result","%","'${e.message}'.\";","'batteri","'dart:async';","'package:flutter/material.dart';","'package:flutter/services.dart';","'unknown","(e)","(nsnull","),",");",".';","...","//","32","64","=","@overrid","[","],","_batterylevel","_getbatterylevel()","_getbatterylevel,","_myhomepagest","android","api","api。","api可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。","api和io","async","await","a标志:","batteri","batterylevel","batterylevel;","batterymanag","bit","bool","build(buildcontext","byte[]","catch","catch语句中。","center(","channel)将消息发送到其应用程序的所在的宿主(ios或android)应用(原生应用)。","child:","children:","class","column(","const","context)","creat","c编写ios代码。要使用kotlin或swift,请使用","dart","device.batterylevel","doubl","double[]","enough","extend","final","float64list","flutter","fluttermethodchannel","flutterstandardbiginteg","flutterstandardtypeddata","flutter与原生之间的通信依赖灵活的消息传递方式:","flutter使用了一个灵活的系统,允许您调用特定平台的api,无论在android上的java或kotlin代码中,还是ios上的objectivec或swift代码中均可用。","futur","import","int","int,","int32list","int64list","int[]","io","i和/或","java.lang.boolean","java.lang.doubl","java.lang.integ","java.lang.long","java.lang.str","java.math.biginteg","java.util.arraylist","java.util.hashmap","jsonmessagecodec类,或创建自己的编解码器。","kotlin","level","level'),","level.","level.';","level:","list","long[]","mainaxisalignment.spaceevenly,","mainaxisalignment:","map","material(","methodchannel('samples.flutter.io/battery');","nested)","new","nil","nsarray","nsdictionari","nsnumber","nsstring","null","numberwithbool:","numberwithdouble:","numberwithint:","numberwithlong:","onpressed:","platform","platform.invokemethod('getbatterylevel');","platformexcept","quick_actions插件就是一个具体的例子。","raisedbutton(","result","return","setstate(()","state","static","string","swift","text('get","text(_batterylevel),","tri","typeddatawithbytes:","typeddatawithfloat64:","typeddatawithint32:","typeddatawithint64:","uint8list","widget","{","}","});","下面我们通过一个获取电池电量的插件来介绍一下flutter插件的开发流程。该插件中我们在dart中通过getbatterylevel","使用平台通道在flutter(client)和原生(host)之间传递消息,如下图所示:","使用平台通道调用原生代码","创建flutter平台客户端","创建一个新的应用程序项目","可以发送与方法调用相对应的消息。","和","在android","在客户端,methodchannel","在宿主平台上,methodchannel","在接下来的两节中,我们会分别介绍android和ios端api的实现。","在终端中运行:","在终端中运行:flutter","如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用dart中实现的api。","宿主监听平台通道,并接收该消息。然后它会调用该平台的api,并将响应发送回客户端,即应用程序的flutter部分。","平台通道","平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。","平台通道数据类型支持","应用的flutter部分通过平台通道(platform","开发flutter插件","当在flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。","当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。","我们使用返回的结果,在setstate中来更新用户界面状态batterylevel。","我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。","所谓“平台特定”或“特定平台”,平台指的就是指flutter运行的平台,如android或ios,可以认为就是应用的原生部分。所以,平台通道正是flutter和原生之间通信的桥梁,它也是flutter插件的底层基础设施。","接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getbatterylevel。","插件开发:平台通道简介","最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。","此外,可以使用专门的binarycodec、stringcodec和","注意:","自定义平台通道和编解码器","该应用的state类拥有当前的应用状态。我们需要延长这一点以保持当前的电量","该调用可能失败(平台不支持平台api,例如在模拟器中运行时),所以我们将invokemethod调用包装在tri","调用android","通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;","除了上面提到的methodchannel,还可以使用basicmessagechannel,它支持使用自定义消息编解码器进行基本的异步消息传递。","首先创建一个新的应用程序:","首先,我们构建通道。我们使用methodchannel调用一个方法来返回电池电量。","默认情况下,模板支持使用java编写android代码,或使用object"],"chapter11/android_implement.html":["!=","\"batteri","\"file","\"getbatterylevel\")","\"samples.flutter.io/battery\"","\"samples.flutter.io/battery\";","(batterylevel","(batterymanager)","(call.method","(call.method.equals(\"getbatterylevel\"))","(intent.getintextra(batterymanager.extra_level,","(version.sdk_int","*","/","//","1)","1);","100","100)","1;",":","=","==",">",">=","@overrid","android","android.content.context","android.content.contextwrapp","android.content.contextwrapper;","android.content.int","android.content.intent;","android.content.intentfilt","android.content.intentfilter;","android.os.batterymanag","android.os.batterymanager;","android.os.build.vers","android.os.build.version;","android.os.build.version_cod","android.os.build.version_codes;","android.os.bundl","android.os.bundle;","android文件夹,点击","app目录,","available.\",","batterylevel","batterylevel:","batterylevel;","batterymanag","batterymanager.getintproperty(batterymanager.battery_property_capacity)","batterymanager.getintproperty(batterymanager.battery_property_capacity);","bundle?)","call,","channel","channel).setmethodcallhandl","channel).setmethodcallhandler(","class","contextwrapper(applicationcontext).registerreceiver(null,","contextwrapper(getapplicationcontext()).","controls面板中的电池电量。","extend","file","final","flutter","flutteract","flutteractivity()","fun","generatedpluginregistrant.registerwith(this)","getbatterylevel()","getbatterylevel():","getbatterylevel();","getsystemservice(battery_service);","getsystemservice(context.battery_service)","import","int","intent","intent!!.getintextra(batterymanager.extra_level,","intent.getintextra(batterymanager.extra_scale,","intentfilter(intent.action_battery_changed))","intentfilter(intent.action_battery_changed));","io.flutter.app.flutteract","io.flutter.app.flutteractivity;","io.flutter.plugin.common.methodcall;","io.flutter.plugin.common.methodchannel","io.flutter.plugin.common.methodchannel.methodcallhandler;","io.flutter.plugin.common.methodchannel.result;","io.flutter.plugin.common.methodchannel;","io.flutter.plugins.generatedpluginregistr","item","level","mainact","mainactivity()","mainactivity.java","menu","methodcallhandler()","methodchannel(flutterview,","methodchannel(getflutterview(),","new","null)","null);","ok","ok。","oncreate(bundl","oncreate(savedinstancestate:","onmethodcall(methodcal","open…","open…\"。","overrid","privat","public","registerreceiver(null,","result","result)","result.error(\"unavailable\",","result.notimplemented()","result.notimplemented();","result.success(batterylevel)","result.success(batterylevel);","return","savedinstancestate)","static","string","studio","studio。","studio中打开您的flutter应用的android部分:","super.oncreate(savedinstancestate)","super.oncreate(savedinstancestate);","todo","val","version_codes.lollipop)","void","{","}","});","​","使用kotlin和使用java的步骤类似,首先在android","使用kotlin添加android平台特定的实现","启动","在java目录下打开","在kotlin目录中打开mainactivity.kt。","定位到","定位到您","您现在就可以在android上运行该应用程序。如果您使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","接下来,在oncreate里创建methodchannel并设置一个methodcallhandler。确保使用与在flutter客户端使用的通道名称相同。","接下来,在oncreate里创建methodchannel并设置一个methodcallhandler。确保使用和flutter客户端中使用的通道名称相同的名称。","接下来,我们添加java代码,使用android电池api来获取电池电量。此代码和在原生android应用中编写的代码完全相同。","接下来,我们添加kotlin代码,使用android电池api来获取电池电量,这和原生开发是一样的。","插件开发:android端api实现","插件开发:实现android端api","方法下方:","最后,我们完成之前添加的onmethodcall方法。我们需要处理平台方法名为getbatterylevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getbatterylevel。","本节我们接着上一节\"获取电池电量\"插件的示例,来完成android端api的实现。以下步骤是使用java的示例,如果您更喜欢kotlin,可以直接跳到后面kotlin部分。","然后选择里面的","然后,将下面的新方法添加到activity类中的,位于oncr","现在就可以在android上运行该应用程序了,如果使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","这个平台方法的实现只需调用我们在前一步中编写的android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的api,我们也会通知返回:","选择","首先在android","首先,添加需要导入的依赖。"],"chapter11/ios_implement.html":["\"samples.flutter.io/battery\",","\"unavailable\",","\"电池信息不可用\",","#import","(\"getbatterylevel\"","([@\"getbatterylevel\"","(batterylevel","(bool)application:(uiapplication*)appl","(call:","(device.batteryst","(flutterviewcontroller*)self.window.rootviewcontroller;","(int)(device.batterylevel","(int)getbatterylevel","*","//","1)","100));","100);","1;",":","=","==",">","@implement","@objc","@uiapplicationmain","[batterychannel","[fluttermethodchannel","[self","[super","[uiapplicationlaunchoptionskey:","_","any]?)","api","appdeleg","appdelegate:","application(","application:","application:appl","app目录,","as!","batteri","batterychannel","batterychannel.setmethodcallhandler({","batterylevel","binarymessenger:","binarymessenger:controller];","bool","call,","call.method)","class","control","controller);","c代码,使用ios电池api来获取电池电量,这和原生是相同的。","c相似,首先打开xcode中flutter应用程序的ios部分:","c,如果您更喜欢swift,可以直接跳到后面swift部分。","details:","details:nil]);","devic","device.batterymonitoringen","device.isbatterymonitoringen","didfinishlaunchingwithopt","didfinishlaunchingwithoptions:","didfinishlaunchingwithoptions:(nsdictionary*)launchopt","didfinishlaunchingwithoptions:launchoptions];","didfinishlaunchingwithoptions:方法内部创建一个fluttermethodchannel,并添加一个处理方法。","errorwithcode:@\"unavailable\"","file","flutter","flutterappdeleg","fluttermethodcall,","fluttermethodchannel*","fluttermethodchannel.init(name:","flutterresult","flutterresult)","flutterviewcontrol","flutterviewcontroller*","flutterviewcontroller;","func","generatedpluginregistrant.register(with:","getbatterylevel];","handl","int","ios文件夹,点击","isequaltostring:call.method])","launchoptions);","launchoptions:","message:","message:@\"电池信息不可用\"","messages.","methodchannelwithname:@\"samples.flutter.io/battery\"","nil));","ok","open…","overrid","privat","receivebatterylevel(result:","result(@(batterylevel));","result([fluttererror","result(fluttererror.init(code:","result(fluttermethodnotimplemented);","result(int(device.batterylevel","result)","result);","result:","return","runner","self);","setmethodcallhandler:^(fluttermethodcall*","super.application(application,","todo","true;","uiapplication,","uidevice*","uidevice.current;","uidevice.currentdevice;","uidevicebatterystate.unknown)","uidevicebatterystateunknown)","void","window?.rootviewcontrol","xcode","yes;","{","}","});","}];","以下步骤与上面使用object","使用swift实现io","启动","在appdelegate类中添加以下新的方法:","定位到您","将以下新方法添加到appdelegate.swift底部:","接下来,在applic","接下来,我们添加object","接下来,我们添加swift代码,使用ios电池api来获取电池电量,这和原生开发是相同的。","接下来,覆盖application方法并创建一个fluttermethodchannel绑定通道名称samples.flutter.io/battery:","插件开发:ios端api实现","插件开发:实现ios端api","最后,我们完成之前添加的setmethodcallhandler方法。我们需要处理的平台方法名为getbatterylevel,所以我们在call参数中需要先判断是否为getbatterylevel。","本节我们接着之前\"获取电池电量\"插件的示例,来完成ios端api的实现。以下步骤使用object","然后选择里面的","现在可以在ios上运行应用程序,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在可以在ios上运行该应用程序了,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","确保xcode项目的构建没有错误。","确保与在flutter客户端使用的通道名称相同。","这个平台方法的实现只需调用我们在前一步中编写的ios代码,并使用result参数返回成功或错误的响应。如果调用了未定义的api,我们也会通知返回:","选择","首先打开xcode中flutter应用程序的ios部分:",",打开appdelegate.m",",然后打开appdelegate.swift"],"todo.html":["去flutter中文网查看相关内容。","您想补充此文档?可以查看《flutter实战》开源项目\"贡献须知\"。","提示","本文档尚未完成,您可以:","点击下面的\"赏\"按钮,请作者喝杯咖啡,鼓励继续创作~~","系统能力调用"],"chapter12/":["使用intl包","国际化","实现local","本章目录","让app支持多语言"],"chapter12/multi_languages_support.html":["'cn')","'cn'),","'package:flutter_localizations/flutter_localizations.dart';","'us'),",")","...","//","//其它local","//手动指定local","=","[","],","app最终的locale。通常在不支持的语言区域时返回一个默认的locale。","const","context)","dependencies:","flutter","flutter:","flutter_localizations:","function(list","function(local","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","globalwidgetslocalizations.delegate定义widget默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。","import","iter","load方法之一产生的对象,可以指定一个buildcontext和对象的类型。例如,materi","local","locale('en',","locale('zh',","locale,","locale:","localelistresolutioncallback和localeresolutioncallback唯一的不同就在第一个参数类型,前者接收的是一个locale列表,而后者接收的是单个locale。","locales,","locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:","localizations.localeof(context);","localizations.of(context,","localizationsdeleg","localizationsdelegates:","localizationsdelegates列表中的元素是生成本地化值集合的工厂。globalmateriallocalizations.deleg","materialapp(","materialloc","materiallocalizations);","materiallocalizations.of(context).backbuttontooltip,","mylocal","new","of(buildcontext","package包含globalmateriallocalizations和globalwidgetslocalizations的本地化接口的多语言实现,","return","sdk:","static","supportedlocal","supportedlocales)","supportedlocales:","tooltip:","widget","widget一般位于widget树中其它业务组件的顶部,它的作用是定义区域locale以及设置子树依赖的本地化资源。","widget会自动加载新区域的locale值,然后重新构建使用了它们的widget。","widget会重新构建,localizations.localeof(context)`","widget并重建它,这样子树中通过localizations.localeof(context)","widget支持多语言。","widget用于加载和查找包含本地化值的对象。应用程序通过localizations.of(context,type)来引用这些对象。","widget的locale设置发生更改时,将重建其依赖的上下文。","{","}","。","上述的globalmateriallocalizations和globalwidgetslocalizations只是material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的localizations,我们将在下一节介绍其具体的实现方式。","上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。","中文简体","为materi","为了尽可能小而且简单,flutter软件包中仅提供美国英语值的materiallocalizations和widgetslocalizations接口的实现。","为当前应用支持的locale列表,是开发者在materialapp中通过supportedlocales属性注册的。","使用打包好的localizationsdeleg","列表加载","参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定app的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:","发生这种情况是因为localizations内部使用了inheritedwidget","可以直接调用便捷方法","国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化delegate。","在flutter中,应该优先使用localelistresolutioncallback,当然你不必担心android系统的差异性,如果在低版本的android系统中,flutter会自动处理这种情况,这时locale列表只会包含一项。","在大型应用程序中,不同模块或package可能会与自己的本地化值捆绑在一起。","在新版的android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的locale,如果某一种语言加载成功则会停止。下面是android中设置语言列表的截图:","基于widgetsapp的应用程序类似,只是不需要globalmateriallocalizations.delegate。","大多数应用程序都是通过materialapp为入口,但根据低级别的widgetsapp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。materialapp实际上也是widgetsapp的一个包装。","如果locale为null,则表示flutter未能获取到设备的locale信息,所以我们在使用locale之前一定要先判空。","如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。flutter提供一些widget和类以帮助实现国际化,而flutter的库本身也是国际化的。","如果系统的语言环境发生变化,widgetsapp将创建一个新的loc","如果设备的locale区域设置发生更改,则loc","它们可以通过localizations.of被获取到:","当我们更改系统语言设置时,app中的loc","我们可以通过localeresolutioncallback或localelistresolutioncallback回调来监听locale改变的事件,我们先看看localeresolutioncallback的回调函数签名:","我们始终可以通过以下方式来获取应用的当前区域locale:","截至2018年5月,该包支持24种语言。要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:","接下来我们以materialapp类为入口的应用来说明如何支持国际化。","接下来,下载flutter_localizations库,然后指定materialapp的localizationsdelegates和supportedlocales:","支持国际化","方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。","本地化值由localizations的","本地化的代理类","此类的实例由materialapp类提供的localizationdelegate创建,","每个委托必须定义一个异步load()","监听系统语言切换","管理对象表的原因。","组件库提供的本地化的字符串和其他值,它可以使materi","组件库的本地化字符串由materiallocalizations类定义,","美国英语","获取当前区域local","获取的locale就会更新。","获取的locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,这时我们就需要监听locale改变事件。","要检索由localizationsdeleg","让app支持多语言","返回值是一个locale,此locale为flutt","这个特殊的localizations.of()表达式会经常使用,所以materiallocalizations类提供了一个便捷方法:","这些实现类分别称为defaultmateriallocalizations和defaultwidgetslocalizations。flutter_loc","这就是为什么要用local","默认情况下,flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他materialapp属性,并包含一个名为“flutter_localizations”的包。",",当build函数引用了inheritedwidget时,会创建对inheritedwidget的隐式依赖关系。当inheritedwidget发生更改时,即loc"],"chapter12/locallization_implement.html":["\"flutter","\"flutter应用\"","\"zh\")","'zh'].contains(locale.languagecode);","),",");","...","//","//...","//locale代理类","//locale相关值,title为应用标题","//locale资源类","//为了使用方便,我们定义一个静态方法","//使用local","//是否为中文","//是否支持某个local","//省略无关代码",":","=","==","=>","?","@overrid","[","['en',","],","app\";","appbar(","appbar:","app”和“flutter应用”。","bool","class","const","context)","delegate类的职责是在locale改变时加载新的locale资源,所以它有一个load方法,delegate类需要继承自localizationsdelegate类,实现相应的接口,示例如下:","demoloc","demolocalizations(locale.languagecod","demolocalizations(this.iszh);","demolocalizations);","demolocalizationsdeleg","demolocalizationsdelegate()","demolocalizationsdelegate();","demolocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。demolocalizations的实例将会在delegate类的load方法中创建。","extend","false;","flutter会调用此类加载相应的locale资源类","futur","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","intl包来实现这些。","issupported(local","iszh","load(local","locale)","localizations.of(context,","localizationsdeleg","localizationsdelegates:","of(buildcontext","old)","print(\"xxxx$locale\");","return","scaffold(","shouldreload(demolocalizationsdeleg","shouldreload的返回值决定当loc","static","string","synchronousfuture(","text(demolocalizations.of(context).title),","titl","title:","widget重新build时,是否调用load方法重新加载locale资源。一般情况下,locale资源只应该在locale切换时加载一次,不需要每次在loc","{","}","其它的值","前面讲了material组件库如何支持国际化,本节我们将介绍一下我们自己的ui中如何支持多语言。根据上节所述,我们需要实现两个类:一个delegate类一个localizations类,下面我们通过一个实例说明。","只需要在materialapp或widgetsapp的localizationsdelegates列表中添加我们的delegate实例即可完成注册:","和上一节中介绍的相同,我们现在需要先注册demolocalizationsdelegate类,然后再通过demolocalizations.of(context)来动态获取当前locale文本。","实现delegate类","实现local","实现localizations类","总结","我们已经知道localizations类中主要实现提供了本地化值,如文本:","接下来我们可以在widget中使用locale值:","最后一步:添加多语言支持","本地化的代理类","本节我们通过一个简单的示例说明了flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在demolocalizations类中获取title时手动的判断当前语言locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过dart","注册我们的deleg","这样,当在美国英语和中文简体之间切换系统语言时,app的标题将会分别为“flutt","重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在app启动后用户再改变系统语言时load方法将不会被调用,所以locale资源将不会被加载。事实上,每当locale改变时flutter都会再调用load方法加载新的locale,无论shouldreload返回true还是false。",")"],"chapter12/intl.html":["\"2018","\"@@last_modified\":","\"@@locale\":\"zh_ch\",","\"@remainingemailsmessage\":","\"@title\":","\"description\":","\"example\":","\"flutter","\"flutter应用\",","\"how","\"howmany\":","\"placeholders\":","\"remainingemailsmessage\",","\"remainingemailsmessage\":","\"text\",","\"titl","\"title\":","\"type\":","\"{howmany,plural,","#...省略无关项","$howmani","'flutter","'fred'});","'messages_all.dart';","'package:flutter/material.dart';","'package:intl/intl.dart';","'there","'titl","'title',","'username':","'zh'].contains(locale.languagecode);",");","+x","./intl.sh","//","//1","//2","//3","//locale代理类","//是否支持某个local","0","1","10t15:46:20.897228\",","10t17:37:28.505088\",","12","42","42,",":","=","=0{there","=0{没有未读邮件}=1{有{howmany}封未读邮件}other{有{howmany}封未读邮件}}\",","=>","?","@overrid","['en',","[howmany],","\\","^0.15.7","^0.17.2","api标识的属性和字符串提取到“i10n","app\",","app',","application\",","application',","arb","arb/intl_*.arb","arb/intl_messages.arb”文件中,我们看看其内容:","arb文件是标准的,其格式规范可以自行了解。通常会将arb文件交给翻译人员,当他们完成翻译后,我们再通过下面的步骤根据arb文件生成最终的dart代码。","arb目录,该目录保存我们接下来通过intl_translation命令生成的arb文件。一个简单的arb文件内容如下:","archiving.\",","args:","bool","chmod","class","const","context)","defer","demo","demoloc","demolocalizations();","demolocalizations);","demolocalizations.load(locale);","demolocalizationsdeleg","demolocalizationsdelegate();","dependencies:","desc:","dev_dependencies:","dir=i10n","dir=lib/i10n","email","examples:","extend","false;","final","flutter","flutter会调用此类加载相应的locale资源类","futur","howmany)","i10n","import","initializemessages(localename).then((b)","intl.canonicalizedlocale(name);","intl.defaultlocal","intl.message(","intl.plural(howmany,","intl.sh","intl:","intl_transl","intl_translation:","intl_translation:extract_to_arb","intl_translation:generate_from_arb","intl包还有一些其他的方法,读者可以自行查看其文档,本书不在赘述。","issupported(local","left","left',","left}=1{ther","left}other{ther","left}}\",","lib/i10n/localization_intl.dart","load","load(local","locale)","locale.countrycode.isempti","locale.languagecod","locale.tostring();","localenam","localename;","localizations.of(context,","localizationsdeleg","mani","n","n(n>1)","name","name:","new","of(buildcontext","old)","one:","other:","output","pub","remain","remainingemailsmessage(int","return","run","shouldreload(demolocalizationsdeleg","static","string","titl","us","widget重新build时,是否调用load重新加载locale资源.","zero:","{","{'howmany':","{howmany}","{}","}","});","},","下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下:","使用intl包","使用intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用intl包我们需要添加两个依赖:","包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用:","可以看到通过intl.plural方法可以在howmany值不同时输出不同的提示信息。","和上一节中的步骤类似,我们仍然要实现localizations和delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。","如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是intl的托底策略。","当local","总结","我们可以通过intl.plural(...)来实现:","我们必须要翻译title和remainingemailsmessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。","我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。","执行intl.sh","接下来,我们在lib目录下创建一个i10n的目录,该目录用于保存从arb文件生成的dart代码文件。","提示语","最后一步就是根据arb生成dart文件:","有两点需要说明:","未读邮件数","每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。","注意:","注释1的\"messages_all.dart\"文件是通过intl_translation工具从arb文件生成的代码,所以在第一次运行生成命令之前,此文件不存在。注释2处的initializemessages()方法和\"messages_all.dart\"文件一样,是同时生成的。","注释3处和上一节示例代码不同,这里我们直接调用demolocalizations.load()即可。","然后授予执行权限:","现在我们可以在demolocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同:","现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名:","第一步:创建必要目录","第三部:添加需要国际化的属性","第二步:实现localizations和delegate类","第五步:生成dart代码","第四步:生成arb文件","至此,我们将使用intl包对app进行国际化的流程介绍完了,我们可以发现,其中第一步和第二步只在第一次需要,而我们开发时的主要的工作都是在第三步。由于最后两步在第三步完成后每次也都需要,所以我们可以将最后两步放在一个shell脚本里,当我们完成第三步或完成arb文件翻译后只需要分别执行该脚本即可。我们在根目录下创建一个intl.sh的脚本,内容为:","运行此命令后,会将我们之前通过intl","这个是默认的locale资源文件,如果我们现在要支持中文简体,只需要在该文件同级目录创建一个\"intl_zh_cn.arb\"文件,然后将\"intl_messages.arb\"的内容拷贝到\"intl_zh_cn.arb\"文件,接下来将英文翻译为中文即可,翻译后的\"intl_zh_cn.arb\"文件内容如下:","这句命令在首次运行时会在\"lib/i10n\"目录下生成多个文件,对应多种locale,这些代码便是最终要使用的dart代码。","首先,在项目根目录下创建一个i10n"],"chapter14/":["element和buildcontext","flutter","flutter从启动到显示","flutter核心原理","renderobject和renderbox","ui系统","本章目录"],"chapter14/flutter_ui_system.html":["60hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如vsync),","60hz的屏幕就会一秒内发出","60次这样的信号。而这个信号主要是用于同步cpu、gpu和显示器的。一般地来说,计算机系统中,cpu、gpu和显示器以一种特定的方式协作:cpu将计算好的显示内容提交给","api也是调用操作系统api,所以它的性能接近原生。","api,然后在底层通过opengl这种跨平台的绘制库(内部会调用操作系统api)实现了一套代码跨多端。由于dart","bit(位),颜色深度越深,所能显示的色彩更加丰富靓丽。","cpu和gpu的任务是各有偏重的,cpu主要用于基本数学和逻辑计算,而gpu主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,gpu的主要作用就是确定最终输送给显示器的各个像素点的色值。","flutter","framework的概念是差不多的,的确如此,之所以用“ui系统”,是因为其他平台中可能不这么叫,我们只是为了概念统一,便于描述,读者不必纠结于概念本身。","gpu,gpu渲染后放入帧缓冲区,然后视频控制器按照同步信号从帧缓冲区取帧数据传递给显示器显示。","sdk正是封装了android操作系统api,提供了一个“ui描述文件xml+java操作dom”的ui系统,而ios的uikit","sdk还是ios的uikit","ui系统","ui系统之前,我们先看看ui系统的基本原理,这样可以帮助读者对操作系统和系统底层ui逻辑有一个清晰的认识。","ui系统原理","ui系统和flutt","ui系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了,","ui系统来根据新的状态来重新构建ui。","ui系统的基石。最后我们在分析一下flutter应用启动和运行的整体过程。","一个像素点能发出的所有颜色总数是显示器的一个重要指标,比如我们所说的1600万色的屏幕就是指一个像素点可以显示出1600万种颜色,而显示器颜色是有rgb三基色组成,所以1600万即2的24次方,即每个基本色(r、g、b)深度扩展至8","为了更新显示画面,显示器是以固定的频率刷新(从gpu取数据),比如有一部手机屏幕的刷新频率是","在接下来的小节中,我们先详细介绍一下element、renderobject,它们是组成flutt","在本书的前面章节中,我们多次提到\"ui系统\"这个概念,本书中所指的ui系统特指:基于一个平台,在此平台上实现gui的一个系统,这里的平台特指操作系统,如android、ios或者windows、macos。我们说过各个平台ui系统的原理是相通的,也就是说无论是android还是ios,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍flutt","对view的抽象也是一样的,他们都将操作系统api抽象成一个基础对象(如用于2d图形绘制的canvas),然后再定义一套规则来描述ui,如ui树结构,ui操作的单线程原则等。","我们可以看到,无论是android","提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。","操作系统绘制api的封装","注意,虽然dart是先调用了opengl,opengl才会调用操作系统api,但是这仍然是原生渲染,因为opengl只是操作系统api的一个封装库,它并不像webview渲染那样需要javascript运行环境和css渲染器,所以不会有性能损失。","由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的api供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的api是比较复杂和低效的,因为操作系统提供的api往往比较基础,直接调用需要了解api的很多细节。正是因为这个原因,几乎所有用于开发gui程序的编程语言都会在操作系统之上再封装一层,将操作系统原生api封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发gui应用程序,而这一层抽象,正是我们所说的“ui”系统,如android","的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个ui系统:可以使用同一种编程语言开发,然后针对不同操作系统api抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而flutter的原理正是如此,它提供了一套dart","硬件绘图基本原理","简单概括就是:组合和响应式。我们要开发一个ui界面,需要通过组合其它widget来实现,flutter中,一切都是widget,当ui要发生变化时,我们不去直接修改dom,而是通过更新状态,让flutt","至此,我们已经介绍了flutter","讲到这里,读者可能发现flutter"],"chapter14/element_buildcontext.html":["\"123456789\";","()","),",");","...","//1","//入栈新路由","//查找当前或最近的一个祖先renderobject","//点击后将该element标记为dirty,element将会rebuild","//获取local","//获取上下文大小","//获取主题","9","9个数,点击一次按钮,则对9个数随机排一次序,代码如下:",":","=","=>","?","@overrid","abstract","api是原始且独立的,这个与操作系统提供的api类似,上层ui框架设计成什么样完全取决于设计者,完全可以将ui框架设计成android风格或ios风格,但这些事google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的掌握程度。","build()","build(buildcontext","buildcontext","center(","child:","class","color","componentel","componentelement{","context)","context.findrenderobject()","context.s","createelement()","customhom","diagnosticabletre","element","element.mount(parentelement,newslot)","element与buildcontext","element和buildcontext","element就是widget在ui树具体位置的一个实例化对象,大多数element只有唯一的renderobject,但还有一些element会有多个子节点,如继承自renderobjectelement的一些类,比如multichildrenderobjectelement。最终所有element的renderobject构成一棵树,我们称之为渲染树,即rend","element的生命周期如下:","engine提供的dart","extend","flatbutton(","flutter","framework","gesturedetector(","homeview","homeview(this);","homeview(widget","implement","localizations.of(context,","markneedsbuild();","navigator.push(context,","onpressed:","primary),),","primary=theme.of(this).primarycolor;","return","route)","statelessel","string","style:","super(widget);","t","t.join();","text","text(text,","text.split(\"\")..shuffle();","textstyle(color:","theme.of(context)","tree。","type)","ui框架内部连接widget和renderobject的纽带,大多数时候开发者只需要关注widget层即可,但是widget层有时候并不能完全屏蔽element细节,所以framework在statelesswidget和statefulwidget中通过build方法参数将element对象也传递给了开发者,这样便可以在需要时直接操作element对象。那么现在笔者提两个问题,请读者先自己思考一下:","ui框架是至关重要的,flutter正是通过element这个纽带将widget和renderobject关联起来,了解element层不仅会帮助读者对flutt","ui框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用element对象来完成一些操作,比如获取主题theme数据,具体细节将在下文介绍。","ui框架能不做成响应式吗?","ui系统中另一个重要的角色renderobject。","ui系统中的角色和作用,我们将在下一节介绍flutt","var","widget","widget)","widget.build(this);","{","{}","}","},","“inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成”active“状态,framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。","上面build方法不接收参数,这一点和在statelesswidget和statefulwidget中build(buildcontext)方法不同。代码中需要用到buildcontext的地方直接用this代替即可,如代码注释1处theme.of(this)参数直接传this即可,因为当前对象本身就是element实例。","上面代码中build方法返回的仍然是一个widget,这是由于flutter框架中已经有了widget这一层,并且组件库都已经是以widget的形式提供了,如果在flutter框架中所有组件都像示例的homeview一样以element形式提供,那么就可以用纯element来构建ui了,homeview的build方法返回值类型就可以是element了。","做一些事,比如:","创建一个element实例,记为el","发现build传递的是this,很明显了,这个buildcontext很可能就是element类,查看element类定义,发现element类果然实现了buildcontext接口:","在“widget简介”一节,我们介绍了widget和element的关系,我们知道最终的ui树其实是由一个个独立的element节点构成。我们也知道了组件最终的layout、渲染都是通过renderobject来完成的,从创建到渲染的大体流程是:根据widget生成element,然后创建相应的renderobject并关联到element.renderobject属性上,最后再通过renderobject来完成布局排列和绘制。","如果element要重新插入到element树的其它位置,如element或element的祖先拥有一个globalkey(用于全局复用元素),那么framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderobject重新attach到渲染树。","如果我们需要将上面代码在现有flutter框架中跑起来,那么还是得提供一个”适配器“widget将homeview结合到现有框架中,下面customhome就相当于”适配器“:","如果没有widget层,单靠element层是否可以搭建起一个可用的ui框架?如果可以应该是什么样子?","对于问题1,答案当然是肯定的,因为我们之前说过widget树只是element树的映射,我们完全可以直接通过element来搭建一个ui框架。下面举一个例子:","对于问题2,答案当然也是肯定的,flutter","当element父widget的配置数据改变时,为了进行element复用,framework在决定重新创建element前会先尝试复用相同位置旧的element:调用element对应widget的canupdate()方法,如果返回true,则复用旧element,旧的element会使用新的widget配置数据更新,反之则会创建一个新的element,不会复用。widget.canupdate()主要是判断newwidget与oldwidget的runtimetype和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个widget时,可以通过指定不同的key来禁止复用。","当text发生改变时,我们调用markneedsbuild()方法将当前element标记为dirty即可,标记为dirty的element会在下一帧中重建。实际上,state.setstate()在内部也是调用的markneedsbuild()方法。","当有父widget的配置数据改变时,同时其state.build返回的widget结构与之前不同,此时就需要重新构建对应的element树。为了进行element复用,在element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应widget的canupdate方法,如果返回true,则复用旧element,旧的element会使用新widget配置数据更新,反之则会创建一个新的element。widget.canupdate主要是判断newwidget与oldwidget的runtimetype和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个widget时,可以通过指定不同的key来避免复用。","当有祖先element决定要移除el","思考题:为什么build方法的参数不定义成element对象,而要定义成buildcontext","总结","我们可以看到element是flutt","我们知道,在很多时候我们都需要使用这个context","我们通过纯粹的element来模拟一个statefulwidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是1","方法来移除它,移除后element.renderobject也会被从渲染树中移除,然后framework会调用element.deactiv","方法,这时element状态变为“inactive”状态。","无论是statelesswidget和statefulwidget的build方法都会传一个buildcontext对象:","时(如widget树结构发生了变化,导致element对应的widget被移除),这时该祖先element就会调用deactivatechild","本节详细的介绍了element的生命周期,以及它与widget、buildcontext的关系,也介绍了element在flutt","点击按钮则按钮文本会随机排序。","现在就可以将customhome添加到widget树了,我们在一个新路由页创建它,最终效果如下:","看完element的生命周期,可能有些读者会有疑问,开发者会直接操作element树吗?其实对于开发者来说,大多数情况下只需要关注widget树就行,flutter框架已经将对widget树的操作映射到了element树上,这可以极大的降低复杂度,提高开发效率。但是了解element对理解整个flutt","至此真相大白,buildcontext就是widget对应的element,所以我们可以通过context在statelesswidget和statefulwidget的build方法中直接访问element对象。我们获取主题数据的代码theme.of(context)内部正是调用了element的inheritfromwidgetofexacttype()方法。","调用","调用widget.createel","进阶","那statelesswidget和statefulwidget的build方法传入的context对象是哪个实现了buildcontext的类。我们顺藤摸瓜,发现调用时发生在statelesswidget和statefulwidget对应的statelesselement和statefulelement的build方法中,以statelesselement为例:","那么buildcontext到底是什么呢,查看其定义,发现其是一个抽象接口类:",",mount方法中首先调用elment所对应widget的createrenderobject方法创建与element相关联的renderobject对象,然后调用element.attachrenderobject方法将element.renderobject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。"],"chapter14/render_object.html":["!=","'offset=$offset';","(!parentusess","(_overflow","(_relayoutboundari","(_size.contains(position))","(child","(child._needspaint)","(child.isrepaintboundary)","(child.parentdata","(hittestchildren(result,","(isrepaintboundary)","(owner","(parent","(sizedbyparent)","),","+","...","//","///","//如果renderobject.isrepaintboundari","//将测试结果添加到result中","//找到最近的layer,绘制","//指定画布大小","//绘制子节点,","//递归子renderbox进行命中测试","300),",":","=","==","=>",">","@overrid","@protect","@requir","[child].","_compositechild(child,","_compositechild(renderobject","_needslayout","abstract","api来实现具体的绘制逻辑。","appendlayer(child._layer);","around","assert(_lay","assert(_relayoutboundari","assert(child._lay","assert(par","bool","boundari","boxparentdata","boxparentdata();","boxparentdata)","boxparentdata定义如下:","child","child)","child,","child._layer.offset","child._paintwithcontext(this,","child.hittest(result,","child.layout()","child.parentdata","child.parentdata;","child:","childparentdata","childparentdata.nextsibling;","childparentdata.offset","childtyp","class","constraint","constraints,","constraints.istight","container(...),","context,","context.paintchild(child,","creat","custompaint(","debugalsopaintedparent:","defaultpaint(paintingcontext","describeapproximatepaintclip和","dirti","dirty,这样在下一个frame中便会重新layout,我们看看renderobject的markneedslayout()的部分源码:","extend","fals","false;","final","firstchild;","getter。更多关于语义化的信息可以查看api文档。","hittest","hittest()中需要将通过命中测试的节点信息添加到命中测试结果列表中,而","hittest(hittestresult","hittestchildren(),","hittestchildren()则只需要简单的返回true或false。","hittestchildren(hittestresult","hittestresult","hittestself()","hittestself(offset","hittestself(position))","is!","isrepaintboundari","layout(constraint","markneedsbuild()","markneedslayout()","markneedspaint()","markparentneedslayout();","mypainter(),","null)","null);","offset","offset)","offset);","offset)来完成绘制,该方法源码如下:","offset.zero;","offset;","offset表示在子节点在父节点坐标系中的绘制偏移","owner._nodesneedinglayout.add(this);","owner._nodesneedingpaint.add(this);","owner.requestvisualupdate();","paint()","paint(paintingcontext","paintchild()","paintchild(renderobject","painter:","parent","parent._relayoutboundary;","parent.markneedspaint();","parentdata","parentdatatyp","parentusess","parentusessize,该值用于确定","parent,因此","parent,如此便可提高性能。","performlayout","performlayout()","performlayout();","performlayout()两个方法中,renderbox子类需要实现这两个方法来定制自身的布局逻辑。根据layout()","performlayout()两个方法来实现,他们会在layout()中被调用。","performres","performresize()","performresize()/performlayout()","performresize();","posit","position)","position));","position);","position:","relayoutboundari","relayoutboundary;","relayoutboundary,如果一个","relayoutboundary,如果不是就继续向","relayoutboundary,就表示它的大小变化不会再影响到","relayoutboundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。","relayoutboundary?在前面介绍element时,我们讲过当一个element标记为","renderbox","renderbox子类要定制布局算法不应该重写layout()方法,因为对于任何renderbox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performresize()","renderbox实际的测量和布局逻辑是在performresize()","renderobject","renderobject)","renderobject与renderbox","renderobject中有一个类似的markneedslayout()方法,它会将","renderobject为止,然后再将其标记为","renderobject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下:","renderobject和renderbox","renderobject就是渲染树中的一个对象,它拥有一个parent和一个parentdata","renderobject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。","renderproxybox","renderrepaintboundari","renderrepaintboundary({","repaint","repaintboundari","repaintboundary(","repaintcompositedchild(child,","result,","result.add(boxhittestentry(this,","result.add(hittestentry(this));","return","setupparentdata(covari","size(300,","size:","sizedbypar","sizedbyparent就应该返回true,此时其大小在","size属性用来保存控件的宽和高。renderbox的layout是通过在组件树中从上往下传递boxconstraints对象的实现的。boxconstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。","stoprecordingifneeded();","string","super(child);","this)","this.parent);","this.parent;","this;","tostring()","tree。本节我们将重点介绍一下renderobject的作用。","true","true);","true;","true则会调用_compositechild()方法,_compositechild()源码如下:","true的renderobject","true,这样在绘制时仅会重绘自身而无需重绘它的","ui底层原理。我们也可以看到,如果要从头到尾实现一个renderobject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在widget层通过组合或者custompaint完成自定义ui。如果遇到只能定义一个新renderobject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自renderbox,这样可以帮我们减少一部分工作。","visitchildrenforsemantics方法和semanticsannot","void","widget如何设置isrepaintboundary属性呢?其实如果使用了repaintboundari","widget来指定isrepaintboundari","widget自己指定,如:","widget,其对应的renderrepaintboundary会自动将isrepaintboundary设为true的:","widget,它使用keepaliveparentdatamixin(继承自parentdata)","{","||","}","})","。","一个isrepaintboundari","一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(renderview)开始进行命中测试,下面是renderview的hittest()源码:","一定要注意,renderobject的parentdata","上面layout()源码中定义了一个relayoutboundary变量,什么是","下面我们看看repaintboundary的原理,renderobject有一个isrepaintboundary属性,该属性决定这个renderobject重绘时是否独立于其父元素,如果该属性值为tru","不同的是,这个绘制边界需要由开发者通过repaintboundari","中就确定了,在后面的","中,有个","为","为true,则该renderobject拥有layer,直接绘制","为事件触发的坐标(如果有的话),返回","也就不用重新布局了。","也需要被重新布局,那么到什么时候是个头呢?答案就是","代码大致逻辑是先判断自身是不是","代码很简单,首先判断有无溢出,如果没有则调用defaultpaint(context,","会和一个祖先节点共用一个layer","会被renderbox和它的子类使用.","传给它的","便会重新布局,我们是通过调用","列表中,参数","则表示有","只能通过父元素设置.","只负责布局子节点。","可以看出,当调用","可以看到layout方法需要传入两个参数,第一个为constraints,即","向父级递归查找","命中测试","和","唯一不同的是","在","在上一节我们说过每个element都对应一个renderobject,我们可以通过element.renderobject","在布局阶段,父节点会调用子节点的layout()方法,下面我们看看renderobject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):","如果子元素未超出当前边界,则绘制子元素","如果直到根节点也没找到一个layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。","如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以renderflex对象为例说明:","它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,flutter提供了一个renderbox类,它继承自renderobject,布局坐标系统采用笛卡尔坐标系,这和android和ios原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用renderbox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下renderbox。","就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满","布局过程","开始一直向父节点查找,直到找到","当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,renderobject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数renderbox子类来说如果子类只有一个子节点,那么子节点偏移一般都是offset.zero","当然,parentdata并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的parentdata中,如containerbox的parentdata就保存了指向兄弟节点的previoussibling和nextsibling,element.visitchildren()方法也正是通过它们来实现对子节点的遍历。再比如keepal","当需要绘制的内容大小溢出当前空间时,将会执行paintoverflowindicator()","很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isrepaintboundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,renderobject也提供了一个markneedspaint()方法,其源码如下:","很明显,由于flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintchild()来绘制子节点,同时将子节点parentdata中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintchild()。而如果子节点还有子节点时,paintchild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为:","总结","意为该节点的大小是否仅通过","我们再看看renderbox默认的hittest()实现:","我们可以看到,在绘制子节点时,如果child.isrepaintboundari","我们在”事件处理与通知“一章中已经讲过flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。","我们已经在custompaint一节中介绍过repaintboundary,现在我们深入的了解一些。与","我们看到默认的实现里调用了hittestself()和hittestchildren()两个方法,这两个方法默认实现如下:","或","才会被调用,而","插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentdata正是一个预留变量,它正是由par","方法中将不会再被修改了,这种情况下","方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout()","方法时,会从当前","方法用来判断该","时便会重新build,这时","时,performresize()","时,才会触发重绘,这样便可以实现局部重绘。当","是","是否在被点击的范围内,同时负责将被点击的","是每次布局都会被调用的。sizedbypar","有renderobject","本节我们介绍了renderobject主要的功能和方法,理解这些内容可以帮助我们更好的理解flutt","来保存子节的keepalive状态。","来标记element为dirty的。在","来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如:","来获取。并且我们也说过renderobject的主要职责是layout和绘制,所有的renderobject会组成一棵渲染树rend","来赋值的,parent通常会通过子renderobject的parentdata存储一些和子元素相关的数据,如在stack布局中,renderstack就会将子元素的偏移数据存储在子元素的parentdata中(具体可以查看positioned实现)。","查找,一直向上查找到是","没有自己的layer,","添加到","源码可以看出只有","父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是","的","的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的","的大小了,于是","的大小,那么","的布局状态标记为","相似,repaintboundary是用于在确定重绘边界的,与","答案就在paintchild()源码中:","绘制的很频繁或很复杂时,可以通过repaintboundari","绘制过程","给子节点创建一个layer","语义化","语义化即semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解ui内容。如果一个renderobject要支持语义化接口,可以实现","还有一个问题,通过repaintboundari","通过context.canvas可以取到canvas对象,接下来就可以调用canva","通过了命中测试,需要响应事件,反之则认为当前renderbox没有命中。在继承renderbox时,可以直接重写hittest()方法,也可以重写",",则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢?",",如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过renderobject的parentdata属性来保存的。在renderbox中,其parentdata属性默认是一个boxparentdata对象,该属性只能通过父节点的setupparentdata()方法来设置:",",如此递归完成整个ui的布局。",",然后再上面绘制子节点"],"chapter14/flutter_app_startup.html":["!=","&&","'[root]',","'window_render';","'window_scheduleframe';","()","(_nodesneedinglayout.isnotempty)","(automaticsystemuiadjustment)","(element","(node._layer.attached)","(node._needscompositingbitsupd","(node._needslayout","(node._needspaint","(renderobject","(renderviewel","(widgetsbinding.inst",").attachtorendertree(buildowner,",");","...","...//省略无关代码","..attachrootwidget(app)","..onmetricschang","..onsemanticsact","..onsemanticsenabledchang","..ontextscalefactorchang","..schedulewarmupframe();","//","//其它属性及回调","//布局","//更新renderobject.needscompositing属性值","//添加persistentframecallback","//监听window对象的事件","//省略无关代码","//调用flutter","//调用renderbinding的drawframe()方法","//重绘之前的预处理操作,检查renderobject是否需要重绘","6的屏幕dpi为3.5",";","=","==","=>","@overrid","[];","[renderobjecttowidgetel","_devicepixelratio;","_handlepersistentframecallback(dur","_handlepersistentframecallback:","_handlesemanticsaction;","_handlesemanticsenabledchang","_nodesneedingcompositingbitsupdate)","_nodesneedingcompositingbitsupdate.clear();","_nodesneedingcompositingbitsupdate.sort(","_nodesneedinglayout","_nodesneedinglayout;","_nodesneedingpaint","_nodesneedingpaint;","_onbeginframe;","_ondrawframe;","_onlocalechanged;","_onmetricschanged;","_onplatformmessage;","_onpointerdatapacket;","_ontextscalefactorchanged;","_physicalsize;","_renderviewel","_textscalefactor;","_updatesystemchrome();","a,","a.depth","a.depth))","addpersistentframecallback(_handlepersistentframecallback);","api来完成绘制。","app)","app从启动到显示到屏幕上的主流程,读者可以结合前面章节对widget、element以及renderobject的介绍来加强细节理解。","assert(el","assert(renderview","async","attachrootwidget(widget","attachtorendertree(buildown","await","b)","b.depth","b.depth))","basic","bindingbas","binding的源码,我们可以发现这些binding中基本都是监听并处理window对象的一些事件,然后将这些事件按照framework的模型包装、抽象然后分发。可以看到widgetsflutterbinding正是粘连flutt","builder","buildowner.buildscope()","buildowner.buildscope(renderviewelement);","buildowner.finalizetree();","bytedata","callback)","channel),主要处理原生和flutter通信。","child:","class","compositeframe()","container:","createelement();","data,","debugshortdescription:","devicepixelratio","dirtynod","dirtynodes..sort((renderobject","doubl","dpi是设备屏幕的固件属性,如nexu","drawframe()","drawframe();","element","element._newwidget","element.assignowner(owner);","element.markneedsbuild();","element.mount(null,","element;","element])","elementtree。如果","element,即","endofframe;","engine与上层framework的”胶水“。","engine受显示器垂直同步信号\"vsync\"的趋势不断的触发绘制。我们之前说的flutter可以实现60fps(fram","engine提供的canva","engine的window_render方法","engine的window_scheduleframe方法","engine的一些回调。现在我们再回来看看widgetsflutterbinding混入的各种binding。通过查看这些","engine的桥梁。","engine的桥梁,主要是辅助功能的底层支持。","engine的桥梁,定义如下:","engine的渲染api","engine,最终又engine将图像画在设备屏幕上。","ensureinitialized()","extend","final","flushcompositingbits()","flushlayout()","flushpaint()","flutter","flutter从启动到显示","flutter的入口在\"lib/main.dart\"的main()函数中,它是dart应用程序的起点。在flutter应用中,main()函数如下:","flutter运行机制","frame","frame:","framecallback","framecallback:schedulerbind","framework的管理类,它跟踪哪些widget需要重新构建。","framework连接宿主操作系统的接口。我们看一下window类的部分定义:","gesturebinding,","gesturebinding:提供了window.onpointerdatapacket","handlebeginframe(null);","handledrawframe()","handledrawframe();","handlemetricschang","handletextscalefactorchang","host","initinstances()","interfac","interface.","layer.buildscene(builder);","list","local","locale;","locale发生变化回调","lockevents(()","main()","name,","nativ","node","node._layoutwithoutresize();","node._skippedpaintingonlayer();","node._updatecompositingbits();","node.own","null)","null);","onbeginfram","ondrawfram","onlocalechang","onmetricschang","onplatformmessag","onpointerdatapacket","ontextscalefactorchang","oper","os.","owner,","owner.buildscope(element,","owner.lockstate(()","paintingbinding,","paintingbinding:绑定绘制库,主要用于处理图片缓存。","paintingcontext.repaintcompositedchild(node);","per","persistentcallback","persistentcallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。schedulerbinding.instance.addpersitentframecallback(),这个回调中处理了布局与绘制工作。","physicals","pipelineowner.flushcompositingbits();","pipelineowner.flushlayout();","pipelineowner.flushpaint();","pipelineowner.flushsemantics();","platformmessagecallback","platformmessageresponsecallback","pointerdatapacketcallback","postframecallback","postframecallbacks:在frame结束时只会被调用一次,调用后会被系统移除,可由","rebuild()","render(scen","rendererbinding,","rendererbinding:","renderobject","renderobjecttowidgetadapter(","renderobjecttowidgetel","renderobjecttowidgetelement,并且将","renderobject。真正的绘制是通过paintingcontext.repaintcompositedchild()来绘制的,该方法最终会调用flutt","renderobject再到更element的整个关联过程。我们看看attachtorendertree的源码实现:","renderobject,而是只重绘了需要重绘的","renderview,","renderview.compositeframe();","renderviewelement);","resetepoch();","return","rootwidget","rootwidget)","runapp(myapp());","runapp(widget","scene","scene)","scene.dispose();","scheduleframe()","schedulerbind","schedulerbinding,","schedulerbinding.instance.addpostframecallback()","schedulerbinding:提供了window.onbeginframe和window.ondrawframe回调,监听刷新事件,绑定framework绘制调度子系统。","schedulewarmupframe()","second),就是指一秒钟可以触发60次重绘,fps值越大,界面就越流畅。","semant","semanticsbinding,","semanticsbinding:语义化层与flutt","send","sendplatformmessage(str","servicesbinding,","servicesbinding:提供了window.onplatformmessag","size","static","super.drawframe();","system'","textscalefactor","this)","this;","timeline.finishsync();","timer.run(()","timestamp)","transientcallbacks:用于存放一些临时回调,一般存放动画回调。可以通过schedulerbinding.instance.scheduleframecallback","tri","ui.scen","ui.scenebuild","ui.scenebuilder();","ui.window","ui.window.render(scene);","ui绘制区域的大小","user","void","voidcallback","widget","widgetsbind","widgetsbinding.instance;","widgetsbinding:提供了window.onlocalechanged、onbuildschedul","widgetsflutterbind","widgetsflutterbinding();","widgetsflutterbinding.ensureinitialized()","widgetsflutterbinding.ensureinitialized()负责初始化一个widgetsbinding的全局单例,紧接着会调用widgetsbinding的attachrootwidget方法,该方法负责将根widget添加到renderview上,代码如下:","widgettre","widget层与engine的桥梁。","window","{","}","});","、window.ontextscalefactorchang","。","一次绘制过程,我们称其为一帧。flutter","与","两个方法的源码,可以发现前者主要是执行了transientcallbacks队列,而后者执行了","两个方法,在看这两个方法之前我们首先了解一下","中关联的","中实现,查看其源发,发现在其initinstances()方法中有如下代码:","中,它被调用后会立即进行一次绘制(而不是等待\"vsync\"","从启动到显示","信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是schedulewarmupframe()","到根","参数app是一个widget,它是flutter应用启动后要展示的第一个widget。而widgetsflutterbinding正是绑定widget","反向遍历需要重绘的renderobject","发送平台消息","只会创建一次,后面会进行复用。那么buildowner是什么呢?其实他就是widget","可以看main()函数只调用了一个runapp()方法,我们看看runapp()方法中都做了什么:","可以看到widgetsflutterbinding继承自","可以看到window类包含了当前设备和系统的一些信息以及flutt","可以看到该方法中主要调用了handlebeginframe()","向persistentcallbacks队列添加了一个回调","和","和c","回到runapp的实现中,当调用完attachrootwidget后,最后一行会调用","回调,","回调,绑定framework手势子系统,是framework事件模型与底层事件的绑定入口。","在一次绘制过程中,这三个回调队列会放在不同时机被执行:","实例的","对应的","将需要绘制的比特数据发给gpu","已经创建过了,则将根","平台通道消息处理回调","并混入了很多binding,在介绍这些binding之前我们先介绍一下window对象。我们看看window的官方解释:","当前系统字体缩放比例。","当前系统默认的语言local","当前设备的dpi,即一个物理相许显示多少逻辑像素,数字越大,显示效果就越精细保真。","当绘制区域大小改变回调","很明显,window正是flutt","总结","我们发现在调用renderbinding.drawframe()方法前会调用","我们看最后一行,通过addpersistentframecallback","我们看看这些方法分别做了什么:","提供了window.onmetricschang","方法的部分实现(省略了无关代码):","方法,该方法的实现在","更新应用在gpu上的渲染,此方法会直接调用flutt","最后","本节介绍了flutter","根widget","框架和flutter","检查renderobject是否需要重绘,然后更新renderobject.needscompositing属性,如果该属性值被标记为true则需要重绘。","此方法会直接调用flutter","注册,注意,不要在此类回调中再触发新的frame,这可以会导致循环刷新。","注意,代码中的有renderview和renderviewelement两个变量,renderview是一个renderobject,它是渲染树的根,而renderviewelement是renderview对应的element对象,可见该方法主要完成了","添加回调。","渲染","渲染和绘制逻辑在renderbind","源码很简单,该方法主要任务是更新了所有被标记为“dirty”的renderobject的布局信息。主要的动作发生在node._layoutwithoutresize()方法中,该方法中会调用performlayout()进行重新布局。","点击或指针事件回调","现在请读者自行查看handlebeginframe()","用于绑定平台消息通道(messag","的","的概念:","真正的绘制逻辑","等回调。它flutter","等回调。它是渲染树与flutter","类中有三个framecallback回调队列,","系统字体缩放变化回调","绘制","绘制前回调,一般会受显示器的垂直同步信号vsync驱动,当屏幕刷新时就会被调用","绘制回调","设为新的,由此可以看出","该方法直接调用了renderbinding的drawframe()方法:","该方法负责创建根","该方法进行了最终的绘制,可以看出它不是重绘了所有","调度frame,该方法执行后,onbeginframe和ondrawframe将紧接着会在合适时机被调用,","这个方法中有一个scene对象,scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将canvas画好的scene传给window.render()方法,该方法会直接将scene信息发送给flutt","进行","进行关联,即创建出","重绘","锁定事件","队列。","需要注意的是:由于renderbinding只是一个mixin,而with它的是widgetbinding,所以我们需要看看widgetbinding中是否重写该方法,查看widgetbinding的drawframe()方法源码:","(非首次绘制),该方法会将被标记为“dirty”"]},"length":84},"tokenStore":{"root":{"0":{"0":{"5":{"2":{"2":{"9":{"8":{"3":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}},"docs":{}},"5":{"2":{"6":{"2":{"4":{"0":{"1":{"0":{"6":{"5":{"7":{"6":{"1":{"2":{"9":{"0":{"1":{"0":{"3":{"0":{"1":{"8":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},".":{"0":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"➩":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{}}},"docs":{}}}}}}}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"1":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"docs":{}}},"docs":{}}},"1":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"3":{"docs":{},".":{"5":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"/":{"docs":{},"/":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197}},"/":{"docs":{},"/":{"docs":{},"距":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"2":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{}},"4":{"docs":{},".":{"3":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"在":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}},"docs":{}}},"6":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644}},"/":{"docs":{},"/":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"前":{"6":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"x":{"docs":{},"e":{"0":{"0":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"docs":{}},"docs":{}},"6":{"1":{"4":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"1":{"4":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"docs":{}},"docs":{}},"docs":{},"c":{"7":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"docs":{}}}},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}}},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"1":{"0":{"0":{"0":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},".":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439}}},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"docs":{}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"}":{"docs":{},"%":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}},"1":{"docs":{},".":{"8":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"docs":{}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"docs":{}},":":{"0":{"0":{"docs":{},":":{"5":{"2":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"_":{"3":{"docs":{},"_":{"1":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}}},"docs":{}},"t":{"1":{"5":{"docs":{},":":{"4":{"6":{"docs":{},":":{"2":{"0":{"docs":{},".":{"8":{"9":{"7":{"2":{"2":{"8":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"7":{"docs":{},":":{"3":{"7":{"docs":{},":":{"2":{"8":{"docs":{},".":{"5":{"0":{"5":{"0":{"8":{"8":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}}}},"docs":{}}},"5":{"docs":{},".":{"8":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}},"3":{"docs":{},".":{"0":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},")":{"docs":{},"/":{"docs":{},"/":{"docs":{},"定":{"docs":{},"义":{"docs":{},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"docs":{}}},"5":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"docs":{}}},"docs":{},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611}}}},"6":{"5":{"7":{"3":{"9":{"3":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},")":{"docs":{},"或":{"docs":{},"更":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}},"docs":{}}},"7":{"9":{"4":{"docs":{},".":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"8":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.031746031746031744}}},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}}}}}},"docs":{}}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"docs":{},".":{"2":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"9":{"8":{"3":{"3":{"9":{"9":{"2":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0032404406999351912}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},".":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{},")":{"docs":{},"➩":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},".":{"0":{"docs":{},"+":{"1":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}},"docs":{}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"允":{"docs":{},"许":{"docs":{},"您":{"docs":{},"提":{"docs":{},"供":{"docs":{},"速":{"docs":{},"度":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},"、":{"docs":{},"力":{"docs":{},"量":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"等":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"范":{"docs":{},"围":{"docs":{},"之":{"docs":{},"外":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"2":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"5":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.015723270440251572},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}},")":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},"2":{"0":{"0":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}},".":{"0":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"到":{"0":{"docs":{},".":{"0":{"docs":{},"的":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}},"docs":{}}},"docs":{}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"1":{"7":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"8":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"年":{"2":{"docs":{},"月":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"同":{"docs":{},"年":{"docs":{},"五":{"docs":{},"月":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"6":{"docs":{},"月":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{},"首":{"docs":{},"个":{"docs":{},"预":{"docs":{},"览":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"3":{"docs":{},".":{"2":{"0":{"8":{"docs":{},".":{"4":{"1":{"docs":{},".":{"3":{"2":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},")":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"/":{"docs":{},"/":{"docs":{},"子":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}}}}}}}},"docs":{}},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"1":{"7":{"1":{"9":{"7":{"8":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}},"docs":{}}},"5":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"docs":{}}},"5":{"docs":{},")":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"docs":{}},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}},"7":{"docs":{},"k":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"8":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}},"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}},".":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"已":{"docs":{},"经":{"docs":{},"正":{"docs":{},"式":{"docs":{},"发":{"docs":{},"布":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"本":{"docs":{},"书":{"docs":{},"所":{"docs":{},"有":{"docs":{},"示":{"docs":{},"例":{"docs":{},"均":{"docs":{},"采":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},")":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"6":{"2":{"5":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843}}}}}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}},"都":{"docs":{},"可":{"docs":{},".":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"3":{"0":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662}}},")":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},"3":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219}}}}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},".":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"2":{"3":{"docs":{},".":{"7":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"8":{"0":{"2":{"6":{"8":{"1":{"3":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},".":{"0":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}},"docs":{}}},"6":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}}},"8":{"8":{"9":{"6":{"5":{"3":{"5":{"5":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"docs":{}}},"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},".":{"0":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}},"1":{"docs":{},".":{"0":{"docs":{},"正":{"docs":{},"式":{"docs":{},"发":{"docs":{},"布":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"对":{"docs":{},"于":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"完":{"docs":{},"全":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"新":{"docs":{},"增":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"r":{"docs":{},"t":{"docs":{},"、":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"等":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"废":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"无":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"g":{"docs":{},"d":{"docs":{},"b":{"docs":{},"调":{"docs":{},"试":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"集":{"docs":{},"成":{"docs":{},"了":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"代":{"docs":{},"码":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"并":{"docs":{},"对":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"支":{"docs":{},"持":{"docs":{},"做":{"docs":{},"出":{"docs":{},"了":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"至":{"docs":{},"此":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"全":{"docs":{},"面":{"docs":{},"支":{"docs":{},"持":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"、":{"docs":{},"w":{"docs":{},"p":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"构":{"docs":{},"建":{"docs":{},"图":{"docs":{},"形":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"在":{"docs":{},"p":{"docs":{},"c":{"docs":{},"端":{"docs":{},"获":{"docs":{},"得":{"docs":{},"了":{"docs":{},"巨":{"docs":{},"大":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"备":{"docs":{},"受":{"docs":{},"社":{"docs":{},"区":{"docs":{},"追":{"docs":{},"捧":{"docs":{},",":{"docs":{},"然":{"docs":{},"而":{"docs":{},"其":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"却":{"docs":{},"表":{"docs":{},"现":{"docs":{},"不":{"docs":{},"佳":{"docs":{},",":{"docs":{},"在":{"docs":{},"近":{"docs":{},"几":{"docs":{},"年":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"偶":{"docs":{},"尔":{"docs":{},"能":{"docs":{},"听":{"docs":{},"到":{"docs":{},"q":{"docs":{},"t":{"docs":{},"的":{"docs":{},"声":{"docs":{},"音":{"docs":{},",":{"docs":{},"但":{"docs":{},"一":{"docs":{},"直":{"docs":{},"很":{"docs":{},"弱":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"q":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"技":{"docs":{},"术":{"docs":{},"如":{"docs":{},"何":{"docs":{},"、":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"如":{"docs":{},"何":{"docs":{},",":{"docs":{},"但":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},"终":{"docs":{},"究":{"docs":{},"是":{"docs":{},"败":{"docs":{},"了":{"docs":{},",":{"docs":{},"究":{"docs":{},"其":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"认":{"docs":{},"为":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"四":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}},"docs":{}}},"5":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{},",":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219}}},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673}}}},"4":{"0":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}},"docs":{}}},"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}},"docs":{}}},"docs":{}},"2":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"3":{"7":{"docs":{},".":{"0":{"8":{"6":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"8":{"9":{"1":{"3":{"9":{"5":{"9":{"4":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{},".":{"0":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"1":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},")":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"5":{"0":{"0":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245}},")":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},".":{"0":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.009536784741144414},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"docs":{}},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"1":{"4":{"5":{"8":{"5":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"3":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.009394572025052192}}}}},"docs":{}},"docs":{}},"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},".":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951}}},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}},"s":{"docs":{},"或":{"docs":{},"更":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"6":{"0":{"0":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.017543859649122806}}}},"docs":{}},"h":{"docs":{},"z":{"docs":{},"。":{"docs":{},"当":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"图":{"docs":{},"像":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},"准":{"docs":{},"备":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"时":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"会":{"docs":{},"发":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},"(":{"docs":{},"如":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"就":{"docs":{},"会":{"docs":{},"一":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"发":{"docs":{},"出":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}},"次":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"信":{"docs":{},"号":{"docs":{},"。":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"信":{"docs":{},"号":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"同":{"docs":{},"步":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"、":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"和":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"地":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"、":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"和":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"以":{"docs":{},"一":{"docs":{},"种":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"协":{"docs":{},"作":{"docs":{},":":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"将":{"docs":{},"计":{"docs":{},"算":{"docs":{},"好":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},"提":{"docs":{},"交":{"docs":{},"给":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"1":{"2":{"8":{"8":{"8":{"8":{"7":{"7":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"7":{"2":{"8":{"7":{"5":{"4":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"5":{"7":{"0":{"2":{"2":{"1":{"8":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},"5":{"5":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.10110174983797797}}}}},"docs":{}},"docs":{}},"8":{"3":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006804925469863901}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},",":{"docs":{},"它":{"docs":{},"用":{"docs":{},"于":{"docs":{},"强":{"docs":{},"制":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"下":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"框":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},"为":{"3":{"docs":{},".":{"5":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"docs":{}}},"docs":{}}}}}}}}},"7":{"0":{"0":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"docs":{}},"2":{"7":{"6":{"2":{"2":{"7":{"1":{"6":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},".":{"0":{"docs":{},"语":{"docs":{},"法":{"docs":{},"中":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"给":{"docs":{},"予":{"docs":{},"厚":{"docs":{},"望":{"docs":{},",":{"docs":{},"是":{"docs":{},"想":{"docs":{},"把":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"打":{"docs":{},"造":{"docs":{},"成":{"docs":{},"一":{"docs":{},"门":{"docs":{},"集":{"docs":{},"百":{"docs":{},"家":{"docs":{},"之":{"docs":{},"所":{"docs":{},"长":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.030456852791878174},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}},")":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}},"作":{"docs":{},"为":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}},"docs":{}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}},"1":{"6":{"1":{"5":{"1":{"1":{"6":{"4":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"3":{"docs":{},".":{"3":{"docs":{},"%":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"5":{"1":{"3":{"docs":{},")":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}},"docs":{}},"docs":{}},"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"/":{"docs":{},"/":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"docs":{}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"9":{"0":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.017543859649122806}}}},"docs":{}}},"6":{"0":{"2":{"5":{"5":{"6":{"5":{"2":{"6":{"2":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},".":{"0":{"docs":{},"或":{"docs":{},"更":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"链":{"docs":{},"接":{"docs":{},"下":{"docs":{},"载":{"docs":{},"或":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"应":{"docs":{},"用":{"docs":{},"商":{"docs":{},"店":{"docs":{},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"docs":{}},")":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}},"个":{"docs":{},"数":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"则":{"docs":{},"对":{"9":{"docs":{},"个":{"docs":{},"数":{"docs":{},"随":{"docs":{},"机":{"docs":{},"排":{"docs":{},"一":{"docs":{},"次":{"docs":{},"序":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{},"为":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}},"了":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"方":{"docs":{},"便":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"中":{"docs":{},"国":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"了":{"docs":{},"解":{"docs":{},"这":{"docs":{},"门":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"发":{"docs":{},"起":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"计":{"docs":{},"划":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"源":{"docs":{},"计":{"docs":{},"划":{"docs":{},",":{"docs":{},"前":{"docs":{},"者":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"则":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"包":{"docs":{},"来":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"生":{"docs":{},"态":{"docs":{},",":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"而":{"docs":{},"时":{"docs":{},"至":{"docs":{},"今":{"docs":{},"日":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"件":{"docs":{},"事":{"docs":{},"取":{"docs":{},"得":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"还":{"docs":{},"都":{"docs":{},"不":{"docs":{},"错":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"显":{"docs":{},"示":{"docs":{},"画":{"docs":{},"面":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"是":{"docs":{},"以":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"频":{"docs":{},"率":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"(":{"docs":{},"从":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"有":{"docs":{},"一":{"docs":{},"部":{"docs":{},"手":{"docs":{},"机":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"频":{"docs":{},"率":{"docs":{},"是":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"便":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"创":{"docs":{},"建":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"对":{"docs":{},"动":{"docs":{},"画":{"docs":{},"都":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"来":{"docs":{},"描":{"docs":{},"述":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"然":{"docs":{},"后":{"docs":{},"设":{"docs":{},"置":{"docs":{},"给":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"也":{"docs":{},"对":{"docs":{},"动":{"docs":{},"画":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"这":{"docs":{},"些":{"docs":{},"角":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"y":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"一":{"docs":{},"样":{"docs":{},":":{"docs":{},"将":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"图":{"docs":{},"标":{"docs":{},"都":{"docs":{},"定":{"docs":{},"义":{"docs":{},"成":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"用":{"docs":{},"户":{"docs":{},"误":{"docs":{},"触":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"都":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"了":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"返":{"docs":{},"回":{"docs":{},"键":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},"内":{"docs":{},"点":{"docs":{},"击":{"docs":{},"两":{"docs":{},"次":{"docs":{},"时":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"认":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"是":{"docs":{},"要":{"docs":{},"退":{"docs":{},"出":{"docs":{},"(":{"docs":{},"而":{"docs":{},"非":{"docs":{},"误":{"docs":{},"触":{"docs":{},")":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"拦":{"docs":{},"截":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"防":{"docs":{},"止":{"docs":{},"用":{"docs":{},"户":{"docs":{},"误":{"docs":{},"触":{"docs":{},"返":{"docs":{},"回":{"docs":{},"键":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"返":{"docs":{},"回":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"1":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"点":{"docs":{},"击":{"docs":{},"两":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"超":{"docs":{},"过":{"1":{"docs":{},"秒":{"docs":{},"则":{"docs":{},"不":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"并":{"docs":{},"重":{"docs":{},"新":{"docs":{},"记":{"docs":{},"时":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"消":{"docs":{},"息":{"docs":{},"给":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"小":{"docs":{},"而":{"docs":{},"且":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},"中":{"docs":{},"仅":{"docs":{},"提":{"docs":{},"供":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"值":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"提":{"docs":{},"供":{"docs":{},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"版":{"docs":{},"本":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}},"什":{"docs":{},"么":{"docs":{},"要":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"?":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"带":{"docs":{},"“":{"docs":{},"➕":{"docs":{},"”":{"docs":{},"号":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"是":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},";":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"是":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"生":{"docs":{},"成":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"称":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"时":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"称":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"生":{"docs":{},"成":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"绘":{"docs":{},"制":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}},"当":{"docs":{},"前":{"docs":{},"应":{"docs":{},"用":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"触":{"docs":{},"发":{"docs":{},"的":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},")":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"次":{"docs":{},"被":{"docs":{},"没":{"docs":{},"用":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"但":{"docs":{},"对":{"docs":{},"其":{"docs":{},"保":{"docs":{},"持":{"docs":{},"好":{"docs":{},"奇":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"问":{"docs":{},"到":{"docs":{},"”":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"怎":{"docs":{},"样":{"docs":{},"?":{"docs":{},"“":{"docs":{},",":{"docs":{},"”":{"docs":{},"开":{"docs":{},"发":{"docs":{},"体":{"docs":{},"验":{"docs":{},"真":{"docs":{},"的":{"docs":{},"好":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"“":{"docs":{},"这":{"docs":{},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"当":{"docs":{},"时":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"那":{"docs":{},"时":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"成":{"docs":{},"功":{"docs":{},"案":{"docs":{},"例":{"docs":{},"太":{"docs":{},"少":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"国":{"docs":{},"内":{"docs":{},"闲":{"docs":{},"鱼":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"引":{"docs":{},"入":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"商":{"docs":{},"业":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"但":{"docs":{},"初":{"docs":{},"期":{"docs":{},"也":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"很":{"docs":{},"少":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"能":{"docs":{},"否":{"docs":{},"适":{"docs":{},"合":{"docs":{},"用":{"docs":{},"于":{"docs":{},"完":{"docs":{},"整":{"docs":{},"项":{"docs":{},"目":{"docs":{},"缺":{"docs":{},"乏":{"docs":{},"考":{"docs":{},"验":{"docs":{},"。":{"docs":{},"那":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"就":{"docs":{},"想":{"docs":{},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"发":{"docs":{},"布":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"商":{"docs":{},"店":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"犹":{"docs":{},"豫":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"实":{"docs":{},"际":{"docs":{},"感":{"docs":{},"受":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"度":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"有":{"docs":{},"个":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"容":{"docs":{},"易":{"docs":{},"做":{"docs":{},"出":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"我":{"docs":{},"开":{"docs":{},"发":{"docs":{},"了":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"它":{"docs":{},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{},"源":{"docs":{},"码":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"、":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"、":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"等":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{},"到":{"docs":{},"目":{"docs":{},"前":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"登":{"docs":{},"录":{"docs":{},"过":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"账":{"docs":{},"号":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"有":{"5":{"0":{"0":{"0":{"docs":{},"多":{"docs":{},",":{"docs":{},"日":{"docs":{},"活":{"docs":{},"用":{"docs":{},"户":{"docs":{},"有":{"5":{"0":{"0":{"docs":{},"。":{"docs":{},"更":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"正":{"docs":{},"是":{"docs":{},"用":{"docs":{},"了":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"来":{"docs":{},"学":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"将":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"与":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"强":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"典":{"docs":{},"型":{"docs":{},"代":{"docs":{},"表":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"但":{"docs":{},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"也":{"docs":{},"是":{"docs":{},"用":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},"全":{"docs":{},"球":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"被":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},"的":{"docs":{},"知":{"docs":{},"名":{"docs":{},"公":{"docs":{},"司":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"商":{"docs":{},"业":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"这":{"docs":{},"门":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},"也":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"进":{"docs":{},"入":{"docs":{},"了":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"的":{"docs":{},"视":{"docs":{},"野":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"当":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"docs":{},"i":{"docs":{},"o":{"docs":{},"大":{"docs":{},"会":{"docs":{},"上":{"docs":{},"发":{"docs":{},"布":{"docs":{},"了":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"版":{"docs":{},"本":{"docs":{},"后":{"docs":{},",":{"docs":{},"国":{"docs":{},"内":{"docs":{},"刮":{"docs":{},"起":{"docs":{},"来":{"docs":{},"一":{"docs":{},"股":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"热":{"docs":{},"潮":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"和":{"docs":{},"o":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"程":{"docs":{},"序":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"且":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"程":{"docs":{},"序":{"docs":{},"将":{"docs":{},"会":{"docs":{},"终":{"docs":{},"止":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"或":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},",":{"docs":{},"究":{"docs":{},"其":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"制":{"docs":{},"有":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"o":{"docs":{},"c":{"docs":{},"都":{"docs":{},"是":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"触":{"docs":{},"发":{"docs":{},"异":{"docs":{},"常":{"docs":{},"且":{"docs":{},"没":{"docs":{},"被":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"时":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"进":{"docs":{},"程":{"docs":{},"就":{"docs":{},"退":{"docs":{},"出":{"docs":{},"了":{"docs":{},"。":{"docs":{},"但":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"制":{"docs":{},"很":{"docs":{},"相":{"docs":{},"似":{"docs":{},"(":{"docs":{},"但":{"docs":{},"有":{"docs":{},"区":{"docs":{},"别":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"官":{"docs":{},"方":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"大":{"docs":{},"致":{"docs":{},"运":{"docs":{},"行":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"打":{"docs":{},"开":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"衍":{"docs":{},"生":{"docs":{},"产":{"docs":{},"物":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"支":{"docs":{},"持":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"两":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{},"r":{"docs":{},"n":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"x":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"来":{"docs":{},"开":{"docs":{},"发":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"前":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},"人":{"docs":{},"员":{"docs":{},"只":{"docs":{},"需":{"docs":{},"很":{"docs":{},"少":{"docs":{},"的":{"docs":{},"学":{"docs":{},"习":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"入":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"领":{"docs":{},"域":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"两":{"docs":{},"者":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"映":{"docs":{},"射":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"映":{"docs":{},"射":{"docs":{},"为":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"n":{"docs":{},"中":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"这":{"docs":{},"三":{"docs":{},"类":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"及":{"docs":{},"优":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"组":{"docs":{},"成":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"由":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"将":{"docs":{},"简":{"docs":{},"单":{"docs":{},"地":{"docs":{},"返":{"docs":{},"回":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"它":{"docs":{},"的":{"docs":{},"相":{"docs":{},"同":{"docs":{},"消":{"docs":{},"息":{"docs":{},"!":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"包":{"docs":{},"含":{"docs":{},"当":{"docs":{},"前":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"及":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"篇":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"种":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},":":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"技":{"docs":{},"术":{"docs":{},"的":{"docs":{},"思":{"docs":{},"路":{"docs":{},"是":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"统":{"docs":{},"一":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"系":{"docs":{},"统":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"其":{"docs":{},"它":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"力":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"要":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"中":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"取":{"docs":{},"而":{"docs":{},"代":{"docs":{},"之":{"docs":{},"的":{"docs":{},"是":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"朝":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"沿":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"来":{"docs":{},"拖":{"docs":{},"动":{"docs":{},",":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"识":{"docs":{},"别":{"docs":{},"特":{"docs":{},"定":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"改":{"docs":{},"为":{"docs":{},"只":{"docs":{},"能":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"书":{"docs":{},"中":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"“":{"docs":{},"树":{"docs":{},"“":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"可":{"docs":{},"能":{"docs":{},"指":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},",":{"docs":{},"在":{"docs":{},"说":{"docs":{},"“":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"”":{"docs":{},"时":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"结":{"docs":{},"构":{"docs":{},"树":{"docs":{},",":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"(":{"docs":{},"一":{"docs":{},"可":{"docs":{},"能":{"docs":{},"对":{"docs":{},"多":{"docs":{},")":{"docs":{},",":{"docs":{},"在":{"docs":{},"有":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"中":{"docs":{},")":{"docs":{},"也":{"docs":{},"代":{"docs":{},"指":{"docs":{},"“":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"”":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"前":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"多":{"docs":{},"次":{"docs":{},"提":{"docs":{},"到":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"\"":{"docs":{},"这":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"特":{"docs":{},"指":{"docs":{},":":{"docs":{},"基":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},"实":{"docs":{},"现":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"指":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"如":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"或":{"docs":{},"者":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{},"过":{"docs":{},"各":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"相":{"docs":{},"通":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"还":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"将":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"展":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"章":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"小":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"后":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"本":{"docs":{},"质":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"好":{"docs":{},"奇":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"或":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"源":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"发":{"docs":{},"展":{"docs":{},"初":{"docs":{},"期":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"并":{"docs":{},"不":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"应":{"docs":{},"对":{"docs":{},"产":{"docs":{},"品":{"docs":{},"需":{"docs":{},"求":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},",":{"docs":{},"各":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"或":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"模":{"docs":{},"型":{"docs":{},"基":{"docs":{},"本":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"一":{"docs":{},"次":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"个":{"docs":{},"阶":{"docs":{},"段":{"docs":{},":":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"、":{"docs":{},"手":{"docs":{},"指":{"docs":{},"移":{"docs":{},"动":{"docs":{},"、":{"docs":{},"和":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},",":{"docs":{},"而":{"docs":{},"更":{"docs":{},"高":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"(":{"docs":{},"如":{"docs":{},"点":{"docs":{},"击":{"docs":{},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"、":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"等":{"docs":{},")":{"docs":{},"都":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"原":{"docs":{},"始":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"启":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"广":{"docs":{},"播":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"跨":{"docs":{},"页":{"docs":{},"面":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"需":{"docs":{},"要":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},",":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"关":{"docs":{},"注":{"docs":{},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{},"或":{"docs":{},"注":{"docs":{},"销":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"状":{"docs":{},"态":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"便":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"有":{"docs":{},"用":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"通":{"docs":{},"常":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"包":{"docs":{},"含":{"docs":{},"发":{"docs":{},"布":{"docs":{},"者":{"docs":{},"和":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"两":{"docs":{},"种":{"docs":{},"角":{"docs":{},"色":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"来":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"监":{"docs":{},"听":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"单":{"docs":{},"例":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"来":{"docs":{},"调":{"docs":{},"试":{"docs":{},",":{"docs":{},"而":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"软":{"docs":{},"件":{"docs":{},"(":{"docs":{},"如":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"软":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"软":{"docs":{},"件":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"以":{"docs":{},"下":{"docs":{},"新":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"两":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"之":{"docs":{},"间":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"到":{"docs":{},"目":{"docs":{},"标":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"的":{"docs":{},"头":{"docs":{},"像":{"docs":{},"上":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"解":{"docs":{},"析":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"是":{"docs":{},"否":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"其":{"docs":{},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"它":{"docs":{},"们":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"文":{"docs":{},"件":{"docs":{},"下":{"docs":{},"找":{"docs":{},"到":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{},"双":{"docs":{},"击":{"docs":{},"运":{"docs":{},"行":{"docs":{},"并":{"docs":{},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},",":{"docs":{},"你":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"东":{"docs":{},"西":{"docs":{},"都":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"、":{"docs":{},"填":{"docs":{},"充":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"没":{"docs":{},"有":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"如":{"docs":{},"调":{"docs":{},"用":{"docs":{},"空":{"docs":{},"对":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"异":{"docs":{},"常":{"docs":{},"、":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"异":{"docs":{},"常":{"docs":{},"分":{"docs":{},"两":{"docs":{},"类":{"docs":{},":":{"docs":{},"同":{"docs":{},"步":{"docs":{},"异":{"docs":{},"常":{"docs":{},"和":{"docs":{},"异":{"docs":{},"步":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"异":{"docs":{},"常":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"而":{"docs":{},"异":{"docs":{},"步":{"docs":{},"异":{"docs":{},"常":{"docs":{},"则":{"docs":{},"比":{"docs":{},"较":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"不":{"docs":{},"了":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"的":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"“":{"docs":{},"描":{"docs":{},"述":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"”":{"docs":{},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"其":{"docs":{},"实":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"表":{"docs":{},"示":{"docs":{},"最":{"docs":{},"终":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"在":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"是":{"docs":{},"显":{"docs":{},"示":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"真":{"docs":{},"正":{"docs":{},"代":{"docs":{},"表":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"类":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"只":{"docs":{},"是":{"docs":{},"描":{"docs":{},"述":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"有":{"docs":{},"关":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"深":{"docs":{},"入":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"现":{"docs":{},"在":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"只":{"docs":{},"是":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"而":{"docs":{},"真":{"docs":{},"正":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"时":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"界":{"docs":{},"面":{"docs":{},"开":{"docs":{},"发":{"docs":{},"都":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"需":{"docs":{},"要":{"docs":{},"组":{"docs":{},"合":{"docs":{},"这":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"各":{"docs":{},"种":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"一":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},"你":{"docs":{},"不":{"docs":{},"必":{"docs":{},"担":{"docs":{},"心":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"差":{"docs":{},"异":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"低":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"列":{"docs":{},"表":{"docs":{},"只":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"项":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"字":{"docs":{},"体":{"docs":{},"分":{"docs":{},"两":{"docs":{},"步":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"它":{"docs":{},"们":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"它":{"docs":{},"们":{"docs":{},"会":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"使":{"docs":{},"用":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"从":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"“":{"docs":{},"飞":{"docs":{},"”":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"称":{"docs":{},"为":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"有":{"docs":{},"时":{"docs":{},"也":{"docs":{},"称":{"docs":{},"为":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"u":{"docs":{},"i":{"docs":{},"通":{"docs":{},"常":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"些":{"docs":{},"低":{"docs":{},"阶":{"docs":{},"别":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"些":{"docs":{},"通":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"首":{"docs":{},"先":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"以":{"docs":{},"则":{"docs":{},"应":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"组":{"docs":{},"合":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"方":{"docs":{},"便":{"docs":{},"、":{"docs":{},"简":{"docs":{},"单":{"docs":{},"、":{"docs":{},"高":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"加":{"docs":{},"载":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"平":{"docs":{},"台":{"docs":{},"机":{"docs":{},"制":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"启":{"docs":{},"动":{"docs":{},"页":{"docs":{},"。":{"docs":{},"此":{"docs":{},"启":{"docs":{},"动":{"docs":{},"页":{"docs":{},"将":{"docs":{},"持":{"docs":{},"续":{"docs":{},"到":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"时":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},",":{"docs":{},"导":{"docs":{},"航":{"docs":{},"到":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"各":{"docs":{},"种":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"(":{"docs":{},"如":{"docs":{},"m":{"docs":{},"i":{"docs":{},"p":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"已":{"docs":{},"经":{"docs":{},"包":{"docs":{},"含":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"相":{"docs":{},"比":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"优":{"docs":{},"势":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"中":{"docs":{},"基":{"docs":{},"于":{"docs":{},"它":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"其":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"上":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"内":{"docs":{},"部":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"封":{"docs":{},"装":{"docs":{},"性":{"docs":{},"会":{"docs":{},"好":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"。":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"确":{"docs":{},"定":{"docs":{},"到":{"docs":{},"底":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"的":{"docs":{},"首":{"docs":{},"选":{"docs":{},"是":{"docs":{},"在":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"(":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"会":{"docs":{},"显":{"docs":{},"得":{"docs":{},"更":{"docs":{},"重":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"被":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"处":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"文":{"docs":{},"本":{"docs":{},"都":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"正":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},"的":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"导":{"docs":{},"航":{"docs":{},"面":{"docs":{},"板":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"变":{"docs":{},"量":{"docs":{},"”":{"docs":{},"下":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"”":{"docs":{},"的":{"docs":{},"条":{"docs":{},"目":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"简":{"docs":{},"介":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"构":{"docs":{},"成":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"组":{"docs":{},"件":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"、":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"从":{"docs":{},"创":{"docs":{},"建":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"大":{"docs":{},"体":{"docs":{},"流":{"docs":{},"程":{"docs":{},"是":{"docs":{},":":{"docs":{},"根":{"docs":{},"据":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"生":{"docs":{},"成":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"并":{"docs":{},"关":{"docs":{},"联":{"docs":{},"到":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"上":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"布":{"docs":{},"局":{"docs":{},"排":{"docs":{},"列":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"上":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"程":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"图":{"docs":{},"片":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"框":{"docs":{},"输":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"项":{"docs":{},"目":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},",":{"docs":{},"您":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"位":{"docs":{},"于":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"翻":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"本":{"docs":{},"节":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"还":{"docs":{},"不":{"docs":{},"了":{"docs":{},"解":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"按":{"docs":{},"照":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"有":{"docs":{},"过":{"docs":{},"其":{"docs":{},"他":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"是":{"docs":{},"前":{"docs":{},"端":{"docs":{},"或":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"将":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"上":{"docs":{},"手":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"也":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"与":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"比":{"docs":{},"较":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"等":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"当":{"docs":{},"时":{"docs":{},"学":{"docs":{},"习":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"花":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"小":{"docs":{},"时":{"docs":{},",":{"docs":{},"看":{"docs":{},"完":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"官":{"docs":{},"网":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"简":{"docs":{},"单":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"相":{"docs":{},"对":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"笔":{"docs":{},"者":{"docs":{},"看":{"docs":{},"来":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"目":{"docs":{},"标":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"既":{"docs":{},"对":{"docs":{},"标":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"也":{"docs":{},"对":{"docs":{},"标":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"静":{"docs":{},"态":{"docs":{},"语":{"docs":{},"法":{"docs":{},"方":{"docs":{},"面":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"非":{"docs":{},"常":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"如":{"docs":{},"类":{"docs":{},"型":{"docs":{},"定":{"docs":{},"义":{"docs":{},"、":{"docs":{},"函":{"docs":{},"数":{"docs":{},"声":{"docs":{},"明":{"docs":{},"、":{"docs":{},"泛":{"docs":{},"型":{"docs":{},"等":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"动":{"docs":{},"态":{"docs":{},"特":{"docs":{},"性":{"docs":{},"方":{"docs":{},"面":{"docs":{},"又":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"很":{"docs":{},"像":{"docs":{},",":{"docs":{},"如":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"特":{"docs":{},"性":{"docs":{},"、":{"docs":{},"异":{"docs":{},"步":{"docs":{},"支":{"docs":{},"持":{"docs":{},"等":{"docs":{},"。":{"docs":{},"除":{"docs":{},"了":{"docs":{},"融":{"docs":{},"合":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"之":{"docs":{},"所":{"docs":{},"长":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"也":{"docs":{},"具":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"具":{"docs":{},"有":{"docs":{},"表":{"docs":{},"现":{"docs":{},"力":{"docs":{},"的":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"可":{"docs":{},"选":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"、":{"docs":{},".":{"docs":{},".":{"docs":{},"(":{"docs":{},"级":{"docs":{},"联":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},")":{"docs":{},"和":{"docs":{},"?":{"docs":{},".":{"docs":{},"(":{"docs":{},"条":{"docs":{},"件":{"docs":{},"成":{"docs":{},"员":{"docs":{},"访":{"docs":{},"问":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},")":{"docs":{},"以":{"docs":{},"及":{"docs":{},"?":{"docs":{},"?":{"docs":{},"(":{"docs":{},"判":{"docs":{},"空":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"运":{"docs":{},"算":{"docs":{},"符":{"docs":{},")":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"对":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"了":{"docs":{},"解":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"其":{"docs":{},"实":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"有":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"影":{"docs":{},"子":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"具":{"docs":{},"有":{"docs":{},"其":{"docs":{},"它":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"中":{"docs":{},"的":{"docs":{},"身":{"docs":{},"影":{"docs":{},",":{"docs":{},"如":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"在":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"一":{"docs":{},"的":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"被":{"docs":{},"列":{"docs":{},"出":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"监":{"docs":{},"听":{"docs":{},"“":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"”":{"docs":{},"手":{"docs":{},"势":{"docs":{},"(":{"docs":{},"“":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"”":{"docs":{},"是":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"函":{"docs":{},"数":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},"代":{"docs":{},"表":{"3":{"docs":{},".":{"5":{"docs":{},"个":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"本":{"docs":{},"地":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"路":{"docs":{},"径":{"docs":{},"时":{"docs":{},",":{"docs":{},"构":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"相":{"docs":{},"邻":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"查":{"docs":{},"找":{"docs":{},"具":{"docs":{},"有":{"docs":{},"相":{"docs":{},"同":{"docs":{},"名":{"docs":{},"称":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"文":{"docs":{},"件":{"docs":{},"随":{"docs":{},"后":{"docs":{},"会":{"docs":{},"与":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"一":{"docs":{},"起":{"docs":{},"被":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"部":{"docs":{},"分":{"docs":{},"添":{"docs":{},"加":{"docs":{},"如":{"docs":{},"下":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"放":{"docs":{},"置":{"docs":{},"到":{"docs":{},"称":{"docs":{},"为":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"率":{"docs":{},"为":{"1":{"docs":{},".":{"8":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},",":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"2":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}},"选":{"docs":{},"择":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"变":{"docs":{},"体":{"docs":{},"(":{"docs":{},"见":{"docs":{},"下":{"docs":{},"文":{"docs":{},")":{"docs":{},",":{"docs":{},"将":{"docs":{},"来":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"、":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"提":{"docs":{},"示":{"docs":{},"等":{"docs":{},"方":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"强":{"docs":{},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"您":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"“":{"docs":{},"调":{"docs":{},"试":{"docs":{},"”":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"有":{"docs":{},"时":{"docs":{},"也":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"”":{"docs":{},"模":{"docs":{},"式":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"2":{"docs":{},".":{"0":{"docs":{},"后":{"docs":{},"“":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"”":{"docs":{},"被":{"docs":{},"废":{"docs":{},"除":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"“":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"”":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"前":{"docs":{},",":{"docs":{},"请":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"外":{"docs":{},"部":{"docs":{},"事":{"docs":{},"件":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"在":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"i":{"docs":{},"o":{"docs":{},"、":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},"、":{"docs":{},"点":{"docs":{},"击":{"docs":{},"、":{"docs":{},"以":{"docs":{},"及":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"事":{"docs":{},"件":{"docs":{},"等":{"docs":{},",":{"docs":{},"而":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"通":{"docs":{},"常":{"docs":{},"来":{"docs":{},"源":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"非":{"docs":{},"常":{"docs":{},"少":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"高":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"太":{"docs":{},"多":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"间":{"docs":{},"总":{"docs":{},"和":{"docs":{},"就":{"docs":{},"越":{"docs":{},"久":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"也":{"docs":{},"就":{"docs":{},"越":{"docs":{},"久":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"应":{"docs":{},"用":{"docs":{},"来":{"docs":{},"说":{"docs":{},"最":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"就":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"卡":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"保":{"docs":{},"证":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"不":{"docs":{},"会":{"docs":{},"太":{"docs":{},"长":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},"…":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"向":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"插":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"循":{"docs":{},"环":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"某":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"时":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"退":{"docs":{},"出":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"中":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"其":{"docs":{},"它":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"以":{"docs":{},"消":{"docs":{},"息":{"docs":{},"循":{"docs":{},"环":{"docs":{},"机":{"docs":{},"制":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"两":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"“":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"”":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"从":{"docs":{},"树":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"移":{"docs":{},"除":{"docs":{},"后":{"docs":{},"(":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"又":{"docs":{},"重":{"docs":{},"新":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"树":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"位":{"docs":{},"置":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"的":{"docs":{},"周":{"docs":{},"围":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"深":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"的":{"docs":{},"边":{"docs":{},"框":{"docs":{},"。":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"边":{"docs":{},"框":{"docs":{},"消":{"docs":{},"失":{"docs":{},";":{"docs":{},"点":{"docs":{},"击":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{},"通":{"docs":{},"过":{"docs":{},"回":{"docs":{},"调":{"docs":{},"将":{"docs":{},"其":{"docs":{},"状":{"docs":{},"态":{"docs":{},"导":{"docs":{},"出":{"docs":{},"到":{"docs":{},"其":{"docs":{},"父":{"docs":{},"项":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{},"不":{"docs":{},"管":{"docs":{},"理":{"docs":{},"任":{"docs":{},"何":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"它":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"“":{"docs":{},"控":{"docs":{},"件":{"docs":{},"”":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"更":{"docs":{},"广":{"docs":{},"泛":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"表":{"docs":{},"示":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"表":{"docs":{},"示":{"docs":{},"一":{"docs":{},"些":{"docs":{},"功":{"docs":{},"能":{"docs":{},"性":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"如":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"检":{"docs":{},"测":{"docs":{},"的":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"几":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"也":{"docs":{},"说":{"docs":{},"过":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"先":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"以":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"展":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"用":{"docs":{},"法":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"如":{"docs":{},"何":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"当":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"取":{"docs":{},"消":{"docs":{},"高":{"docs":{},"亮":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"只":{"docs":{},"能":{"docs":{},"按":{"docs":{},"同":{"docs":{},"一":{"docs":{},"种":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"部":{"docs":{},"分":{"docs":{},"按":{"docs":{},"照":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"片":{"docs":{},"段":{"docs":{},"”":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{},"过":{"docs":{},"每":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"都":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"码":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"码":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"字":{"docs":{},"形":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"字":{"docs":{},"形":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"即":{"docs":{},"字":{"docs":{},"符":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"字":{"docs":{},"形":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"将":{"docs":{},"位":{"docs":{},"码":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"字":{"docs":{},"形":{"docs":{},"做":{"docs":{},"成":{"docs":{},"了":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"最":{"docs":{},"终":{"docs":{},"就":{"docs":{},"会":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"成":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"图":{"docs":{},"标":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"超":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"报":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"在":{"docs":{},"“":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"”":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"被":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"描":{"docs":{},"述":{"docs":{},"中":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"称":{"docs":{},"为":{"docs":{},"主":{"docs":{},"轴":{"docs":{},",":{"docs":{},"非":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"称":{"docs":{},"为":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"方":{"docs":{},"向":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"同":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"布":{"docs":{},"局":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"都":{"docs":{},"有":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"术":{"docs":{},"语":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"视":{"docs":{},"口":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"无":{"docs":{},"特":{"docs":{},"别":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"则":{"docs":{},"是":{"docs":{},"指":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"显":{"docs":{},"示":{"docs":{},"区":{"docs":{},"域":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"区":{"docs":{},"域":{"docs":{},"高":{"docs":{},"度":{"docs":{},"是":{"8":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"其":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"总":{"docs":{},"高":{"docs":{},"度":{"docs":{},"可":{"docs":{},"能":{"docs":{},"远":{"docs":{},"远":{"docs":{},"超":{"docs":{},"过":{"8":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"其":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"8":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"时":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"继":{"docs":{},"续":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"在":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},",":{"docs":{},"快":{"docs":{},"速":{"docs":{},"地":{"docs":{},"多":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"人":{"docs":{},"眼":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"暂":{"docs":{},"留":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"连":{"docs":{},"续":{"docs":{},"”":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"电":{"docs":{},"影":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"称":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"次":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"而":{"docs":{},"决":{"docs":{},"定":{"docs":{},"动":{"docs":{},"画":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"度":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"指":{"docs":{},"标":{"docs":{},"就":{"docs":{},"是":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"会":{"docs":{},"举":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}},"某":{"docs":{},"些":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"值":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"超":{"docs":{},"出":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"0":{"docs":{},".":{"0":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"要":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"战":{"docs":{},"中":{"docs":{},",":{"docs":{},"后":{"docs":{},"台":{"docs":{},"接":{"docs":{},"口":{"docs":{},"往":{"docs":{},"往":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"些":{"docs":{},"结":{"docs":{},"构":{"docs":{},"化":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"等":{"docs":{},",":{"docs":{},"如":{"docs":{},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"请":{"docs":{},"求":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"您":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"导":{"docs":{},"出":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"布":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"检":{"docs":{},"查":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"d":{"docs":{},"以":{"docs":{},"及":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},".":{"docs":{},"m":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"其":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"性":{"docs":{},"和":{"docs":{},"正":{"docs":{},"确":{"docs":{},"性":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"端":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"打":{"docs":{},"开":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"k":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"型":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"模":{"docs":{},"块":{"docs":{},"或":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"与":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"捆":{"docs":{},"绑":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"版":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"语":{"docs":{},"言":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"就":{"docs":{},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"通":{"docs":{},"常":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"就":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"依":{"docs":{},"次":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"加":{"docs":{},"载":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"某":{"docs":{},"一":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},"则":{"docs":{},"会":{"docs":{},"停":{"docs":{},"止":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"语":{"docs":{},"言":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"截":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"大":{"docs":{},"致":{"docs":{},"实":{"docs":{},"现":{"docs":{},"(":{"docs":{},"删":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},")":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"队":{"docs":{},"列":{"docs":{},"会":{"docs":{},"放":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"时":{"docs":{},"机":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"果":{"1":{"docs":{},"、":{"2":{"docs":{},"验":{"docs":{},"证":{"docs":{},"都":{"docs":{},"失":{"docs":{},"败":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"回":{"docs":{},"调":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"允":{"docs":{},"许":{"docs":{},"继":{"docs":{},"续":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"终":{"docs":{},"止":{"docs":{},"链":{"docs":{},"接":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{},"只":{"docs":{},"靠":{"docs":{},"我":{"docs":{},"一":{"docs":{},"个":{"docs":{},"人":{"docs":{},",":{"docs":{},"也":{"docs":{},"只":{"docs":{},"能":{"docs":{},"等":{"docs":{},"我":{"docs":{},"有":{"docs":{},"空":{"docs":{},"了":{"docs":{},"才":{"docs":{},"能":{"docs":{},"写":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"今":{"docs":{},"年":{"docs":{},"实":{"docs":{},"在":{"docs":{},"是":{"docs":{},"太":{"docs":{},"忙":{"docs":{},"了":{"docs":{},"!":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"加":{"docs":{},"快":{"docs":{},"进":{"docs":{},"度":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"大":{"docs":{},"家":{"docs":{},"一":{"docs":{},"起":{"docs":{},"来":{"docs":{},"写":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"已":{"docs":{},"经":{"docs":{},"开":{"docs":{},"源":{"docs":{},",":{"docs":{},"有":{"docs":{},"志":{"docs":{},"之":{"docs":{},"士":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"p":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"好":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"校":{"docs":{},"稿":{"docs":{},";":{"docs":{},"当":{"docs":{},"然":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"一":{"docs":{},"定":{"docs":{},"有":{"docs":{},"用":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"”":{"docs":{},"打":{"docs":{},"赏":{"docs":{},"“":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"大":{"docs":{},"红":{"docs":{},"包":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"作":{"docs":{},"者":{"docs":{},"拿":{"docs":{},"了":{"docs":{},"钱":{"docs":{},",":{"docs":{},"说":{"docs":{},"不":{"docs":{},"定":{"docs":{},"会":{"docs":{},"不":{"docs":{},"好":{"docs":{},"意":{"docs":{},"思":{"docs":{},"慢":{"docs":{},"慢":{"docs":{},"吞":{"docs":{},"吞":{"docs":{},"的":{"docs":{},"写":{"docs":{},",":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"是":{"docs":{},"收":{"docs":{},"了":{"docs":{},"钱":{"docs":{},"的":{"docs":{},",":{"docs":{},"哈":{"docs":{},"哈":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"只":{"docs":{},"是":{"docs":{},"外":{"docs":{},"观":{"docs":{},"风":{"docs":{},"格":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"如":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"如":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"、":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"节":{"docs":{},"点":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"等":{"docs":{},"导":{"docs":{},"致":{"docs":{},",":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"回":{"docs":{},"流":{"docs":{},"(":{"docs":{},"及":{"docs":{},"重":{"docs":{},"新":{"docs":{},"排":{"docs":{},"版":{"docs":{},"布":{"docs":{},"局":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"自":{"docs":{},"动":{"docs":{},"签":{"docs":{},"名":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"请":{"docs":{},"验":{"docs":{},"证":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"切":{"docs":{},"正":{"docs":{},"常":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{},"终":{"docs":{},"端":{"docs":{},"是":{"docs":{},"z":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"终":{"docs":{},"端":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},",":{"docs":{},"那":{"docs":{},"您":{"docs":{},"还":{"docs":{},"必":{"docs":{},"须":{"docs":{},"更":{"docs":{},"新":{"docs":{},"同":{"docs":{},"一":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"苹":{"docs":{},"果":{"docs":{},"官":{"docs":{},"方":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"已":{"docs":{},"经":{"docs":{},"自":{"docs":{},"动":{"docs":{},"启":{"docs":{},"用":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"自":{"docs":{},"带":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},")":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"以":{"docs":{},"下":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"输":{"docs":{},"出":{"docs":{},"太":{"docs":{},"多":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"有":{"docs":{},"时":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"一":{"docs":{},"些":{"docs":{},"日":{"docs":{},"志":{"docs":{},"行":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"包":{"docs":{},"发":{"docs":{},"布":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"先":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{},"因":{"docs":{},"为":{"docs":{},"众":{"docs":{},"所":{"docs":{},"周":{"docs":{},"知":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"网":{"docs":{},"络":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"v":{"docs":{},"p":{"docs":{},"n":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"理":{"docs":{},"只":{"docs":{},"会":{"docs":{},"代":{"docs":{},"理":{"docs":{},"部":{"docs":{},"分":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"如":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"代":{"docs":{},"理":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"开":{"docs":{},"了":{"docs":{},"代":{"docs":{},"理":{"docs":{},"也":{"docs":{},"依":{"docs":{},"然":{"docs":{},"无":{"docs":{},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"在":{"docs":{},"发":{"docs":{},"布":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"包":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"代":{"docs":{},"理":{"docs":{},"或":{"docs":{},"全":{"docs":{},"局":{"docs":{},"v":{"docs":{},"p":{"docs":{},"n":{"docs":{},"会":{"docs":{},"保":{"docs":{},"险":{"docs":{},"些":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"网":{"docs":{},"络":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"以":{"docs":{},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"权":{"docs":{},"限":{"docs":{},"(":{"docs":{},"s":{"docs":{},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{},")":{"docs":{},"运":{"docs":{},"行":{"docs":{},"发":{"docs":{},"布":{"docs":{},"命":{"docs":{},"令":{"docs":{},"重":{"docs":{},"试":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"去":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"查":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"安":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"否":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"网":{"docs":{},"上":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"一":{"docs":{},"下":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"会":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"。":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},",":{"docs":{},"包":{"docs":{},"本":{"docs":{},"身":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"上":{"docs":{},"例":{"docs":{},"所":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"同":{"docs":{},"时":{"docs":{},"监":{"docs":{},"听":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"斜":{"docs":{},"着":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"时":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},"?":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"移":{"docs":{},"动":{"docs":{},"时":{"docs":{},"两":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"移":{"docs":{},"分":{"docs":{},"量":{"docs":{},",":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"大":{"docs":{},",":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"在":{"docs":{},"本":{"docs":{},"次":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"中":{"docs":{},"就":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"直":{"docs":{},"译":{"docs":{},"为":{"docs":{},"“":{"docs":{},"竞":{"docs":{},"技":{"docs":{},"场":{"docs":{},"”":{"docs":{},"的":{"docs":{},"意":{"docs":{},"思":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"者":{"docs":{},"”":{"docs":{},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"发":{"docs":{},"生":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"都":{"docs":{},"要":{"docs":{},"在":{"docs":{},"“":{"docs":{},"竞":{"docs":{},"技":{"docs":{},"场":{"docs":{},"”":{"docs":{},"去":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"本":{"docs":{},"次":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"权":{"docs":{},",":{"docs":{},"而":{"docs":{},"最":{"docs":{},"终":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"者":{"docs":{},"”":{"docs":{},"会":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"现":{"docs":{},"在":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"这":{"docs":{},"个":{"docs":{},"子":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"父":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"会":{"docs":{},"动":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"只":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"动":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"时":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"而":{"docs":{},"获":{"docs":{},"得":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"权":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"安":{"docs":{},"装":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"想":{"docs":{},"让":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"继":{"docs":{},"承":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"以":{"docs":{},"渐":{"docs":{},"隐":{"docs":{},"渐":{"docs":{},"入":{"docs":{},"动":{"docs":{},"画":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"路":{"docs":{},"由":{"docs":{},"过":{"docs":{},"渡":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"条":{"docs":{},"目":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"用":{"docs":{},"户":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"个":{"docs":{},"失":{"docs":{},"败":{"docs":{},"并":{"docs":{},"出":{"docs":{},"现":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"请":{"docs":{},"运":{"docs":{},"行":{"docs":{},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"出":{"docs":{},"现":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"其":{"docs":{},"它":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"时":{"docs":{},",":{"docs":{},"必":{"docs":{},"然":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"套":{"docs":{},"回":{"docs":{},"调":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"现":{"docs":{},"在":{"docs":{},"有":{"docs":{},"个":{"docs":{},"需":{"docs":{},"求":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"先":{"docs":{},"登":{"docs":{},"录":{"docs":{},",":{"docs":{},"登":{"docs":{},"录":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"会":{"docs":{},"获":{"docs":{},"得":{"docs":{},"用":{"docs":{},"户":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"用":{"docs":{},"户":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"再":{"docs":{},"去":{"docs":{},"请":{"docs":{},"求":{"docs":{},"用":{"docs":{},"户":{"docs":{},"个":{"docs":{},"人":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"个":{"docs":{},"人":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"其":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"发":{"docs":{},"生":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"中":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"您":{"docs":{},"从":{"docs":{},"未":{"docs":{},"打":{"docs":{},"算":{"docs":{},"更":{"docs":{},"改":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"还":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"您":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"标":{"docs":{},"签":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"请":{"docs":{},"确":{"docs":{},"保":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"尝":{"docs":{},"试":{"docs":{},"调":{"docs":{},"试":{"docs":{},"合":{"docs":{},"成":{"docs":{},"图":{"docs":{},"层":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"以":{"docs":{},"及":{"docs":{},"在":{"docs":{},"何":{"docs":{},"处":{"docs":{},"添":{"docs":{},"加":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"层":{"docs":{},"的":{"docs":{},"树":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"够":{"docs":{},"详":{"docs":{},"细":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"转":{"docs":{},"储":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"按":{"docs":{},"照":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"链":{"docs":{},"继":{"docs":{},"续":{"docs":{},"往":{"docs":{},"下":{"docs":{},"查":{"docs":{},"看":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"影":{"docs":{},"响":{"docs":{},"其":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"框":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"将":{"docs":{},"信":{"docs":{},"息":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"转":{"docs":{},"储":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"将":{"docs":{},"父":{"docs":{},"类":{"docs":{},"状":{"docs":{},"态":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"而":{"docs":{},"做":{"docs":{},"这":{"docs":{},"一":{"docs":{},"套":{"docs":{},"传":{"docs":{},"递":{"docs":{},"机":{"docs":{},"制":{"docs":{},"是":{"docs":{},"无":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"父":{"docs":{},"子":{"docs":{},"类":{"docs":{},"之":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"和":{"docs":{},"子":{"docs":{},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"是":{"docs":{},"无":{"docs":{},"关":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"占":{"docs":{},"满":{"docs":{},"外":{"docs":{},"部":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"路":{"docs":{},"由":{"docs":{},"提":{"docs":{},"前":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"动":{"docs":{},"态":{"docs":{},"修":{"docs":{},"改":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"包":{"docs":{},"名":{"docs":{},"为":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"1":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"方":{"docs":{},"式":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"包":{"docs":{},",":{"docs":{},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"该":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"本":{"docs":{},"身":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"某":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"包":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"“":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"”":{"docs":{},"它":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"每":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},"设":{"docs":{},"置":{"docs":{},"“":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"”":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"本":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"类":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"实":{"docs":{},"现":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"库":{"docs":{},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"本":{"docs":{},"文":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"修":{"docs":{},"改":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"和":{"docs":{},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"都":{"docs":{},"会":{"docs":{},"变":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"高":{"docs":{},"兴":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"主":{"docs":{},"题":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"主":{"docs":{},"题":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"可":{"docs":{},"以":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"。":{"docs":{},"显":{"docs":{},"然":{"docs":{},",":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"很":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},",":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"的":{"docs":{},"配":{"docs":{},"合":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"同":{"docs":{},"步":{"docs":{},"切":{"docs":{},"换":{"docs":{},"和":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"状":{"docs":{},"态":{"docs":{},"同":{"docs":{},"步":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"现":{"docs":{},"有":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"跑":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"还":{"docs":{},"是":{"docs":{},"得":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"”":{"docs":{},"适":{"docs":{},"配":{"docs":{},"器":{"docs":{},"“":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"将":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"结":{"docs":{},"合":{"docs":{},"到":{"docs":{},"现":{"docs":{},"有":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"就":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"”":{"docs":{},"适":{"docs":{},"配":{"docs":{},"器":{"docs":{},"“":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}},"未":{"docs":{},"在":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"图":{"docs":{},"中":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"三":{"docs":{},"条":{"docs":{},"线":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"您":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"频":{"docs":{},"率":{"docs":{},"低":{"docs":{},"于":{"6":{"0":{"docs":{},"h":{"docs":{},"z":{"docs":{},"。":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"代":{"docs":{},"表":{"docs":{},"帧":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"则":{"docs":{},"最":{"docs":{},"好":{"docs":{},"由":{"docs":{},"它":{"docs":{},"们":{"docs":{},"共":{"docs":{},"同":{"docs":{},"的":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"是":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"生":{"docs":{},"效":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"中":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"某":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"应":{"docs":{},"用":{"docs":{},"将":{"docs":{},"会":{"docs":{},"加":{"docs":{},"载":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},")":{"docs":{},"中":{"docs":{},"的":{"docs":{},"相":{"docs":{},"应":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"的":{"docs":{},"托":{"docs":{},"底":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"有":{"docs":{},"关":{"docs":{},"界":{"docs":{},"面":{"docs":{},"外":{"docs":{},"观":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"状":{"docs":{},"态":{"docs":{},"最":{"docs":{},"好":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"的":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"滑":{"docs":{},"块":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"状":{"docs":{},"态":{"docs":{},"最":{"docs":{},"好":{"docs":{},"由":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"里":{"docs":{},"面":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"里":{"docs":{},"面":{"docs":{},"再":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"只":{"docs":{},"有":{"docs":{},"对":{"docs":{},"最":{"docs":{},"外":{"docs":{},"面":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"会":{"docs":{},"占":{"docs":{},"用":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"以":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"为":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"将":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"(":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{},"截":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"值":{"docs":{},"改":{"docs":{},"为":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"只":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"1":{"docs":{},"\"":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"并":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"精":{"docs":{},"确":{"docs":{},"进":{"docs":{},"度":{"docs":{},"时":{"docs":{},"对":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"应":{"docs":{},"用":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"(":{"docs":{},"其":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"并":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"都":{"docs":{},"会":{"docs":{},"将":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"端":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"角":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"起":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"偏":{"docs":{},"离":{"docs":{},"起":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},"凭":{"docs":{},"据":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"或":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"等":{"docs":{},"可":{"docs":{},"以":{"docs":{},"携":{"docs":{},"带":{"docs":{},"请":{"docs":{},"求":{"docs":{},"体":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"发":{"docs":{},"送":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"验":{"docs":{},"证":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"在":{"docs":{},"信":{"docs":{},"任":{"docs":{},"链":{"docs":{},"中":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"则":{"docs":{},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"证":{"docs":{},"书":{"docs":{},"是":{"docs":{},"可":{"docs":{},"信":{"docs":{},"c":{"docs":{},"a":{"docs":{},"颁":{"docs":{},"发":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"访":{"docs":{},"问":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"符":{"docs":{},"合":{"docs":{},"通":{"docs":{},"配":{"docs":{},"规":{"docs":{},"则":{"docs":{},")":{"docs":{},"并":{"docs":{},"且":{"docs":{},"证":{"docs":{},"书":{"docs":{},"未":{"docs":{},"过":{"docs":{},"期":{"docs":{},",":{"docs":{},"则":{"docs":{},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"过":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"判":{"docs":{},"断":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"命":{"docs":{},"名":{"docs":{},"策":{"docs":{},"略":{"docs":{},"也":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"正":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"返":{"docs":{},"回":{"docs":{},"带":{"docs":{},"有":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"反":{"docs":{},"向":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"作":{"docs":{},"为":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"则":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"会":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"设":{"docs":{},"为":{"docs":{},"“":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"以":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"“":{"docs":{},"_":{"docs":{},"”":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"此":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"版":{"docs":{},"本":{"docs":{},"像":{"docs":{},"’":{"0":{"docs":{},".":{"4":{"docs":{},".":{"5":{"docs":{},"’":{"docs":{},"或":{"docs":{},"’":{"docs":{},"^":{"0":{"docs":{},".":{"4":{"docs":{},".":{"0":{"docs":{},"’":{"docs":{},",":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"将":{"docs":{},"能":{"docs":{},"够":{"docs":{},"自":{"docs":{},"动":{"docs":{},"解":{"docs":{},"决":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"冲":{"docs":{},"突":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"的":{"docs":{},"库":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"重":{"docs":{},"写":{"docs":{},"声":{"docs":{},"明":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"构":{"docs":{},"建":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"表":{"docs":{},"示":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"未":{"docs":{},"能":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"之":{"docs":{},"前":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"先":{"docs":{},"判":{"docs":{},"空":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"将":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"区":{"docs":{},"域":{"docs":{},"设":{"docs":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"则":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"或":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"复":{"docs":{},"用":{"docs":{},"元":{"docs":{},"素":{"docs":{},")":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"会":{"docs":{},"先":{"docs":{},"将":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"从":{"docs":{},"现":{"docs":{},"有":{"docs":{},"位":{"docs":{},"置":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"重":{"docs":{},"新":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"层":{"docs":{},",":{"docs":{},"单":{"docs":{},"靠":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"层":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"起":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"?":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"以":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"子":{"docs":{},"?":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"未":{"docs":{},"超":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"则":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"到":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"也":{"docs":{},"没":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"便":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"自":{"docs":{},"身":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"没":{"docs":{},"有":{"docs":{},"其":{"docs":{},"它":{"docs":{},"节":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"它":{"docs":{},"除":{"docs":{},"了":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"可":{"docs":{},"以":{"docs":{},"访":{"docs":{},"问":{"docs":{},"平":{"docs":{},"台":{"docs":{},"所":{"docs":{},"有":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"h":{"5":{"docs":{},"代":{"docs":{},"码":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"实":{"docs":{},"质":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"内":{"docs":{},"核":{"docs":{},",":{"docs":{},"其":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"依":{"docs":{},"然":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"权":{"docs":{},"限":{"docs":{},"受":{"docs":{},"限":{"docs":{},"的":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"力":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"访":{"docs":{},"问":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"如":{"docs":{},"无":{"docs":{},"法":{"docs":{},"访":{"docs":{},"问":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"、":{"docs":{},"不":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"蓝":{"docs":{},"牙":{"docs":{},"等":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"h":{"5":{"docs":{},"不":{"docs":{},"能":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"原":{"docs":{},"生":{"docs":{},"去":{"docs":{},"做":{"docs":{},"。":{"docs":{},"而":{"docs":{},"混":{"docs":{},"合":{"docs":{},"框":{"docs":{},"架":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"预":{"docs":{},"先":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"些":{"docs":{},"访":{"docs":{},"问":{"docs":{},"系":{"docs":{},"统":{"docs":{},"能":{"docs":{},"力":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"何":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"管":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"?":{"docs":{},"以":{"docs":{},"下":{"docs":{},"原":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"你":{"docs":{},"决":{"docs":{},"定":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"我":{"docs":{},"们":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"了":{"docs":{},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"对":{"docs":{},"于":{"docs":{},"海":{"docs":{},"量":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"很":{"docs":{},"难":{"docs":{},"去":{"docs":{},"全":{"docs":{},"部":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"。":{"docs":{},"而":{"docs":{},"那":{"docs":{},"时":{"docs":{},",":{"docs":{},"电":{"docs":{},"子":{"docs":{},"工":{"docs":{},"业":{"docs":{},"出":{"docs":{},"版":{"docs":{},"社":{"docs":{},"正":{"docs":{},"好":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"我":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"我":{"docs":{},"能":{"docs":{},"写":{"docs":{},"一":{"docs":{},"本":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"战":{"docs":{},"类":{"docs":{},"的":{"docs":{},"书":{"docs":{},"籍":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"运":{"docs":{},"行":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},"的":{"docs":{},"盒":{"docs":{},"子":{"docs":{},",":{"docs":{},"不":{"docs":{},"指":{"docs":{},"定":{"docs":{},"它":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"再":{"docs":{},"单":{"docs":{},"独":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"一":{"docs":{},"下":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}},"在":{"docs":{},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"“":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"”":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},",":{"docs":{},"做":{"docs":{},"如":{"docs":{},"下":{"docs":{},"修":{"docs":{},"改":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{},"“":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"讲":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"机":{"docs":{},"制":{"docs":{},"和":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"其":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"后":{"docs":{},"就":{"docs":{},"会":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"注":{"docs":{},"册":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"才":{"docs":{},"能":{"docs":{},"正":{"docs":{},"确":{"docs":{},"处":{"docs":{},"理":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"。":{"docs":{},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"式":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"到":{"docs":{},"之":{"docs":{},"前":{"docs":{},"“":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"”":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"时":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"图":{"docs":{},"片":{"docs":{},"放":{"docs":{},"大":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"为":{"docs":{},"先":{"docs":{},"放":{"docs":{},"大":{"docs":{},"再":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"再":{"docs":{},"放":{"docs":{},"大":{"docs":{},"…":{"docs":{},"…":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"循":{"docs":{},"环":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"反":{"docs":{},"转":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"再":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"来":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},"“":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"”":{"docs":{},"包":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"是":{"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"里":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"默":{"docs":{},"认":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},"看":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"下":{"docs":{},"之":{"docs":{},"前":{"docs":{},"“":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"”":{"docs":{},"示":{"docs":{},"例":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"演":{"docs":{},"示":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"的":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"部":{"docs":{},"分":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"分":{"docs":{},"别":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"行":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"上":{"docs":{},"报":{"docs":{},"的":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"打":{"docs":{},"印":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"刚":{"docs":{},"开":{"docs":{},"始":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"移":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"手":{"docs":{},"势":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"打":{"docs":{},"印":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{},"而":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"会":{"docs":{},"胜":{"docs":{},"出":{"docs":{},",":{"docs":{},"当":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"前":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"和":{"docs":{},"上":{"docs":{},"报":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"从":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"时":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"会":{"docs":{},"依":{"docs":{},"次":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"参":{"docs":{},"数":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"也":{"docs":{},"都":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"如":{"docs":{},"有":{"docs":{},"疑":{"docs":{},"惑":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"翻":{"docs":{},"阅":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"一":{"docs":{},"节":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"的":{"docs":{},"是":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"控":{"docs":{},"制":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"排":{"docs":{},"列":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},")":{"docs":{},"中":{"docs":{},"也":{"docs":{},"有":{"docs":{},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"意":{"docs":{},"义":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"再":{"docs":{},"重":{"docs":{},"复":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"前":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},")":{"docs":{},"除":{"docs":{},"了":{"docs":{},"超":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"范":{"docs":{},"围":{"docs":{},"后":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"会":{"docs":{},"折":{"docs":{},"行":{"docs":{},"外":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"行":{"docs":{},"为":{"docs":{},"基":{"docs":{},"本":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"特":{"docs":{},"有":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},",":{"docs":{},"如":{"docs":{},"本":{"docs":{},"节":{"docs":{},"开":{"docs":{},"始":{"docs":{},"示":{"docs":{},"例":{"docs":{},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"两":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"代":{"docs":{},"码":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"呢":{"docs":{},"?":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"被":{"docs":{},"几":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"帧":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"解":{"docs":{},"码":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"或":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"签":{"docs":{},"名":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"并":{"docs":{},"打":{"docs":{},"开":{"docs":{},"该":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"在":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"打":{"docs":{},"开":{"docs":{},"后":{"docs":{},",":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"中":{"docs":{},"央":{"docs":{},"就":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"字":{"0":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"。":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"上":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"素":{"docs":{},"材":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"自":{"docs":{},"己":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"图":{"docs":{},"标":{"docs":{},"打":{"docs":{},"包":{"docs":{},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"些":{"docs":{},"不":{"docs":{},"同":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{},"格":{"docs":{},"式":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},"上":{"docs":{},"面":{"docs":{},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"在":{"docs":{},"提":{"docs":{},"交":{"docs":{},"之":{"docs":{},"前":{"docs":{},"校":{"docs":{},"验":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"和":{"docs":{},"提":{"docs":{},"问":{"docs":{},"文":{"docs":{},"字":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"后":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"在":{"docs":{},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"不":{"docs":{},"会":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"显":{"docs":{},"示":{"docs":{},"了":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"\"":{"docs":{},"本":{"docs":{},"应":{"docs":{},"该":{"docs":{},"显":{"docs":{},"示":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"但":{"docs":{},"现":{"docs":{},"在":{"docs":{},"却":{"docs":{},"显":{"docs":{},"示":{"docs":{},"为":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"定":{"docs":{},"义":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"。":{"docs":{},"另":{"docs":{},"一":{"docs":{},"种":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"掉":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"去":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"定":{"docs":{},"义":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"很":{"docs":{},"少":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"其":{"docs":{},"过":{"docs":{},"于":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"转":{"docs":{},"换":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"的":{"docs":{},"是":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"是":{"docs":{},"否":{"docs":{},"满":{"docs":{},"足":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"布":{"docs":{},"局":{"docs":{},"策":{"docs":{},"略":{"docs":{},"或":{"docs":{},"性":{"docs":{},"能":{"docs":{},"要":{"docs":{},"求":{"docs":{},"较":{"docs":{},"高":{"docs":{},"(":{"docs":{},"如":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},")":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"优":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"六":{"docs":{},"个":{"docs":{},"色":{"docs":{},"块":{"docs":{},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}},"给":{"docs":{},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"三":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"调":{"docs":{},"整":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"小":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"5":{"0":{"docs":{},",":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{},"的":{"docs":{},"红":{"docs":{},"色":{"docs":{},"容":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"换":{"docs":{},"肤":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},"的":{"docs":{},"卡":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"对":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"进":{"docs":{},"行":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"相":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"增":{"docs":{},"大":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"将":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"2":{"0":{"0":{"docs":{},"×":{"1":{"0":{"0":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"图":{"docs":{},"片":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"放":{"docs":{},"大":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"结":{"docs":{},"构":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"流":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"在":{"docs":{},"读":{"docs":{},"取":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"编":{"docs":{},"码":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"是":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{},"粹":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"该":{"docs":{},"页":{"docs":{},"面":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"是":{"1":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"照":{"docs":{},"之":{"docs":{},"前":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"写":{"docs":{},"出":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"当":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"超":{"docs":{},"过":{"docs":{},"则":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"到":{"docs":{},"初":{"docs":{},"始":{"docs":{},"位":{"docs":{},"置":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"则":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"另":{"docs":{},"外":{"docs":{},"三":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"识":{"docs":{},"别":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"“":{"docs":{},"获":{"docs":{},"胜":{"docs":{},"”":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"到":{"docs":{},"当":{"docs":{},"次":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"结":{"docs":{},"束":{"docs":{},"都":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"该":{"docs":{},"方":{"docs":{},"向":{"docs":{},"移":{"docs":{},"动":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{},"一":{"docs":{},"是":{"docs":{},"只":{"docs":{},"能":{"docs":{},"将":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"以":{"9":{"0":{"docs":{},"度":{"docs":{},"的":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"旋":{"docs":{},"转":{"docs":{},",":{"docs":{},"二":{"docs":{},"是":{"docs":{},"当":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"角":{"docs":{},"度":{"docs":{},"更":{"docs":{},"新":{"docs":{},"过":{"docs":{},"程":{"docs":{},"没":{"docs":{},"有":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"它":{"docs":{},"们":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"协":{"docs":{},"议":{"docs":{},"还":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"m":{"docs":{},"t":{"docs":{},"p":{"docs":{},"、":{"docs":{},"f":{"docs":{},"t":{"docs":{},"p":{"docs":{},"等":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"是":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"c":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"端":{"docs":{},"到":{"docs":{},"端":{"docs":{},"建":{"docs":{},"立":{"docs":{},"链":{"docs":{},"接":{"docs":{},"和":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"而":{"docs":{},"高":{"docs":{},"级":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"其":{"docs":{},"实":{"docs":{},"都":{"docs":{},"是":{"docs":{},"对":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"以":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"退":{"docs":{},"出":{"docs":{},"重":{"docs":{},"启":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"何":{"docs":{},"收":{"docs":{},"取":{"docs":{},"消":{"docs":{},"息":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"它":{"docs":{},"们":{"docs":{},"?":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"美":{"docs":{},"元":{"docs":{},"符":{"docs":{},"“":{"docs":{},"$":{"docs":{},"”":{"docs":{},"作":{"docs":{},"为":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"与":{"docs":{},"内":{"docs":{},"容":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"常":{"docs":{},"量":{"docs":{},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},")":{"docs":{},",":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"在":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},"后":{"docs":{},"会":{"docs":{},"先":{"docs":{},"把":{"docs":{},"相":{"docs":{},"应":{"docs":{},"字":{"docs":{},"段":{"docs":{},"转":{"docs":{},"为":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"或":{"docs":{},"对":{"docs":{},"象":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"数":{"docs":{},"组":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"标":{"docs":{},"志":{"docs":{},"符":{"docs":{},"后":{"docs":{},"面":{"docs":{},"添":{"docs":{},"加":{"docs":{},"数":{"docs":{},"组":{"docs":{},"符":{"docs":{},"“":{"docs":{},"[":{"docs":{},"]":{"docs":{},"”":{"docs":{},",":{"docs":{},"符":{"docs":{},"号":{"docs":{},"后":{"docs":{},"面":{"docs":{},"接":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"名":{"docs":{},",":{"docs":{},"此":{"docs":{},"例":{"docs":{},"中":{"docs":{},"是":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"其":{"docs":{},"它":{"docs":{},"类":{"docs":{},"型":{"docs":{},"同":{"docs":{},"理":{"docs":{},",":{"docs":{},"加":{"docs":{},"入":{"docs":{},"我":{"docs":{},"们":{"docs":{},"给":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"在":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"状":{"docs":{},"态":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"内":{"docs":{},"容":{"docs":{},"修":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"在":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"前":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"“":{"docs":{},"域":{"docs":{},"名":{"docs":{},"前":{"docs":{},"缀":{"docs":{},"”":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"始":{"docs":{},"终":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"区":{"docs":{},"域":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"知":{"docs":{},"道":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"本":{"docs":{},":":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"深":{"docs":{},"入":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"些":{"docs":{},"。":{"docs":{},"与":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"该":{"docs":{},"字":{"docs":{},"段":{"docs":{},"的":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"给":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},"看":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"不":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"\"":{"docs":{},"@":{"docs":{},"@":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"字":{"docs":{},"段":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"这":{"docs":{},"个":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"是":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"的":{"docs":{},"翻":{"docs":{},"译":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"正":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"题":{"docs":{},"的":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"。":{"docs":{},"@":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},"是":{"docs":{},"对":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"再":{"docs":{},"说":{"docs":{},"一":{"docs":{},"下":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"本":{"docs":{},"书":{"docs":{},"要":{"docs":{},"开":{"docs":{},"源":{"docs":{},"。":{"docs":{},"既":{"docs":{},"然":{"docs":{},"是":{"docs":{},"电":{"docs":{},"子":{"docs":{},"工":{"docs":{},"业":{"docs":{},"出":{"docs":{},"版":{"docs":{},"社":{"docs":{},"约":{"docs":{},"的":{"docs":{},"稿":{"docs":{},",":{"docs":{},"就":{"docs":{},"这":{"docs":{},"么":{"docs":{},"公":{"docs":{},"开":{"docs":{},",":{"docs":{},"难":{"docs":{},"道":{"docs":{},"将":{"docs":{},"来":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"冲":{"docs":{},"击":{"docs":{},"实":{"docs":{},"体":{"docs":{},"书":{"docs":{},"的":{"docs":{},"销":{"docs":{},"量":{"docs":{},"?":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"我":{"docs":{},"是":{"docs":{},"仔":{"docs":{},"细":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"过":{"docs":{},"的":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"写":{"docs":{},"过":{"docs":{},"书":{"docs":{},"的":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"都":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"写":{"docs":{},"技":{"docs":{},"术":{"docs":{},"书":{"docs":{},"是":{"docs":{},"不":{"docs":{},"赚":{"docs":{},"钱":{"docs":{},"的":{"docs":{},",":{"docs":{},"能":{"docs":{},"收":{"docs":{},"获":{"docs":{},"的":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"点":{"docs":{},"点":{"docs":{},"名":{"docs":{},"气":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"吧":{"docs":{},"却":{"docs":{},"只":{"docs":{},"喜":{"docs":{},"欢":{"docs":{},"钱":{"docs":{},",":{"docs":{},"既":{"docs":{},"然":{"docs":{},"赚":{"docs":{},"不":{"docs":{},"到":{"docs":{},"钱":{"docs":{},",":{"docs":{},"那":{"docs":{},"何":{"docs":{},"不":{"docs":{},"直":{"docs":{},"接":{"docs":{},"公":{"docs":{},"开":{"docs":{},"得":{"docs":{},"了":{"docs":{},"…":{"docs":{},"当":{"docs":{},"然":{"docs":{},"还":{"docs":{},"有":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{},"原":{"docs":{},"因":{"docs":{},"就":{"docs":{},"是":{"docs":{},"要":{"docs":{},"做":{"docs":{},"实":{"docs":{},"体":{"docs":{},"书":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"和":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"校":{"docs":{},"稿":{"docs":{},"会":{"docs":{},"花":{"docs":{},"费":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"可":{"docs":{},"是":{"docs":{},"我":{"docs":{},"实":{"docs":{},"在":{"docs":{},"是":{"docs":{},"没":{"docs":{},"时":{"docs":{},"间":{"docs":{},"了":{"docs":{},",":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"放":{"docs":{},"弃":{"docs":{},"实":{"docs":{},"体":{"docs":{},"书":{"docs":{},"出":{"docs":{},"版":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"本":{"docs":{},"书":{"docs":{},"最":{"docs":{},"后":{"docs":{},"因":{"docs":{},"不":{"docs":{},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"出":{"docs":{},"版":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"大":{"docs":{},"家":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"开":{"docs":{},"源":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"发":{"docs":{},"现":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"点":{"docs":{},"击":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"的":{"docs":{},"”":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"“":{"docs":{},",":{"docs":{},"提":{"docs":{},"p":{"docs":{},"r":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"想":{"docs":{},"一":{"docs":{},"起":{"docs":{},"参":{"docs":{},"与":{"docs":{},"本":{"docs":{},"书":{"docs":{},"创":{"docs":{},"作":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"《":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"战":{"docs":{},"》":{"docs":{},"贡":{"docs":{},"献":{"docs":{},"指":{"docs":{},"南":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"识":{"docs":{},"是":{"docs":{},"应":{"docs":{},"该":{"docs":{},"付":{"docs":{},"费":{"docs":{},"的":{"docs":{},",":{"docs":{},"创":{"docs":{},"作":{"docs":{},"不":{"docs":{},"易":{"docs":{},",":{"docs":{},"开":{"docs":{},"源":{"docs":{},"不":{"docs":{},"等":{"docs":{},"于":{"docs":{},"免":{"docs":{},"费":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"是":{"docs":{},"本":{"docs":{},"书":{"docs":{},"读":{"docs":{},"者":{"docs":{},"并":{"docs":{},"手":{"docs":{},"头":{"docs":{},"宽":{"docs":{},"裕":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"面":{"docs":{},"打":{"docs":{},"赏":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"打":{"docs":{},"赏":{"docs":{},";":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"囊":{"docs":{},"中":{"docs":{},"羞":{"docs":{},"涩":{"docs":{},",":{"docs":{},"您":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"本":{"docs":{},"书":{"docs":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"对":{"docs":{},"您":{"docs":{},"有":{"docs":{},"个":{"docs":{},"小":{"docs":{},"小":{"docs":{},"的":{"docs":{},"要":{"docs":{},"求":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"您":{"docs":{},"在":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"能":{"docs":{},"积":{"docs":{},"极":{"docs":{},"参":{"docs":{},"与":{"docs":{},"到":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"docs":{},"纠":{"docs":{},"错":{"docs":{},"以":{"docs":{},"及":{"docs":{},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"创":{"docs":{},"作":{"docs":{},"上":{"docs":{},"来":{"docs":{},",":{"docs":{},"也":{"docs":{},"算":{"docs":{},"是":{"docs":{},"有":{"docs":{},"所":{"docs":{},"付":{"docs":{},"出":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"每":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"就":{"docs":{},"将":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"自":{"docs":{},"增":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"创":{"docs":{},"建":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"小":{"docs":{},"字":{"docs":{},"体":{"docs":{},"显":{"docs":{},"示":{"docs":{},"电":{"docs":{},"池":{"docs":{},"状":{"docs":{},"态":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"值":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"前":{"docs":{},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"平":{"docs":{},"台":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"为":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"判":{"docs":{},"断":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"为":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"步":{"docs":{},":":{"docs":{},"添":{"docs":{},"加":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"再":{"docs":{},"次":{"docs":{},"松":{"docs":{},"开":{"docs":{},"约":{"docs":{},"束":{"docs":{},",":{"docs":{},"这":{"docs":{},"次":{"docs":{},"是":{"docs":{},"将":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"中":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"居":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"只":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"次":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"更":{"docs":{},"改":{"docs":{},"它":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"将":{"docs":{},"其":{"docs":{},"值":{"docs":{},"减":{"docs":{},"小":{"docs":{},",":{"docs":{},"则":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"观":{"docs":{},"察":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"倒":{"docs":{},"退":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"断":{"docs":{},"言":{"docs":{},"并":{"docs":{},"且":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"干":{"docs":{},"扰":{"docs":{},"您":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"是":{"docs":{},"宽":{"9":{"0":{"docs":{},",":{"docs":{},"高":{"6":{"0":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"是":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"是":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{},"单":{"docs":{},"凭":{"docs":{},"这":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"总":{"docs":{},"结":{"docs":{},"不":{"docs":{},"出":{"docs":{},"什":{"docs":{},"么":{"docs":{},"规":{"docs":{},"律":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"父":{"docs":{},"子":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},"换":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"9":{"0":{"docs":{},",":{"docs":{},"高":{"6":{"0":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"意":{"docs":{},"义":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"此":{"docs":{},"时":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},"是":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"是":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"目":{"docs":{},"前":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"官":{"docs":{},"网":{"docs":{},"日":{"docs":{},"p":{"docs":{},"v":{"docs":{},"在":{"5":{"docs":{},"w":{"docs":{},"左":{"docs":{},"右":{"docs":{},",":{"docs":{},"每":{"docs":{},"日":{"docs":{},"独":{"docs":{},"立":{"docs":{},"访":{"docs":{},"问":{"docs":{},"人":{"docs":{},"数":{"8":{"0":{"0":{"0":{"docs":{},"多":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"运":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"静":{"docs":{},"态":{"docs":{},"编":{"docs":{},"译":{"docs":{},"与":{"docs":{},"动":{"docs":{},"态":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{},"静":{"docs":{},"态":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"前":{"docs":{},"全":{"docs":{},"部":{"docs":{},"被":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"为":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"称":{"docs":{},"为":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"典":{"docs":{},"型":{"docs":{},"代":{"docs":{},"表":{"docs":{},"有":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"录":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"缘":{"docs":{},"起":{"docs":{"./":{"ref":"./","tf":10.071428571428571}}}},"自":{"docs":{},"今":{"docs":{},"年":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"建":{"docs":{},"立":{"docs":{},"官":{"docs":{},"方":{"docs":{},"账":{"docs":{},"号":{"docs":{},"以":{"docs":{},"来":{"docs":{},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"开":{"docs":{},"源":{"docs":{},"了":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"等":{"docs":{},"多":{"docs":{},"个":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"在":{"docs":{},"开":{"docs":{},"源":{"docs":{},"两":{"docs":{},"周":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"迅":{"docs":{},"速":{"docs":{},"成":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"包":{"docs":{},"中":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"排":{"docs":{},"名":{"docs":{},"第":{"docs":{},"一":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"库":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}},"u":{"docs":{},"i":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"(":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"非":{"docs":{},"常":{"docs":{},"强":{"docs":{},"大":{"docs":{},",":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"任":{"docs":{},"何":{"2":{"docs":{},"d":{"docs":{},"图":{"docs":{},"形":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"被":{"docs":{},"封":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},"了":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"具":{"docs":{},"有":{"docs":{},"外":{"docs":{},"观":{"docs":{},"样":{"docs":{},"式":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"找":{"docs":{},"到":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"外":{"docs":{},"观":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"样":{"docs":{},"式":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/":{"ref":"chapter13/","tf":10}},"方":{"docs":{},"法":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":10.043478260869565}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}},"路":{"docs":{},"由":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":10}}}}}},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"和":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}},"动":{"docs":{},"化":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"做":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"已":{"docs":{},"经":{"docs":{},"够":{"docs":{},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"仍":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"很":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"去":{"docs":{},"做":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"时":{"docs":{},"间":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"被":{"docs":{},"搁":{"docs":{},"置":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"定":{"docs":{},"义":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"样":{"docs":{},"式":{"docs":{},"如":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"默":{"docs":{},"认":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"及":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"都":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"没":{"docs":{},"有":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"应":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"无":{"docs":{},"需":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"类":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"起":{"docs":{},"来":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"读":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"继":{"docs":{},"承":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"了":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"想":{"docs":{},"在":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"时":{"docs":{},"应":{"docs":{},"用":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"返":{"docs":{},"回":{"docs":{},"时":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"非":{"docs":{},"常":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"每":{"docs":{},"次":{"docs":{},"在":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"中":{"docs":{},"进":{"docs":{},"行":{"docs":{},"更":{"docs":{},"改":{"docs":{},"时":{"docs":{},"都":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"运":{"docs":{},"行":{"docs":{},"构":{"docs":{},"建":{"docs":{},"命":{"docs":{},"令":{"docs":{},"的":{"docs":{},"话":{"docs":{},"会":{"docs":{},"更":{"docs":{},"好":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"想":{"docs":{},"法":{"docs":{},"听":{"docs":{},"起":{"docs":{},"来":{"docs":{},"不":{"docs":{},"错":{"docs":{},",":{"docs":{},"书":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"就":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"系":{"docs":{},"统":{"docs":{},"性":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"门":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"我":{"docs":{},"平":{"docs":{},"时":{"docs":{},"工":{"docs":{},"作":{"docs":{},"太":{"docs":{},"忙":{"docs":{},",":{"docs":{},"周":{"docs":{},"末":{"docs":{},"时":{"docs":{},"间":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"花":{"docs":{},"费":{"docs":{},"在":{"docs":{},"维":{"docs":{},"护":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"和":{"docs":{},"开":{"docs":{},"源":{"docs":{},"项":{"docs":{},"目":{"docs":{},"上":{"docs":{},"了":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"此":{"docs":{},"事":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"推":{"docs":{},"迟":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"到":{"docs":{},"今":{"docs":{},"天":{"docs":{},",":{"docs":{},"你":{"docs":{},"现":{"docs":{},"在":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"不":{"docs":{},"是":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"目":{"docs":{},"录":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"都":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"写":{"docs":{},",":{"docs":{},"那":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"能":{"docs":{},"写":{"docs":{},"完":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"次":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},"条":{"docs":{},"件":{"docs":{},"在":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"只":{"docs":{},"需":{"docs":{},"调":{"docs":{},"用":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"前":{"docs":{},"一":{"docs":{},"步":{"docs":{},"中":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"错":{"docs":{},"误":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"未":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"返":{"docs":{},"回":{"docs":{},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"未":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"返":{"docs":{},"回":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},"会":{"docs":{},"经":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"现":{"docs":{},"在":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"该":{"docs":{},"文":{"docs":{},"件":{"docs":{},"同":{"docs":{},"级":{"docs":{},"目":{"docs":{},"录":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"z":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"z":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"将":{"docs":{},"英":{"docs":{},"文":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"为":{"docs":{},"中":{"docs":{},"文":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"z":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"最":{"docs":{},"终":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"后":{"docs":{},"的":{"docs":{},"像":{"docs":{},"素":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"画":{"docs":{},"好":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"传":{"docs":{},"给":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"信":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"框":{"docs":{},"架":{"docs":{},"主":{"docs":{},"要":{"docs":{},"原":{"docs":{},"理":{"docs":{},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"需":{"docs":{},"要":{"docs":{},"动":{"docs":{},"态":{"docs":{},"变":{"docs":{},"动":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"5":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"原":{"docs":{},"生":{"docs":{},"的":{"docs":{},"网":{"docs":{},"页":{"docs":{},"加":{"docs":{},"载":{"docs":{},"控":{"docs":{},"件":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"有":{"docs":{},"意":{"docs":{},"思":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"很":{"docs":{},"有":{"docs":{},"争":{"docs":{},"议":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"在":{"docs":{},"了":{"docs":{},"解":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.020833333333333332}}},"“":{"docs":{},"扁":{"docs":{},"平":{"docs":{},"化":{"docs":{},"”":{"docs":{},"的":{"docs":{},"树":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"了":{"docs":{},"通":{"docs":{},"过":{"docs":{},"各":{"docs":{},"种":{"docs":{},"构":{"docs":{},"建":{"docs":{},"函":{"docs":{},"数":{"docs":{},"投":{"docs":{},"影":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"你":{"docs":{},"获":{"docs":{},"得":{"docs":{},"的":{"docs":{},"树":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"封":{"docs":{},"装":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"输":{"docs":{},"出":{"docs":{},"限":{"docs":{},"制":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"级":{"docs":{},"别":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"被":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"内":{"docs":{},"核":{"docs":{},"丢":{"docs":{},"弃":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},"且":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},"未":{"docs":{},"被":{"docs":{},"添":{"docs":{},"加":{"docs":{},"时":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"当":{"docs":{},"中":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"添":{"docs":{},"加":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"证":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"写":{"docs":{},"法":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"因":{"docs":{},"为":{"docs":{},"单":{"docs":{},"词":{"docs":{},"对":{"docs":{},"是":{"docs":{},"在":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"库":{"docs":{},"的":{"docs":{},"布":{"docs":{},"尔":{"docs":{},"值":{"docs":{},"。":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"候":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},"影":{"docs":{},"响":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"写":{"docs":{},"法":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"一":{"docs":{},"步":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"任":{"docs":{},"意":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"了":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"流":{"docs":{},"(":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},")":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"流":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"无":{"docs":{},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"当":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"自":{"docs":{},"己":{"docs":{},"无":{"docs":{},"法":{"docs":{},"下":{"docs":{},"载":{"docs":{},"部":{"docs":{},"分":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"请":{"docs":{},"优":{"docs":{},"先":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{},"进":{"docs":{},"入":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"了":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"间":{"docs":{},"模":{"docs":{},"式":{"docs":{},"可":{"docs":{},"以":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"除":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"之":{"docs":{},"外":{"docs":{},"所":{"docs":{},"有":{"docs":{},"调":{"docs":{},"试":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},",":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{},"异":{"docs":{},"步":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{},"它":{"docs":{},"们":{"docs":{},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"好":{"docs":{},"一":{"docs":{},"些":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"操":{"docs":{},"作":{"docs":{},"之":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"像":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"具":{"docs":{},"有":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"让":{"docs":{},"您":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},")":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"创":{"docs":{},"建":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{},"其":{"docs":{},"设":{"docs":{},"计":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"应":{"docs":{},"该":{"docs":{},"存":{"docs":{},"放":{"docs":{},"在":{"docs":{},"包":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"中":{"docs":{},"。":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"不":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"声":{"docs":{},"明":{"docs":{},"字":{"docs":{},"体":{"docs":{},"时":{"docs":{},"有":{"docs":{},"选":{"docs":{},"择":{"docs":{},"地":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{},"假":{"docs":{},"设":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"包":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"正":{"docs":{},"常":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{},"生":{"docs":{},"成":{"docs":{},"代":{"docs":{},"码":{"docs":{},"还":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"运":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"来":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"模":{"docs":{},"板":{"docs":{},"。":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"运":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"分":{"docs":{},"别":{"docs":{},"称":{"docs":{},"为":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"很":{"docs":{},"显":{"docs":{},"然":{"docs":{},"是":{"docs":{},"不":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}},"的":{"docs":{},"话":{"docs":{},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"将":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"声":{"docs":{},"明":{"docs":{},"为":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"才":{"docs":{},"能":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"外":{"docs":{},"部":{"docs":{},"访":{"docs":{},"问":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"但":{"docs":{},"将":{"docs":{},"状":{"docs":{},"态":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"公":{"docs":{},"开":{"docs":{},"后":{"docs":{},",":{"docs":{},"状":{"docs":{},"态":{"docs":{},"将":{"docs":{},"不":{"docs":{},"再":{"docs":{},"具":{"docs":{},"有":{"docs":{},"私":{"docs":{},"密":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"对":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"将":{"docs":{},"会":{"docs":{},"变":{"docs":{},"的":{"docs":{},"不":{"docs":{},"可":{"docs":{},"控":{"docs":{},"。":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"构":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"拦":{"docs":{},"截":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"记":{"docs":{},"录":{"docs":{},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"等":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"触":{"docs":{},"发":{"docs":{},"未":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"异":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{},"和":{"docs":{},"日":{"docs":{},"志":{"docs":{},"统":{"docs":{},"一":{"docs":{},"上":{"docs":{},"报":{"docs":{},"。":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"合":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"我":{"docs":{},"们":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"全":{"docs":{},"部":{"docs":{},"错":{"docs":{},"误":{"docs":{},"了":{"docs":{},"!":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"那":{"docs":{},"些":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"了":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"其":{"docs":{},"它":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"想":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"同":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"最":{"docs":{},"初":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"还":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"践":{"docs":{},"中":{"docs":{},",":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"和":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{},"到":{"docs":{},"位":{"docs":{},",":{"docs":{},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"可":{"docs":{},"以":{"docs":{},"具":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"、":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"字":{"docs":{},"段":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"和":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},"以":{"docs":{},"及":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"拼":{"docs":{},"写":{"docs":{},"错":{"docs":{},"误":{"docs":{},"字":{"docs":{},"段":{"docs":{},"视":{"docs":{},"为":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"型":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"在":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"和":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},"之":{"docs":{},"间":{"docs":{},"切":{"docs":{},"换":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"标":{"docs":{},"题":{"docs":{},"将":{"docs":{},"会":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"较":{"docs":{},"好":{"docs":{},",":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"会":{"docs":{},"将":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"安":{"docs":{},"装":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"以":{"docs":{},"下":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"不":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"式":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"其":{"docs":{},"它":{"docs":{},"低":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"组":{"docs":{},"合":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"高":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"合":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"由":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"等":{"docs":{},"组":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"您":{"docs":{},"确":{"docs":{},"定":{"docs":{},"某":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"以":{"docs":{},"某":{"docs":{},"种":{"docs":{},"不":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"测":{"docs":{},"试":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"检":{"docs":{},"测":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"它":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"超":{"docs":{},"出":{"docs":{},"了":{"docs":{},"其":{"docs":{},"父":{"docs":{},"项":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"不":{"docs":{},"会":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"两":{"docs":{},"个":{"docs":{},"图":{"docs":{},"表":{"docs":{},"。":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"线":{"docs":{},"程":{"docs":{},"花":{"docs":{},"费":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"是":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"线":{"docs":{},"程":{"docs":{},"花":{"docs":{},"费":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"/":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"专":{"docs":{},"用":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"工":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"看":{"docs":{},"转":{"docs":{},"储":{"docs":{},",":{"docs":{},"你":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},"。":{"docs":{},"您":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"已":{"docs":{},"注":{"docs":{},"册":{"docs":{},"了":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"手":{"docs":{},"势":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"始":{"docs":{},"终":{"docs":{},"在":{"docs":{},"发":{"docs":{},"布":{"docs":{},"模":{"docs":{},"式":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"里":{"docs":{},"缺":{"docs":{},"一":{"docs":{},"张":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"图":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"简":{"docs":{},"单":{"docs":{},"修":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"运":{"docs":{},"行":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"生":{"docs":{},"成":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"它":{"docs":{},"通":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"找":{"docs":{},"出":{"docs":{},"需":{"docs":{},"要":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"@":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"标":{"docs":{},"注":{"docs":{},"的":{"docs":{},")":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"是":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"命":{"docs":{},"令":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"或":{"docs":{},"任":{"docs":{},"何":{"docs":{},"其":{"docs":{},"他":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"句":{"docs":{},"命":{"docs":{},"令":{"docs":{},"在":{"docs":{},"首":{"docs":{},"次":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"会":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"生":{"docs":{},"成":{"docs":{},"多":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"种":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"便":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"随":{"docs":{},"着":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"人":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},",":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"查":{"docs":{},"看":{"docs":{},"官":{"docs":{},"网":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"就":{"docs":{},"能":{"docs":{},"入":{"docs":{},"门":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"学":{"docs":{},"习":{"docs":{},"时":{"docs":{},"有":{"docs":{},"些":{"docs":{},"吃":{"docs":{},"力":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"资":{"docs":{},"料":{"docs":{},"去":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"语":{"docs":{},"言":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":10.00210970464135}}}},"开":{"docs":{},"发":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},"库":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"层":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"实":{"docs":{},"现":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"团":{"docs":{},"队":{"docs":{},"就":{"docs":{},"在":{"docs":{},"你":{"docs":{},"身":{"docs":{},"边":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"支":{"docs":{},"持":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"关":{"docs":{},"键":{"docs":{},"特":{"docs":{},"性":{"docs":{},"的":{"docs":{},"组":{"docs":{},"合":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"中":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"来":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"和":{"docs":{},"其":{"docs":{},"它":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"读":{"docs":{},"者":{"docs":{},"不":{"docs":{},"清":{"docs":{},"楚":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"声":{"docs":{},"明":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"显":{"docs":{},"式":{"docs":{},"声":{"docs":{},"明":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"时":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"当":{"docs":{},"做":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"没":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"推":{"docs":{},"断":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"即":{"docs":{},"使":{"docs":{},"是":{"docs":{},"函":{"docs":{},"数":{"docs":{},"也":{"docs":{},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"函":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"变":{"docs":{},"量":{"docs":{},"或":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"其":{"docs":{},"他":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"的":{"docs":{},"典":{"docs":{},"型":{"docs":{},"特":{"docs":{},"征":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"库":{"docs":{},"有":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"或":{"docs":{},"者":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},"及":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":10.003344481605351}}}}}}}}}}},"分":{"docs":{},"析":{"docs":{},"器":{"docs":{},"大":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"注":{"docs":{},"释":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"追":{"docs":{},"踪":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"您":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"地":{"docs":{},"方":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"(":{"docs":{},"避":{"docs":{},"免":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"无":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"、":{"docs":{},"无":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"文":{"docs":{},"字":{"docs":{},"等":{"docs":{},")":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"是":{"docs":{},"追":{"docs":{},"踪":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"最":{"docs":{},"快":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"库":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"写":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"属":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"法":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}},"包":{"docs":{},":":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"些":{"docs":{},"可":{"docs":{},"能":{"docs":{},"包":{"docs":{},"含":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"具":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"包":{"docs":{},"仅":{"docs":{},"用":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"o":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617}}},"”":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},"e":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"y":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"与":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"命":{"docs":{},"令":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"安":{"docs":{},"装":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"并":{"docs":{},"按":{"docs":{},"照":{"docs":{},"说":{"docs":{},"明":{"docs":{},"解":{"docs":{},"决":{"docs":{},"问":{"docs":{},"题":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"下":{"docs":{},"载":{"docs":{},"它":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"并":{"docs":{},"自":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},"。":{"docs":{},"以":{"docs":{},"后":{"docs":{},"再":{"docs":{},"运":{"docs":{},"行":{"docs":{},"就":{"docs":{},"会":{"docs":{},"快":{"docs":{},"得":{"docs":{},"多":{"docs":{},"。":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"再":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"0":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}},"1":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.03296703296703297},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.036734693877551024},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.01634877384196185},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}},"[":{"docs":{},"]":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"=":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"主":{"docs":{},"页":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},":":{"docs":{},"\\":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.034722222222222224},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.015957446808510637},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},":":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"包":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"包":{"docs":{},"或":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"_":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}},"s":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"=":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"x":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}},"y":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"v":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"e":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"包":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"本":{"docs":{},"身":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"包":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087}},"'":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"z":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},")":{"docs":{},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}},"中":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"来":{"docs":{},"返":{"docs":{},"回":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"都":{"docs":{},"在":{"docs":{},"此":{"docs":{},"类":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}}}}}}},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"和":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"基":{"docs":{},"线":{"docs":{},"网":{"docs":{},"格":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"上":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"助":{"docs":{},"于":{"docs":{},"验":{"docs":{},"证":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"时":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"以":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"如":{"docs":{},"下":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"标":{"docs":{},"准":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"所":{"docs":{},"有":{"docs":{},"图":{"docs":{},"标":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"官":{"docs":{},"网":{"docs":{},"查":{"docs":{},"看":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"头":{"docs":{},"部":{"docs":{},"伸":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"该":{"docs":{},"示":{"docs":{},"例":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002916396629941672},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03424657534246575},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"{":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"前":{"docs":{},"(":{"docs":{},"或":{"docs":{},"后":{"docs":{},")":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"个":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"如":{"docs":{},"背":{"docs":{},"景":{"docs":{},"、":{"docs":{},"边":{"docs":{},"框":{"docs":{},"、":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.015027322404371584},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.020134228187919462},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0273972602739726}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"e":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"代":{"docs":{},"表":{"docs":{},"将":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"装":{"docs":{},"饰":{"docs":{},",":{"docs":{},"它":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"e":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"一":{"docs":{},"个":{"docs":{},"的":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"有":{"docs":{},"测":{"docs":{},"试":{"docs":{},"通":{"docs":{},"过":{"docs":{},"的":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"上":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"父":{"docs":{},"(":{"docs":{},"祖":{"docs":{},"先":{"docs":{},")":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"可":{"docs":{},"以":{"docs":{},"收":{"docs":{},"到":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"语":{"docs":{},"句":{"docs":{},"采":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"选":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"条":{"docs":{},"件":{"docs":{},"为":{"docs":{},"真":{"docs":{},"时":{"docs":{},"中":{"docs":{},"断":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"做":{"docs":{},"了":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},",":{"docs":{},"但":{"docs":{},"对":{"docs":{},"于":{"docs":{},"具":{"docs":{},"有":{"docs":{},"基":{"docs":{},"线":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"文":{"docs":{},"字":{"docs":{},"基":{"docs":{},"线":{"docs":{},"以":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"表":{"docs":{},"意":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},"基":{"docs":{},"线":{"docs":{},"以":{"docs":{},"橙":{"docs":{},"色":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"标":{"docs":{},"志":{"docs":{},"打":{"docs":{},"开":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"正":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"会":{"docs":{},"以":{"docs":{},"深":{"docs":{},"青":{"docs":{},"色":{"docs":{},"突":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"标":{"docs":{},"志":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"打":{"docs":{},"印":{"docs":{},"导":{"docs":{},"致":{"docs":{},"当":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"被":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},":":{"docs":{},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"从":{"docs":{},"树":{"docs":{},"中":{"docs":{},"被":{"docs":{},"移":{"docs":{},"除":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}},"类":{"docs":{},"的":{"docs":{},"职":{"docs":{},"责":{"docs":{},"是":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"两":{"docs":{},"次":{"docs":{},"指":{"docs":{},"针":{"docs":{},"移":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"l":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0189873417721519},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"表":{"docs":{},"示":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"时":{"docs":{},"长":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"m":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"就":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"自":{"docs":{},"己":{"docs":{},"上":{"docs":{},"报":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"i":{"docs":{},"c":{"docs":{},"和":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},":":{"docs":{},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},";":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"在":{"docs":{},"之":{"docs":{},"前":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"(":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"*":{"docs":{},")":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"并":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},":":{"docs":{},"当":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"从":{"docs":{},"树":{"docs":{},"中":{"docs":{},"被":{"docs":{},"永":{"docs":{},"久":{"docs":{},"移":{"docs":{},"除":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},";":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"t":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"[":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094}}}}}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"=":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{}}}}}}},"t":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"y":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"中":{"docs":{},"便":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},".":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"1":{"docs":{},"=":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}},"2":{"docs":{},"=":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}},"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}},"o":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":3.3544600938967135}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"\"":{"docs":{},",":{"docs":{},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"1":{"2":{"docs":{},",":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"?":{"docs":{},"i":{"docs":{},"d":{"docs":{},"=":{"1":{"2":{"docs":{},"&":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"1":{"2":{"docs":{},",":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"发":{"docs":{},"起":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"了":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"起":{"docs":{},"多":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{},"单":{"docs":{},"例":{"docs":{},"模":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"o":{"docs":{},"v":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"g":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"(":{"docs":{},"而":{"docs":{},"非":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"原":{"docs":{},"点":{"docs":{},"(":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},")":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"代":{"docs":{},"表":{"docs":{},"用":{"docs":{},"户":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"速":{"docs":{},"度":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"x":{"docs":{},"、":{"docs":{},"y":{"docs":{},"两":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"的":{"docs":{},")":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"用":{"docs":{},"户":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"减":{"docs":{},"速":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},":":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"多":{"docs":{},"次":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"指":{"docs":{},"一":{"docs":{},"次":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}},"p":{"docs":{},"i":{"docs":{},"是":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"固":{"docs":{},"件":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"u":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.041666666666666664},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.03827751196172249},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.034722222222222224},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.031914893617021274},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087},"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":5.055555555555555},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":10.010416666666666}}}},"是":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"发":{"docs":{},"布":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"、":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"性":{"docs":{},"能":{"docs":{},"主":{"docs":{},"要":{"docs":{},"靠":{"docs":{},"两":{"docs":{},"点":{"docs":{},"来":{"docs":{},"保":{"docs":{},"证":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"框":{"docs":{},"架":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"既":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"社":{"docs":{},"区":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"b":{"docs":{},")":{"docs":{},"是":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"维":{"docs":{},"护":{"docs":{},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"站":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"也":{"docs":{},"是":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"中":{"docs":{},"文":{"docs":{},"资":{"docs":{},"源":{"docs":{},"社":{"docs":{},"区":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"、":{"docs":{},"开":{"docs":{},"源":{"docs":{},"项":{"docs":{},"目":{"docs":{},"、":{"docs":{},"及":{"docs":{},"案":{"docs":{},"例":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"申":{"docs":{},"请":{"docs":{},"加":{"docs":{},"入":{"docs":{},"组":{"docs":{},"织":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"哦":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"样":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"即":{"docs":{},"“":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"”":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"将":{"docs":{},"图":{"docs":{},"标":{"docs":{},"做":{"docs":{},"成":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"而":{"docs":{},"显":{"docs":{},"示":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"内":{"docs":{},"存":{"docs":{},"以":{"docs":{},"及":{"docs":{},"网":{"docs":{},"络":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"系":{"docs":{},"统":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"层":{"docs":{},"。":{"docs":{},"第":{"docs":{},"一":{"docs":{},"层":{"docs":{},"为":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"描":{"docs":{},"述":{"docs":{},"了":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"指":{"docs":{},"针":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"、":{"docs":{},"鼠":{"docs":{},"标":{"docs":{},"和":{"docs":{},"触":{"docs":{},"控":{"docs":{},"笔":{"docs":{},")":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"移":{"docs":{},"动":{"docs":{},"。":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"地":{"docs":{},"方":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"如":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"抽":{"docs":{},"象":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"f":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"复":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"预":{"docs":{},"置":{"docs":{},"的":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"2":{"docs":{},"d":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"是":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"2":{"docs":{},"d":{"docs":{},"图":{"docs":{},"形":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"库":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"字":{"docs":{},"型":{"docs":{},"、":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"转":{"docs":{},"换":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"点":{"docs":{},"阵":{"docs":{},"图":{"docs":{},"都":{"docs":{},"有":{"docs":{},"高":{"docs":{},"效":{"docs":{},"能":{"docs":{},"且":{"docs":{},"简":{"docs":{},"洁":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},",":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"是":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"非":{"docs":{},"常":{"docs":{},"友":{"docs":{},"好":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"您":{"docs":{},"调":{"docs":{},"用":{"docs":{},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"或":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"或":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"均":{"docs":{},"可":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"发":{"docs":{},"布":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"生":{"docs":{},"成":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"代":{"docs":{},"码":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"应":{"docs":{},"用":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"而":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"则":{"docs":{},"不":{"docs":{},"具":{"docs":{},"有":{"docs":{},"这":{"docs":{},"个":{"docs":{},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"工":{"docs":{},"作":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"描":{"docs":{},"述":{"docs":{},"如":{"docs":{},"何":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"、":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"其":{"docs":{},"它":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"、":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"快":{"docs":{},"地":{"docs":{},"为":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"意":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"怕":{"docs":{},"引":{"docs":{},"入":{"docs":{},"过":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"会":{"docs":{},"让":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"变":{"docs":{},"大":{"docs":{},",":{"docs":{},"这":{"docs":{},"不":{"docs":{},"是":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"只":{"docs":{},"会":{"docs":{},"编":{"docs":{},"译":{"docs":{},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"之":{"docs":{},"上":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"引":{"docs":{},"入":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"内":{"docs":{},"部":{"docs":{},"已":{"docs":{},"经":{"docs":{},"引":{"docs":{},"入":{"docs":{},"过":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"套":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"、":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"在":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"之":{"docs":{},"上":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"又":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"风":{"docs":{},"格":{"docs":{},")":{"docs":{},"和":{"docs":{},"一":{"docs":{},"套":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"风":{"docs":{},"格":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"风":{"docs":{},"格":{"docs":{},")":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"库":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"导":{"docs":{},"入":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"具":{"docs":{},"有":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"文":{"docs":{},"本":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"、":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"是":{"docs":{},"由":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"由":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},":":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"旨":{"docs":{},"在":{"docs":{},"提":{"docs":{},"供":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"、":{"docs":{},"高":{"docs":{},"保":{"docs":{},"真":{"docs":{},"的":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"能":{"docs":{},"够":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"种":{"docs":{},"既":{"docs":{},"能":{"docs":{},"提":{"docs":{},"供":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"周":{"docs":{},"期":{"docs":{},"性":{"docs":{},"暂":{"docs":{},"停":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"支":{"docs":{},"持":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"的":{"docs":{},"比":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"更":{"docs":{},"好":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"使":{"docs":{},"用":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"流":{"docs":{},",":{"docs":{},"这":{"docs":{},"使":{"docs":{},"得":{"docs":{},"它":{"docs":{},"在":{"docs":{},"很":{"docs":{},"大":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"器":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"能":{"docs":{},"够":{"docs":{},"有":{"docs":{},"效":{"docs":{},"地":{"docs":{},"处":{"docs":{},"理":{"docs":{},"琐":{"docs":{},"碎":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"器":{"docs":{},"将":{"docs":{},"显":{"docs":{},"得":{"docs":{},"十":{"docs":{},"分":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"在":{"docs":{},"缺":{"docs":{},"乏":{"docs":{},"此":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"中":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"无":{"docs":{},"法":{"docs":{},"有":{"docs":{},"效":{"docs":{},"地":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"有":{"docs":{},"着":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"分":{"docs":{},"层":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"旨":{"docs":{},"在":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"整":{"docs":{},"体":{"docs":{},"框":{"docs":{},"架":{"docs":{},"有":{"docs":{},"个":{"docs":{},"大":{"docs":{},"概":{"docs":{},"的":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"到":{"docs":{},"现":{"docs":{},"在":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"已":{"docs":{},"经":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"初":{"docs":{},"始":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"正":{"docs":{},"式":{"docs":{},"动":{"docs":{},"手":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},"中":{"docs":{},"的":{"docs":{},"许":{"docs":{},"多":{"docs":{},"类":{"docs":{},"都":{"docs":{},"有":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"按":{"docs":{},"照":{"docs":{},"惯":{"docs":{},"例":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"输":{"docs":{},"出":{"docs":{},"通":{"docs":{},"常":{"docs":{},"包":{"docs":{},"括":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"单":{"docs":{},"行":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"表":{"docs":{},"单":{"docs":{},"中":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{},"都":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"将":{"docs":{},"其":{"docs":{},"当":{"docs":{},"前":{"docs":{},"状":{"docs":{},"态":{"docs":{},"或":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"储":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"到":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}},"添":{"docs":{},"加":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},"还":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"的":{"docs":{},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"默":{"docs":{},"认":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.020833333333333332},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"包":{"docs":{},"含":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"添":{"docs":{},"加":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"而":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"来":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"会":{"docs":{},"防":{"docs":{},"止":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"外":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"不":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"时":{"docs":{},")":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"时":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"到":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"而":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"受":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"驱":{"docs":{},"动":{"docs":{},"的":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"锁":{"docs":{},"屏":{"docs":{},"后":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"会":{"docs":{},"停":{"docs":{},"止":{"docs":{},"刷":{"docs":{},"新":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512}},"s":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"目":{"docs":{},"前":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"默":{"docs":{},"认":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"是":{"docs":{},"相":{"docs":{},"等":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"大":{"docs":{},"小":{"docs":{},"不":{"docs":{},"等":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"起":{"docs":{},"点":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":10}}}}}},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"实":{"docs":{},"现":{"docs":{},"各":{"docs":{},"种":{"docs":{},"动":{"docs":{},"画":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"许":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"*":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.017543859649122806}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.012448132780082987}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"类":{"docs":{},"加":{"docs":{},"载":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":10}}}}}}}},"核":{"docs":{},"心":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter14/":{"ref":"chapter14/","tf":10}}}}}},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"制":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"t":{"6":{"4":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"docs":{}},"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},"是":{"docs":{},"页":{"docs":{},"面":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"的":{"docs":{},"带":{"docs":{},"“":{"docs":{},"➕":{"docs":{},"”":{"docs":{},"的":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"代":{"docs":{},"表":{"docs":{},"它":{"docs":{},"本":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"处":{"docs":{},"理":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"作":{"docs":{},"为":{"docs":{},"某":{"docs":{},"种":{"docs":{},"常":{"docs":{},"用":{"docs":{},"动":{"docs":{},"作":{"docs":{},"的":{"docs":{},"快":{"docs":{},"捷":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"docs":{},"本":{"docs":{},"节":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"页":{"docs":{},"面":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"➕":{"docs":{},"\"":{"docs":{},"号":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"其":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.016260162601626018},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"{":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}},"即":{"docs":{},"扁":{"docs":{},"平":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"背":{"docs":{},"景":{"docs":{},"透":{"docs":{},"明":{"docs":{},"并":{"docs":{},"不":{"docs":{},"带":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"。":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"有":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094}},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094}},"{":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.04316546762589928}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}},"为":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"系":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"0":{"docs":{},"或":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"扩":{"docs":{},"伸":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"大":{"docs":{},"于":{"0":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"按":{"docs":{},"照":{"docs":{},"其":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"比":{"docs":{},"例":{"docs":{},"来":{"docs":{},"分":{"docs":{},"割":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"水":{"docs":{},"平":{"docs":{},"或":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"排":{"docs":{},"列":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"知":{"docs":{},"道":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"会":{"docs":{},"方":{"docs":{},"便":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"基":{"docs":{},"本":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"一":{"docs":{},"定":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"本":{"docs":{},"身":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"很":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"配":{"docs":{},"合":{"docs":{},"实":{"docs":{},"现":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"和":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"时":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"了":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"其":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.043243243243243246},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.04294478527607362},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.029069767441860465},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.021798365122615803},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.009074410163339383}},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"s":{"docs":{},"\\":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}},"/":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}},"(":{"docs":{},"'":{"docs":{},"$":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},".":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"$":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},",":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},":":{"docs":{},"会":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"填":{"docs":{},"充":{"docs":{},"满":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"长":{"docs":{},"宽":{"docs":{},"比":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"会":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"会":{"docs":{},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"缩":{"docs":{},"放":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"居":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"不":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},",":{"docs":{},"超":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"被":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"会":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"高":{"docs":{},"度":{"docs":{},"会":{"docs":{},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"缩":{"docs":{},"放":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"居":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"不":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},",":{"docs":{},"超":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"被":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"不":{"docs":{},"同":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"适":{"docs":{},"应":{"docs":{},"模":{"docs":{},"式":{"docs":{},"。":{"docs":{},"适":{"docs":{},"应":{"docs":{},"模":{"docs":{},"式":{"docs":{},"是":{"docs":{},"在":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"用":{"docs":{},"于":{"docs":{},"决":{"docs":{},"定":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"去":{"docs":{},"适":{"docs":{},"应":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"使":{"docs":{},"用":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"表":{"docs":{},"示":{"docs":{},"扩":{"docs":{},"伸":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678}},"会":{"docs":{},"动":{"docs":{},"态":{"docs":{},"设":{"docs":{},"置":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"重":{"docs":{},"新":{"docs":{},"插":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"包":{"docs":{},"含":{"docs":{},"此":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"在":{"docs":{},"树":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"移":{"docs":{},"动":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"时":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"移":{"docs":{},"除":{"docs":{},"后":{"docs":{},"没":{"docs":{},"有":{"docs":{},"重":{"docs":{},"新":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},"则":{"docs":{},"紧":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"来":{"docs":{},"检":{"docs":{},"测":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"同":{"docs":{},"一":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"则":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"正":{"docs":{},"如":{"docs":{},"之":{"docs":{},"前":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"会":{"docs":{},"在":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"时":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"在":{"docs":{},"在":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"时":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"关":{"docs":{},"联":{"docs":{},"并":{"docs":{},"非":{"docs":{},"永":{"docs":{},"久":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"声":{"docs":{},"明":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"上":{"docs":{},"的":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},"在":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},"时":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"当":{"docs":{},"在":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"状":{"docs":{},"态":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"、":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"等":{"docs":{},"。":{"docs":{},"不":{"docs":{},"能":{"docs":{},"在":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"上":{"docs":{},"获":{"docs":{},"取":{"docs":{},"离":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"父":{"docs":{},"级":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},")":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"达":{"docs":{},"到":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"为":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"隐":{"docs":{},"式":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"基":{"docs":{},"本":{"docs":{},"不":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"知":{"docs":{},"道":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"?":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"而":{"docs":{},"这":{"docs":{},"个":{"docs":{},"“":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"”":{"docs":{},"指":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"则":{"docs":{},"代":{"docs":{},"表":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"则":{"docs":{},"代":{"docs":{},"表":{"docs":{},"没":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"在":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"等":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"有":{"docs":{},"机":{"docs":{},"会":{"docs":{},"来":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"正":{"docs":{},"式":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"来":{"docs":{},"对":{"docs":{},"应":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"道":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"中":{"docs":{},"共":{"docs":{},"享":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"端":{"docs":{},"点":{"docs":{},",":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"求":{"docs":{},"出":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"时":{"docs":{},"的":{"docs":{},"插":{"docs":{},"值":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"情":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"已":{"docs":{},"经":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"做":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"是":{"docs":{},"差":{"docs":{},"不":{"docs":{},"多":{"docs":{},"的":{"docs":{},",":{"docs":{},"的":{"docs":{},"确":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"用":{"docs":{},"“":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"”":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"其":{"docs":{},"他":{"docs":{},"平":{"docs":{},"台":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"这":{"docs":{},"么":{"docs":{},"叫":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"概":{"docs":{},"念":{"docs":{},"统":{"docs":{},"一":{"docs":{},",":{"docs":{},"便":{"docs":{},"于":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"不":{"docs":{},"必":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"于":{"docs":{},"概":{"docs":{},"念":{"docs":{},"本":{"docs":{},"身":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"类":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"b":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},",":{"docs":{},"和":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"原":{"docs":{},"理":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"则":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"e":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.009216589861751152},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}}}},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}},"{":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}},"q":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"e":{"2":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}},"3":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0189873417721519}}}}},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"(":{"docs":{},"(":{"docs":{},"_":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"(":{"docs":{},"[":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"4":{"9":{"9":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"与":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"非":{"docs":{},"常":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"完":{"docs":{},"成":{"docs":{},"(":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},")":{"docs":{},"及":{"docs":{},"其":{"docs":{},"结":{"docs":{},"果":{"docs":{},"值":{"docs":{},"的":{"docs":{},"表":{"docs":{},"示":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"处":{"docs":{},"理":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},",":{"docs":{},"异":{"docs":{},"步":{"docs":{},"处":{"docs":{},"理":{"docs":{},"成":{"docs":{},"功":{"docs":{},"了":{"docs":{},"就":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"异":{"docs":{},"步":{"docs":{},"处":{"docs":{},"理":{"docs":{},"失":{"docs":{},"败":{"docs":{},"了":{"docs":{},"就":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"错":{"docs":{},"误":{"docs":{},"或":{"docs":{},"者":{"docs":{},"停":{"docs":{},"止":{"docs":{},"后":{"docs":{},"续":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"只":{"docs":{},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"要":{"docs":{},"么":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"表":{"docs":{},"示":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"屏":{"docs":{},"的":{"docs":{},"模":{"docs":{},"态":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},"将":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"底":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"入":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"c":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"a":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"(":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"清":{"docs":{},"空":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"表":{"docs":{},"单":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"校":{"docs":{},"验":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"校":{"docs":{},"验":{"docs":{},"失":{"docs":{},"败":{"docs":{},"项":{"docs":{},"都":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"用":{"docs":{},"户":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"提":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"或":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"获":{"docs":{},"得":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"来":{"docs":{},"对":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"进":{"docs":{},"行":{"docs":{},"统":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}},"的":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"元":{"docs":{},"素":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"几":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"内":{"docs":{},"部":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"们":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"类":{"docs":{},"为":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"类":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.028169014084507043}},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{},"在":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"即":{"docs":{},"前":{"docs":{},"景":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"c":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"c":{"docs":{},"u":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004212572909915748}},"s":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541}},"e":{"1":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"关":{"docs":{},"联":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"1":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"docs":{}}}}}}}}}}}}}}},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"2":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"关":{"docs":{},"联":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"2":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"docs":{}}}}}}}}}}}}}}},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}}},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},"和":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"是":{"docs":{},"否":{"docs":{},"占":{"docs":{},"有":{"docs":{},"当":{"docs":{},"前":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"。":{"docs":{},"它":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"和":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"2":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"2":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"f":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"y":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0163265306122449},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012605042016806723}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02040816326530612},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"可":{"docs":{},"以":{"docs":{},"精":{"docs":{},"确":{"docs":{},"指":{"docs":{},"定":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"而":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"比":{"docs":{},"例":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"都":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"两":{"docs":{},"给":{"docs":{},"主":{"docs":{},"要":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{},"本":{"docs":{},"节":{"docs":{},"将":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"文":{"docs":{},"本":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},"]":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"m":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"搭":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":10.001594896331738}}}}}}}}}}}}}}},"本":{"docs":{},"章":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter12/":{"ref":"chapter12/","tf":0.25},"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666}}}},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"目":{"docs":{},"前":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"三":{"docs":{},"种":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"从":{"docs":{},"框":{"docs":{},"架":{"docs":{},"角":{"docs":{},"度":{"docs":{},"对":{"docs":{},"比":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"些":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"一":{"docs":{},"步":{"docs":{},"步":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},".":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"篇":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"节":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"感":{"docs":{},"到":{"docs":{},"有":{"docs":{},"些":{"docs":{},"点":{"docs":{},"还":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"着":{"docs":{},"急":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"日":{"docs":{},"后":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"细":{"docs":{},"节":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"再":{"docs":{},"回":{"docs":{},"过":{"docs":{},"头":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"你":{"docs":{},"会":{"docs":{},"有":{"docs":{},"更":{"docs":{},"深":{"docs":{},"的":{"docs":{},"体":{"docs":{},"会":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{},"以":{"docs":{},"及":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"对":{"docs":{},"应":{"docs":{},"了":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"用":{"docs":{},"来":{"docs":{},"给":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"生":{"docs":{},"成":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"框":{"docs":{},"架":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"整":{"docs":{},"体":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"旨":{"docs":{},"在":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"心":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"整":{"docs":{},"体":{"docs":{},"的":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"初":{"docs":{},"学":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"下":{"docs":{},"子":{"docs":{},"便":{"docs":{},"深":{"docs":{},"入":{"docs":{},"到":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"像":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"在":{"docs":{},"沙":{"docs":{},"漠":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"地":{"docs":{},"图":{"docs":{},"的":{"docs":{},"人":{"docs":{},",":{"docs":{},"即":{"docs":{},"使":{"docs":{},"可":{"docs":{},"以":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"绿":{"docs":{},"洲":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"他":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"知":{"docs":{},"道":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"绿":{"docs":{},"洲":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"学":{"docs":{},"什":{"docs":{},"么":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"都":{"docs":{},"要":{"docs":{},"现":{"docs":{},"有":{"docs":{},"一":{"docs":{},"张":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"“":{"docs":{},"地":{"docs":{},"图":{"docs":{},"”":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"学":{"docs":{},"习":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"“":{"docs":{},"按":{"docs":{},"图":{"docs":{},"索":{"docs":{},"骥":{"docs":{},"”":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"我":{"docs":{},"们":{"docs":{},"才":{"docs":{},"不":{"docs":{},"会":{"docs":{},"陷":{"docs":{},"于":{"docs":{},"细":{"docs":{},"节":{"docs":{},"而":{"docs":{},"“":{"docs":{},"目":{"docs":{},"无":{"docs":{},"全":{"docs":{},"牛":{"docs":{},"”":{"docs":{},"。":{"docs":{},"言":{"docs":{},"归":{"docs":{},"正":{"docs":{},"传":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"张":{"docs":{},"框":{"docs":{},"架":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"以":{"docs":{},"任":{"docs":{},"意":{"docs":{},"角":{"docs":{},"度":{"docs":{},"来":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"角":{"docs":{},"度":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"到":{"docs":{},"新":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"动":{"docs":{},"画":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},",":{"docs":{},"它":{"docs":{},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}},"接":{"docs":{},"着":{"docs":{},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"\"":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"\"":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"更":{"docs":{},"喜":{"docs":{},"欢":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"后":{"docs":{},"面":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"\"":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"\"":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"过":{"docs":{},"程":{"docs":{},"及":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"严":{"docs":{},"重":{"docs":{},"的":{"docs":{},"不":{"docs":{},"足":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"时":{"docs":{},"手":{"docs":{},"动":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"。":{"docs":{},"试":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"不":{"docs":{},"是":{"docs":{},"两":{"docs":{},"种":{"docs":{},"而":{"docs":{},"是":{"8":{"docs":{},"种":{"docs":{},"甚":{"docs":{},"至":{"2":{"0":{"docs":{},"几":{"docs":{},"种":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"文":{"docs":{},"本":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"要":{"docs":{},"分":{"docs":{},"别":{"docs":{},"去":{"docs":{},"判":{"docs":{},"断":{"docs":{},"到":{"docs":{},"底":{"docs":{},"是":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"从":{"docs":{},"而":{"docs":{},"获":{"docs":{},"取":{"docs":{},"相":{"docs":{},"应":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"将":{"docs":{},"会":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"非":{"docs":{},"常":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"事":{"docs":{},"。":{"docs":{},"还":{"docs":{},"有":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},",":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"像":{"docs":{},"i":{"1":{"8":{"docs":{},"n":{"docs":{},"或":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"标":{"docs":{},"准":{"docs":{},"那":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"单":{"docs":{},"独":{"docs":{},"保":{"docs":{},"存":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"交":{"docs":{},"由":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},"去":{"docs":{},"翻":{"docs":{},"译":{"docs":{},",":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"好":{"docs":{},"之":{"docs":{},"后":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"工":{"docs":{},"具":{"docs":{},"将":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"转":{"docs":{},"为":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"的":{"docs":{},"!":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"理":{"docs":{},"解":{"docs":{},"这":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"一":{"docs":{},"些":{"docs":{},"学":{"docs":{},"习":{"docs":{},"建":{"docs":{},"议":{"docs":{},",":{"docs":{},"分":{"docs":{},"享":{"docs":{},"一":{"docs":{},"下":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"在":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"心":{"docs":{},"得":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"你":{"docs":{},"提":{"docs":{},"高":{"docs":{},"学":{"docs":{},"习":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"坑":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"引":{"docs":{},"用":{"docs":{},"、":{"docs":{},"下":{"docs":{},"载":{"docs":{},"、":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"的":{"docs":{},"整":{"docs":{},"体":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"引":{"docs":{},"入":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},"会":{"docs":{},"着":{"docs":{},"重":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"会":{"docs":{},"像":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"一":{"docs":{},"样":{"docs":{},"所":{"docs":{},"有":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"属":{"docs":{},"性":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"它":{"docs":{},"与":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"也":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"默":{"docs":{},"认":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"会":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"是":{"docs":{},"对":{"docs":{},"单":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"换":{"docs":{},"肤":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"相":{"docs":{},"对":{"docs":{},"整":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"换":{"docs":{},"肤":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"修":{"docs":{},"改":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"档":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},":":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}}}}}}}}}}}}},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"由":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"的":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/":{"ref":"chapter1/","tf":0.2},"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":10.003846153846155}}}}}}}}}},"起":{"docs":{},"步":{"docs":{"chapter1/":{"ref":"chapter1/","tf":10}}}},"(":{"1":{"7":{"5":{"3":{"9":{"docs":{},")":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}},"docs":{}},"docs":{}},"6":{"6":{"6":{"docs":{},")":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633}}}}},"docs":{}},"docs":{}},"docs":{}},"8":{"5":{"4":{"5":{"docs":{},")":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.02304147465437788}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"6":{"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"docs":{}},"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.10110174983797797},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.009394572025052192},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"或":{"docs":{},"w":{"docs":{},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},")":{"docs":{},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"以":{"docs":{},"后":{"docs":{},"若":{"docs":{},"无":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"来":{"docs":{},"统":{"docs":{},"一":{"docs":{},"指":{"docs":{},"代":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"网":{"docs":{},"页":{"docs":{},"加":{"docs":{},"载":{"docs":{},"控":{"docs":{},"件":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"h":{"5":{"docs":{},"部":{"docs":{},"分":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"改":{"docs":{},"变":{"docs":{},"而":{"docs":{},"不":{"docs":{},"用":{"docs":{},"发":{"docs":{},"版":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"需":{"docs":{},"求":{"docs":{},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},";":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"h":{"5":{"docs":{},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"就":{"docs":{},"能":{"docs":{},"同":{"docs":{},"时":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"两":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"小":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"h":{"5":{"docs":{},"部":{"docs":{},"分":{"docs":{},"功":{"docs":{},"能":{"docs":{},"越":{"docs":{},"多":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"就":{"docs":{},"越":{"docs":{},"小":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"这":{"docs":{},"种":{"docs":{},"h":{"5":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"式":{"docs":{},"为":{"docs":{},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"d":{"docs":{},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}},"{":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837}}}}}}}}}}}}}}}}}},"简":{"docs":{},"称":{"docs":{},"r":{"docs":{},"n":{"docs":{},")":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"于":{"2":{"0":{"1":{"5":{"docs":{},"年":{"4":{"docs":{},"月":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"早":{"docs":{},"先":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"框":{"docs":{},"架":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"`":{"docs":{},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"c":{"docs":{},"m":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}},"t":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},".":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},".":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},">":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"或":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"些":{"docs":{},"更":{"docs":{},"低":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"带":{"docs":{},"有":{"docs":{},"闪":{"docs":{},"电":{"docs":{},"⚡":{"docs":{},"️":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"绿":{"docs":{},"色":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"箭":{"docs":{},"头":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"代":{"docs":{},"码":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"验":{"docs":{},"证":{"docs":{},"、":{"docs":{},"代":{"docs":{},"码":{"docs":{},"补":{"docs":{},"全":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"、":{"docs":{},"调":{"docs":{},"试":{"docs":{},"、":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.010548523206751054},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04065040650406504},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"e":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083}},"=":{"docs":{},">":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"d":{"docs":{},"b":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"语":{"docs":{},"句":{"docs":{},"级":{"docs":{},"的":{"docs":{},"单":{"docs":{},"步":{"docs":{},"调":{"docs":{},"试":{"docs":{},"和":{"docs":{},"分":{"docs":{},"析":{"docs":{},"器":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"f":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"*":{"docs":{},")":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},"f":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}},"译":{"docs":{},"者":{"docs":{},"语":{"docs":{},":":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"相":{"docs":{},"似":{"docs":{},")":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"允":{"docs":{},"许":{"docs":{},"子":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}},"a":{"docs":{},"r":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"/":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"]":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.019498607242339833},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"*":{"docs":{},")":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"{":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}},".":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.007259528130671506}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"k":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"+":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"中":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}},"2":{"docs":{},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}}}},"5":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"7":{"5":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}},"docs":{}},"9":{"8":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"docs":{}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},".":{"docs":{},".":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.010548523206751054},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.020066889632107024},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024390243902439025},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012295081967213115},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026845637583892617},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.0189873417721519},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.05555555555555555},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.022284122562674095},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.017142857142857144},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.020689655172413793},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024691358024691357},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.026022304832713755},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.012704174228675136}},"/":{"docs":{},"/":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},".":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"/":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"1":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611}},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"0":{"docs":{},"x":{"7":{"7":{"docs":{},"c":{"docs":{},"d":{"docs":{},"b":{"1":{"7":{"5":{"docs":{},")":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}},"”":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"c":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"'":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},"/":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"/":{"1":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},".":{"docs":{},"设":{"docs":{},"置":{"docs":{},"文":{"docs":{},"本":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}},"2":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},".":{"docs":{},"不":{"docs":{},"继":{"docs":{},"承":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}},"3":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"像":{"docs":{},"素":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}},"5":{"0":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}},"docs":{}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0189873417721519},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.010438413361169102},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.017759562841530054},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.02531645569620253},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.041379310344827586},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.02631578947368421},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.039927404718693285}},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"由":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"印":{"docs":{},"机":{"docs":{},"型":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}},"滑":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"在":{"docs":{},"x":{"docs":{},"、":{"docs":{},"y":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}},"开":{"docs":{},"b":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"到":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"证":{"docs":{},"书":{"docs":{},"路":{"docs":{},"径":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},"三":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"在":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"按":{"2":{"docs":{},":":{"1":{"docs":{},":":{"1":{"docs":{},"来":{"docs":{},"占":{"docs":{},"用":{"1":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"按":{"1":{"docs":{},":":{"2":{"docs":{},"来":{"docs":{},"占":{"docs":{},"据":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"(":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"效":{"docs":{},"果":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"划":{"docs":{},"线":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"预":{"docs":{},"定":{"docs":{},"义":{"docs":{},"以":{"docs":{},"供":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"指":{"docs":{},"定":{"docs":{},"返":{"docs":{},"回":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"足":{"1":{"0":{"0":{"docs":{},"条":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"同":{"docs":{},"的":{"docs":{},"类":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"即":{"docs":{},"可":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"其":{"docs":{},"它":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"例":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"定":{"docs":{},"义":{"docs":{},"各":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"省":{"docs":{},"略":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"添":{"docs":{},"加":{"docs":{},"输":{"docs":{},"入":{"docs":{},"流":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"失":{"docs":{},"败":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}},"成":{"docs":{},"功":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"不":{"docs":{},"是":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"类":{"docs":{},"型":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"告":{"docs":{},"错":{"docs":{},"误":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"无":{"docs":{},"论":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"手":{"docs":{},"指":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"更":{"docs":{},"新":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}},"于":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"等":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"话":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"i":{"docs":{},"d":{"docs":{},"获":{"docs":{},"取":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"登":{"docs":{},"录":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"页":{"docs":{},"面":{"docs":{},"a":{"docs":{},"中":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"b":{"docs":{},"中":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"后":{"docs":{},"保":{"docs":{},"存":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}},"主":{"docs":{},"题":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}},"设":{"docs":{},"置":{"docs":{},"[":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"]":{"docs":{},"和":{"docs":{},"[":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{},"标":{"docs":{},"志":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"后":{"docs":{},"面":{"docs":{},"获":{"docs":{},"取":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"代":{"docs":{},"理":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"首":{"docs":{},"页":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}},"所":{"docs":{},"以":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"必":{"docs":{},"须":{"docs":{},"通":{"docs":{},"过":{"docs":{},"某":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"将":{"docs":{},"其":{"docs":{},"状":{"docs":{},"态":{"docs":{},"对":{"docs":{},"象":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}},"由":{"docs":{},"于":{"docs":{},"子":{"docs":{},"类":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"对":{"docs":{},"象":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"子":{"docs":{},"代":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"方":{"docs":{},"式":{"docs":{},"获":{"docs":{},"取":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"蓝":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"回":{"docs":{},"显":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"到":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"右":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"最":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"常":{"docs":{},"见":{"docs":{},"为":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"上":{"docs":{},"报":{"docs":{},"错":{"docs":{},"误":{"docs":{},"和":{"docs":{},"日":{"docs":{},"志":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"下":{"docs":{},"各":{"docs":{},"添":{"docs":{},"加":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}},"docs":{}}}},"左":{"docs":{},"右":{"docs":{},"各":{"docs":{},"添":{"docs":{},"加":{"1":{"6":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}},"docs":{}},"docs":{}}}}}}},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}},"手":{"docs":{},"机":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"移":{"docs":{},"动":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"日":{"docs":{},"志":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"构":{"docs":{},"建":{"docs":{},"错":{"docs":{},"误":{"docs":{},"详":{"docs":{},"情":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"值":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"自":{"docs":{},"增":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"将":{"docs":{},"该":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"将":{"docs":{},"会":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"水":{"docs":{},"波":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},"水":{"docs":{},"波":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}},"移":{"docs":{},"除":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}},"随":{"docs":{},"便":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"重":{"docs":{},"复":{"docs":{},"六":{"docs":{},"次":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"包":{"docs":{},"名":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"未":{"docs":{},"定":{"docs":{},"位":{"docs":{},"或":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"位":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"4":{"0":{"0":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"docs":{}},"docs":{}},"docs":{}}}}}},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"控":{"docs":{},"件":{"docs":{},"风":{"docs":{},"格":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"高":{"docs":{},"度":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"画":{"docs":{},"布":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"外":{"docs":{},"形":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}},"按":{"docs":{},"钮":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"点":{"docs":{},"击":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}},"时":{"docs":{},"分":{"docs":{},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}},"填":{"docs":{},"充":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"正":{"docs":{},"常":{"docs":{},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"混":{"docs":{},"合":{"docs":{},"色":{"docs":{},"值":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"高":{"docs":{},"度":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"宽":{"docs":{},"高":{"docs":{},"从":{"0":{"docs":{},"变":{"docs":{},"到":{"3":{"0":{"0":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"重":{"docs":{},"复":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"页":{"docs":{},"面":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"绘":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"预":{"docs":{},"处":{"docs":{},"理":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"检":{"docs":{},"查":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"维":{"docs":{},"护":{"docs":{},"单":{"docs":{},"选":{"docs":{},"开":{"docs":{},"关":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"时":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"不":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"方":{"docs":{},"式":{"docs":{},"获":{"docs":{},"取":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"不":{"docs":{},"对":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"期":{"docs":{},"间":{"docs":{},"如":{"docs":{},"何":{"docs":{},"表":{"docs":{},"现":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"获":{"docs":{},"取":{"docs":{},"共":{"docs":{},"享":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"当":{"docs":{},"前":{"docs":{},"指":{"docs":{},"针":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"将":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"从":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"移":{"docs":{},"到":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"换":{"docs":{},"成":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"转":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"此":{"docs":{},"处":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"转":{"docs":{},"为":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"类":{"docs":{},"型":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"模":{"docs":{},"板":{"docs":{},"输":{"docs":{},"出":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"结":{"docs":{},"果":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"中":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"开":{"docs":{},"启":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"是":{"docs":{},"否":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}},"抗":{"docs":{},"锯":{"docs":{},"齿":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"为":{"docs":{},"中":{"docs":{},"文":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}},"支":{"docs":{},"持":{"docs":{},"某":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"应":{"docs":{},"用":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"校":{"docs":{},"验":{"docs":{},"密":{"docs":{},"码":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"证":{"docs":{},"书":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"监":{"docs":{},"听":{"docs":{},"输":{"docs":{},"入":{"docs":{},"改":{"docs":{},"变":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},"通":{"docs":{},"知":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"验":{"docs":{},"证":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"通":{"docs":{},"过":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}}}}},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},"拖":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}},"有":{"docs":{},"效":{"docs":{},",":{"docs":{},"外":{"docs":{},"层":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"docs":{},"整":{"docs":{},"个":{"docs":{},"屏":{"docs":{},"幕":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},",":{"docs":{},"省":{"docs":{},"略":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"排":{"docs":{},"除":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"默":{"docs":{},"认":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"干":{"docs":{},"扰":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}},"沿":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}},"y":{"docs":{},"轴":{"docs":{},"倾":{"docs":{},"斜":{"0":{"docs":{},".":{"3":{"docs":{},"弧":{"docs":{},"度":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}}},"docs":{}}}}}},"计":{"docs":{},"算":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}},"未":{"docs":{},"定":{"docs":{},"位":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"占":{"docs":{},"满":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"整":{"docs":{},"个":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"来":{"docs":{},"确":{"docs":{},"保":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"占":{"docs":{},"满":{"docs":{},"屏":{"docs":{},"幕":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"来":{"docs":{},"达":{"docs":{},"到":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"效":{"docs":{},"果":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}},"左":{"docs":{},"边":{"docs":{},"添":{"docs":{},"加":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}},"docs":{}}}}},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"为":{"docs":{},"左":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"排":{"docs":{},"除":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"干":{"docs":{},"扰":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"段":{"docs":{},"名":{"docs":{},"与":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"区":{"docs":{},"域":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"相":{"docs":{},"等":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}},"“":{"docs":{},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"父":{"docs":{},"级":{"docs":{},"限":{"docs":{},"制":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}},"高":{"docs":{},"比":{"docs":{},"为":{"1":{"docs":{},"时":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}},"2":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"docs":{}}}}},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}},"高":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}},"高":{"docs":{},"度":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"为":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}},"docs":{}},"docs":{}}}}}},"父":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}},"或":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"改":{"docs":{},"变":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},"时":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"圆":{"docs":{},"角":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"形":{"docs":{},"状":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"渐":{"docs":{},"变":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"背":{"docs":{},"景":{"docs":{},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}},"渐":{"docs":{},"变":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"径":{"docs":{},"向":{"docs":{},"渐":{"docs":{},"变":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}},"为":{"docs":{},"纸":{"docs":{},"黄":{"docs":{},"色":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"边":{"docs":{},"框":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"多":{"docs":{},"个":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"放":{"docs":{},"大":{"docs":{},"到":{"1":{"docs":{},".":{"5":{"docs":{},"倍":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}},"docs":{}}},"docs":{}}},"开":{"docs":{},"此":{"docs":{},"行":{"docs":{},"注":{"docs":{},"释":{"docs":{},"后":{"docs":{},",":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"将":{"docs":{},"失":{"docs":{},"效":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"\"":{"docs":{},"点":{"docs":{},"透":{"docs":{},"\"":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"9":{"0":{"docs":{},"度":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"(":{"1":{"docs":{},"/":{"4":{"docs":{},"圈":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{},"的":{"docs":{},"“":{"docs":{},"圈":{"docs":{},"”":{"docs":{},"数":{"docs":{},",":{"docs":{},"一":{"docs":{},"圈":{"docs":{},"为":{"3":{"6":{"0":{"docs":{},"度":{"docs":{},",":{"docs":{},"如":{"0":{"docs":{},".":{"2":{"5":{"docs":{},"圈":{"docs":{},"即":{"9":{"0":{"docs":{},"度":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"角":{"docs":{},"度":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"原":{"docs":{},"点":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"原":{"docs":{},"点":{"docs":{},"为":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},",":{"docs":{},"左":{"docs":{},"移":{"2":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"向":{"docs":{},"上":{"docs":{},"平":{"docs":{},"移":{"5":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}},"前":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}},"卡":{"docs":{},"片":{"docs":{},"倾":{"docs":{},"斜":{"docs":{},"变":{"docs":{},"换":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}},"内":{"docs":{},"文":{"docs":{},"字":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"大":{"docs":{},"小":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"文":{"docs":{},"字":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"变":{"docs":{},"换":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"色":{"docs":{},"开":{"docs":{},"关":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}},"容":{"docs":{},"器":{"docs":{},"内":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},",":{"docs":{},"属":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"范":{"docs":{},"围":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308}}}}},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"中":{"docs":{},"间":{"docs":{},"位":{"docs":{},"置":{"docs":{},"空":{"docs":{},"出":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},"见":{"docs":{},"源":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"及":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}},"创":{"docs":{},"建":{"3":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"并":{"docs":{},"配":{"docs":{},"置":{"docs":{},"其":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}},"均":{"docs":{},"分":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"横":{"docs":{},"向":{"docs":{},"空":{"docs":{},"间":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"自":{"docs":{},"动":{"docs":{},"实":{"docs":{},"现":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"了":{"docs":{},"表":{"docs":{},"尾":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"并":{"docs":{},"且":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"总":{"docs":{},"数":{"docs":{},"小":{"docs":{},"于":{"2":{"0":{"0":{"docs":{},"时":{"docs":{},"继":{"docs":{},"续":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"则":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},")":{"docs":{},"本":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"抽":{"docs":{},"屉":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"标":{"docs":{},"题":{"docs":{},"是":{"docs":{},"否":{"docs":{},"居":{"docs":{},"中":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"生":{"docs":{},"成":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"需":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}},"在":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"则":{"docs":{},"应":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}},"动":{"docs":{},"态":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}},"画":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"到":{"docs":{},"初":{"docs":{},"始":{"docs":{},"状":{"docs":{},"态":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}},"时":{"docs":{},"间":{"docs":{},"为":{"5":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"母":{"docs":{},"都":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"字":{"docs":{},"体":{"docs":{},"为":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"两":{"docs":{},"倍":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"生":{"docs":{},"成":{"2":{"0":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"docs":{}},"docs":{}}}},"行":{"docs":{},"三":{"docs":{},"列":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"将":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"自":{"docs":{},"增":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"将":{"docs":{},"被":{"docs":{},"更":{"docs":{},"新":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"各":{"docs":{},"个":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"共":{"docs":{},"同":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},"相":{"docs":{},"关":{"docs":{},"值":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"题":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"a":{"docs":{},"l":{"docs":{},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"高":{"docs":{},"度":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"2":{"4":{"docs":{},"、":{"5":{"6":{"docs":{},"、":{"5":{"6":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"割":{"docs":{},"器":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"高":{"docs":{},"度":{"docs":{},"固":{"docs":{},"定":{"docs":{},"时":{"docs":{},",":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"高":{"docs":{},"度":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"好":{"docs":{},"习":{"docs":{},"惯":{"docs":{},"(":{"docs":{},"性":{"docs":{},"能":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"小":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"空":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"5":{"0":{"docs":{},".":{"0":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"docs":{}}},"docs":{}},"docs":{}}}}}},"表":{"docs":{},"尾":{"docs":{},"标":{"docs":{},"记":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"控":{"docs":{},"制":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}},"横":{"docs":{},"轴":{"docs":{},"三":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"按":{"docs":{},"两":{"docs":{},"列":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"本":{"docs":{},"路":{"docs":{},"由":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"让":{"docs":{},"子":{"docs":{},"级":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"内":{"docs":{},"存":{"docs":{},"泄":{"docs":{},"露":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"复":{"docs":{},"导":{"docs":{},"入":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"包":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"句":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}},"第":{"docs":{},"二":{"docs":{},"行":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"(":{"docs":{},"固":{"docs":{},"定":{"docs":{},"为":{"docs":{},"黑":{"docs":{},"色":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}},"两":{"docs":{},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"超":{"docs":{},"过":{"1":{"docs":{},"秒":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"时":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}},"docs":{}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"共":{"docs":{},"享":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"u":{"docs":{},"a":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"曲":{"docs":{},"线":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"渐":{"docs":{},"隐":{"docs":{},"渐":{"docs":{},"入":{"docs":{},"过":{"docs":{},"渡":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"`":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"`":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"决":{"docs":{},"定":{"docs":{},"当":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"通":{"docs":{},"知":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"色":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"样":{"docs":{},"本":{"docs":{},",":{"docs":{},"见":{"docs":{},"下":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"主":{"docs":{},"题":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}},"被":{"docs":{},"激":{"docs":{},"活":{"docs":{},",":{"docs":{},"是":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}},"文":{"docs":{},"字":{"docs":{},"字":{"docs":{},"体":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"次":{"docs":{},"级":{"docs":{},"色":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"如":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"、":{"docs":{},"开":{"docs":{},"关":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"深":{"docs":{},"色":{"docs":{},"还":{"docs":{},"是":{"docs":{},"浅":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"第":{"docs":{},"一":{"docs":{},"行":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"使":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"光":{"docs":{},"标":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"出":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"姓":{"docs":{},"名":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"凭":{"docs":{},"据":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}},"双":{"docs":{},"击":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"更":{"docs":{},"新":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"名":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缩":{"docs":{},"放":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"在":{"0":{"docs":{},".":{"8":{"docs":{},"到":{"1":{"0":{"docs":{},"倍":{"docs":{},"之":{"docs":{},"间":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}},"要":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"和":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}},"距":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"长":{"docs":{},"按":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"反":{"docs":{},"向":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"在":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"在":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"自":{"docs":{},"身":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"下":{"docs":{},"标":{"docs":{},"错":{"docs":{},"位":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"厂":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}},"添":{"docs":{},"加":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"私":{"docs":{},"有":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"触":{"docs":{},"发":{"docs":{},"后":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"所":{"docs":{},"有":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"回":{"docs":{},"调":{"docs":{},"签":{"docs":{},"名":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"a":{"docs":{},"中":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}},"(":{"docs":{},"正":{"docs":{},"向":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"释":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{},"资":{"docs":{},"源":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}},"b":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}}},"唯":{"docs":{},"一":{"docs":{},"标":{"docs":{},"记":{"docs":{},",":{"docs":{},"前":{"docs":{},"后":{"docs":{},"两":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"必":{"docs":{},"须":{"docs":{},"相":{"docs":{},"同":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"前":{"6":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"docs":{}},"docs":{}},"后":{"4":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"docs":{}},"docs":{}}}}},"高":{"docs":{},"度":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}},"确":{"docs":{},"保":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"数":{"docs":{},"组":{"docs":{},"不":{"docs":{},"空":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"总":{"docs":{},"时":{"docs":{},"长":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}},"填":{"docs":{},"充":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"画":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"网":{"docs":{},"格":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"背":{"docs":{},"景":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}},"笔":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"docs":{},"填":{"docs":{},"充":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}},"线":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"/":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.008174386920980926},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}},"两":{"docs":{},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"圆":{"docs":{},"角":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"粗":{"docs":{},"细":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"这":{"docs":{},"个":{"docs":{},"标":{"docs":{},"注":{"docs":{},"是":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"剪":{"docs":{},"裁":{"docs":{},"半":{"docs":{},"圆":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"实":{"docs":{},"现":{"docs":{},"画":{"docs":{},"笔":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"该":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"中":{"docs":{},"止":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"(":{"docs":{},"会":{"docs":{},"将":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"则":{"docs":{},"允":{"docs":{},"许":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}},"读":{"docs":{},"取":{"docs":{},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}},"网":{"docs":{},"络":{"docs":{},"不":{"docs":{},"通":{"docs":{},"会":{"docs":{},"走":{"docs":{},"到":{"docs":{},"这":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}},"发":{"docs":{},"送":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}},"根":{"docs":{},"据":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"发":{"docs":{},"送":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"列":{"docs":{},"表":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"替":{"docs":{},"换":{"docs":{},"模":{"docs":{},"板":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}},"入":{"docs":{},"栈":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}},"查":{"docs":{},"找":{"docs":{},"当":{"docs":{},"前":{"docs":{},"或":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"递":{"docs":{},"归":{"docs":{},"子":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"@":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014742014742014743},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.019832985386221295},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016713091922005572},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.017142857142857144},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.03592814371257485},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.021314387211367674},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.013192612137203167},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.05521472392638037},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.03398058252427184},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.009536784741144414},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.01818181818181818},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.009433962264150943},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.02631578947368421},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"b":{"docs":{},"j":{"docs":{},"c":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}},"i":{"docs":{},"m":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.016260162601626018},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}},"`":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"`":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"'":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"模":{"docs":{},"式":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"还":{"docs":{},"有":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"或":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"运":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"模":{"docs":{},"式":{"docs":{},"都":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"的":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"会":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"便":{"docs":{},"远":{"docs":{},"远":{"docs":{},"追":{"docs":{},"不":{"docs":{},"上":{"docs":{},"了":{"docs":{},"。":{"docs":{},"速":{"docs":{},"度":{"docs":{},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"对":{"docs":{},"高":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"下":{"docs":{},"的":{"docs":{},"视":{"docs":{},"图":{"docs":{},"数":{"docs":{},"据":{"docs":{},"计":{"docs":{},"算":{"docs":{},"很":{"docs":{},"有":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"。":{"docs":{},"其":{"docs":{},"次":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"布":{"docs":{},"局":{"docs":{},"数":{"docs":{},"据":{"docs":{},"等":{"docs":{},"由":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"直":{"docs":{},"接":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"布":{"docs":{},"局":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"像":{"docs":{},"r":{"docs":{},"n":{"docs":{},"那":{"docs":{},"样":{"docs":{},"要":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"和":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"和":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"具":{"docs":{},"有":{"docs":{},"明":{"docs":{},"显":{"docs":{},"优":{"docs":{},"势":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"和":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"过":{"docs":{},"程":{"docs":{},"往":{"docs":{},"往":{"docs":{},"都":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"和":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"之":{"docs":{},"间":{"docs":{},"不":{"docs":{},"停":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"要":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"操":{"docs":{},"作":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"所":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"比":{"docs":{},"较":{"docs":{},"可":{"docs":{},"观":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"当":{"docs":{},"以":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}},"p":{"docs":{},"i":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":5},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"比":{"docs":{},"如":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"或":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"语":{"docs":{},"言":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"了":{"docs":{},"解":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"文":{"docs":{},"本":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"图":{"docs":{},"片":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"得":{"docs":{},"自":{"docs":{},"己":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"而":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"强":{"docs":{},"大":{"docs":{},"灵":{"docs":{},"活":{"docs":{},",":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"任":{"docs":{},"何":{"docs":{},"外":{"docs":{},"观":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"底":{"docs":{},"层":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"这":{"docs":{},"种":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"库":{"docs":{},"(":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},")":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"跨":{"docs":{},"多":{"docs":{},"端":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"、":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"取":{"docs":{},"消":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"管":{"docs":{},"理":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"上":{"docs":{},"传":{"docs":{},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{},"、":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"封":{"docs":{},"装":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"协":{"docs":{},"议":{"docs":{},"或":{"docs":{},"者":{"docs":{},"想":{"docs":{},"直":{"docs":{},"接":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"管":{"docs":{},"理":{"docs":{},"网":{"docs":{},"络":{"docs":{},"链":{"docs":{},"接":{"docs":{},"、":{"docs":{},"又":{"docs":{},"或":{"docs":{},"者":{"docs":{},"我":{"docs":{},"们":{"docs":{},"觉":{"docs":{},"得":{"docs":{},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"不":{"docs":{},"好":{"docs":{},"用":{"docs":{},"想":{"docs":{},"重":{"docs":{},"新":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"它":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"就":{"docs":{},"是":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"操":{"docs":{},"作":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"将":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"转":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"内":{"docs":{},"置":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"很":{"docs":{},"少":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"能":{"docs":{},"开":{"docs":{},"发":{"docs":{},"平":{"docs":{},"台":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},"标":{"docs":{},"识":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"提":{"docs":{},"取":{"docs":{},"到":{"docs":{},"“":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"接":{"docs":{},"近":{"docs":{},"原":{"docs":{},"生":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"原":{"docs":{},"始":{"docs":{},"且":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"与":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"上":{"docs":{},"层":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"设":{"docs":{},"计":{"docs":{},"成":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"完":{"docs":{},"全":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"设":{"docs":{},"计":{"docs":{},"者":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"设":{"docs":{},"计":{"docs":{},"成":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"风":{"docs":{},"格":{"docs":{},"或":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"风":{"docs":{},"格":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"去":{"docs":{},"做":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"再":{"docs":{},"去":{"docs":{},"搞":{"docs":{},"这":{"docs":{},"一":{"docs":{},"套":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"很":{"docs":{},"棒":{"docs":{},"的":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"提":{"docs":{},"出":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"认":{"docs":{},"为":{"docs":{},"做":{"docs":{},"与":{"docs":{},"不":{"docs":{},"做":{"docs":{},"是":{"docs":{},"一":{"docs":{},"回":{"docs":{},"事":{"docs":{},",":{"docs":{},"但":{"docs":{},"知":{"docs":{},"道":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"做":{"docs":{},"是":{"docs":{},"另":{"docs":{},"一":{"docs":{},"回":{"docs":{},"事":{"docs":{},",":{"docs":{},"这":{"docs":{},"能":{"docs":{},"反":{"docs":{},"映":{"docs":{},"出":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"知":{"docs":{},"识":{"docs":{},"的":{"docs":{},"掌":{"docs":{},"握":{"docs":{},"程":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":5}},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"比":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"小":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{},"。":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}},",":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"同":{"docs":{},"时":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"(":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}},"'":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"6":{"0":{"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"0":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"标":{"docs":{},"题":{"docs":{},"、":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"、":{"docs":{},"底":{"docs":{},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"等":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"、":{"docs":{},"主":{"docs":{},"题":{"docs":{},"、":{"docs":{},"语":{"docs":{},"言":{"docs":{},"、":{"docs":{},"首":{"docs":{},"页":{"docs":{},"及":{"docs":{},"路":{"docs":{},"由":{"docs":{},"列":{"docs":{},"表":{"docs":{},"等":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"里":{"docs":{},"很":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"标":{"docs":{},"题":{"docs":{},"字":{"docs":{},"体":{"docs":{},"、":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"样":{"docs":{},"式":{"docs":{},"等":{"docs":{},"。":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"内":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"为":{"docs":{},"其":{"docs":{},"子":{"docs":{},"树":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"共":{"docs":{},"享":{"docs":{},"样":{"docs":{},"式":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"区":{"docs":{},"域":{"docs":{},"时":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"从":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"主":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"结":{"docs":{},"合":{"docs":{},"前":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"以":{"docs":{},"及":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"来":{"docs":{},"加":{"docs":{},"强":{"docs":{},"细":{"docs":{},"节":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.014354066985645933},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.053763440860215055},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"设":{"docs":{},"置":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"存":{"docs":{},"储":{"docs":{},"目":{"docs":{},"录":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"e":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.026385224274406333},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.049079754601226995},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.0211864406779661}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"{":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"实":{"docs":{},"现":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"外":{"docs":{},"部":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.02702702702702703},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},"⏭":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"派":{"docs":{},"生":{"docs":{},"自":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"地":{"docs":{},"方":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"数":{"docs":{},"字":{"docs":{},"的":{"docs":{},"区":{"docs":{},"间":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"和":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"动":{"docs":{},"画":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}},"\\":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"获":{"docs":{},"取":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"本":{"docs":{},"身":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"插":{"docs":{},"值":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"docs":{},";":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"比":{"docs":{},"较":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"在":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"依":{"docs":{},"次":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"区":{"docs":{},"间":{"docs":{},"(":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},"之":{"docs":{},"间":{"docs":{},"值":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"值":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"、":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"的":{"docs":{},"、":{"docs":{},"一":{"docs":{},"个":{"docs":{},"步":{"docs":{},"进":{"docs":{},"函":{"docs":{},"数":{"docs":{},"或":{"docs":{},"者":{"docs":{},"任":{"docs":{},"何":{"docs":{},"其":{"docs":{},"他":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"取":{"docs":{},"到":{"docs":{},"。":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"函":{"docs":{},"数":{"docs":{},"还":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"分":{"docs":{},"别":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"值":{"docs":{},"为":{"0":{"docs":{},".":{"0":{"docs":{},"和":{"1":{"docs":{},".":{"0":{"docs":{},"时":{"docs":{},"返":{"docs":{},"回":{"docs":{},"开":{"docs":{},"始":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.04294478527607362},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}},"e":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438}}}}}}}}},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0079155672823219}}},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}},")":{"docs":{},"。":{"docs":{},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"z":{"docs":{},"e":{"docs":{},"测":{"docs":{},"试":{"docs":{},"你":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"(":{"docs":{},"它":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"具":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},")":{"docs":{},"将":{"docs":{},"分":{"docs":{},"析":{"docs":{},"你":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"并":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"2":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},"docs":{}}}}}}}}}}}}},"y":{"docs":{},"]":{"docs":{},"?":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"s":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"将":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"(":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"将":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"(":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"。":{"docs":{},"当":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"当":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"非":{"docs":{},"常":{"docs":{},"小":{"docs":{},"(":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"块":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"短":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"添":{"docs":{},"加":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"反":{"docs":{},"而":{"docs":{},"会":{"docs":{},"更":{"docs":{},"高":{"docs":{},"效":{"docs":{},"。":{"docs":{},"和":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"自":{"docs":{},"己":{"docs":{},"维":{"docs":{},"护":{"docs":{},"其":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"必":{"docs":{},"须":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"帧":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"帧":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"中":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"是":{"docs":{},"改":{"docs":{},"变":{"docs":{},"状":{"docs":{},"态":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"触":{"docs":{},"发":{"docs":{},"u":{"docs":{},"i":{"docs":{},"重":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"“":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"”":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},";":{"docs":{},"动":{"docs":{},"画":{"docs":{},"开":{"docs":{},"始":{"docs":{},"、":{"docs":{},"结":{"docs":{},"束":{"docs":{},"、":{"docs":{},"正":{"docs":{},"向":{"docs":{},"或":{"docs":{},"反":{"docs":{},"向":{"docs":{},"(":{"docs":{},"见":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"定":{"docs":{},"义":{"docs":{},")":{"docs":{},"时":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"/":{"docs":{},"#":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}}}}}}}},"b":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"*":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"”":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},",":{"docs":{},"其":{"docs":{},"格":{"docs":{},"式":{"docs":{},"规":{"docs":{},"范":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"将":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"交":{"docs":{},"给":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},",":{"docs":{},"当":{"docs":{},"他":{"docs":{},"们":{"docs":{},"完":{"docs":{},"成":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"保":{"docs":{},"存":{"docs":{},"我":{"docs":{},"们":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"命":{"docs":{},"令":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"v":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"决":{"docs":{},"定":{"docs":{},"如":{"docs":{},"何":{"docs":{},"去":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},"或":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"位":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"特":{"docs":{},"指":{"docs":{},"没":{"docs":{},"有":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"定":{"docs":{},"位":{"docs":{},":":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"、":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"为":{"docs":{},"横":{"docs":{},"轴":{"docs":{},",":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"、":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"为":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},"某":{"docs":{},"个":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"定":{"docs":{},"位":{"docs":{},"属":{"docs":{},"性":{"docs":{},"就":{"docs":{},"算":{"docs":{},"在":{"docs":{},"该":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"v":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},"值":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"会":{"docs":{},"保":{"docs":{},"持":{"docs":{},"连":{"docs":{},"接":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"阈":{"docs":{},"值":{"docs":{},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"请":{"docs":{},"求":{"docs":{},"多":{"docs":{},"个":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"创":{"docs":{},"建":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"它":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"链":{"docs":{},"接":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"而":{"docs":{},"并":{"docs":{},"非":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"时":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"链":{"docs":{},"接":{"docs":{},"会":{"docs":{},"保":{"docs":{},"持":{"docs":{},"一":{"docs":{},"段":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"但":{"docs":{},"最":{"docs":{},"终":{"docs":{},"还":{"docs":{},"是":{"docs":{},"会":{"docs":{},"断":{"docs":{},"开":{"docs":{},",":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"被":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"许":{"docs":{},"多":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"是":{"docs":{},"否":{"docs":{},"违":{"docs":{},"反":{"docs":{},"一":{"docs":{},"些":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.04433497536945813}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012605042016806723}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"声":{"docs":{},"明":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"背":{"docs":{},"景":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"l":{"docs":{},"f":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"a":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"l":{"docs":{},"f":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0163265306122449}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"指":{"docs":{},"定":{"docs":{},"应":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"(":{"docs":{},"有":{"docs":{},"时":{"docs":{},"称":{"docs":{},"为":{"docs":{},"资":{"docs":{},"源":{"docs":{},")":{"docs":{},"。":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"是":{"docs":{},"会":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"程":{"docs":{},"序":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{},"常":{"docs":{},"见":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"包":{"docs":{},"括":{"docs":{},"静":{"docs":{},"态":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},")":{"docs":{},"、":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"、":{"docs":{},"图":{"docs":{},"标":{"docs":{},"和":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"j":{"docs":{},"p":{"docs":{},"e":{"docs":{},"g":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},",":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.024489795918367346},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"和":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"关":{"docs":{},"键":{"docs":{},"词":{"docs":{},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{},"异":{"docs":{},"步":{"docs":{},"编":{"docs":{},"程":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"您":{"docs":{},"写":{"docs":{},"出":{"docs":{},"和":{"docs":{},"同":{"docs":{},"步":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"像":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"/":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}},"!":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"滑":{"docs":{},"到":{"docs":{},"了":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"l":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},";":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"=":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.013824884792626729},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.02112676056338028},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.0625},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"s":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},";":{"docs":{},"当":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"内":{"docs":{},"容":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},",":{"docs":{},"并":{"docs":{},"直":{"docs":{},"接":{"docs":{},"显":{"docs":{},"示":{"docs":{},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"手":{"docs":{},"动":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"”":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"r":{"docs":{},"i":{"docs":{},"l":{"docs":{},"f":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}},":":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},":":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},",":{"docs":{},"圆":{"docs":{},"形":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"b":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"大":{"docs":{},"图":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"=":{"1":{"7":{"2":{"8":{"0":{"0":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},")":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},")":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},".":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},".":{"0":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},"docs":{}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}}},"a":{"docs":{},"k":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253}}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}},",":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014742014742014743},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.011482254697286013},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.011142061281337047},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"读":{"docs":{},"者":{"docs":{},"现":{"docs":{},"在":{"docs":{},"应":{"docs":{},"该":{"docs":{},"已":{"docs":{},"经":{"docs":{},"相":{"docs":{},"当":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"了":{"docs":{},",":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"如":{"docs":{},"下":{"docs":{},"场":{"docs":{},"景":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"(":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"同":{"docs":{},"步":{"docs":{},"读":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}},"e":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"前":{"docs":{},"者":{"docs":{},"被":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"或":{"docs":{},"图":{"docs":{},"片":{"docs":{},"(":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},")":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"使":{"docs":{},"父":{"docs":{},"级":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"动":{"docs":{},"态":{"docs":{},"替":{"docs":{},"换":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"于":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"或":{"docs":{},"测":{"docs":{},"试":{"docs":{},"场":{"docs":{},"景":{"docs":{},"很":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"和":{"docs":{},"用":{"docs":{},"户":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"有":{"docs":{},"一":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{},"通":{"docs":{},"知":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"可":{"docs":{},"以":{"docs":{},"中":{"docs":{},"止":{"docs":{},",":{"docs":{},"但":{"docs":{},"用":{"docs":{},"户":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"不":{"docs":{},"行":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"、":{"docs":{},"m":{"docs":{},"k":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"、":{"docs":{},"r":{"docs":{},"m":{"docs":{},"、":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"、":{"docs":{},"u":{"docs":{},"n":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{},"、":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"d":{"docs":{},"认":{"docs":{},"证":{"docs":{},"等":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"和":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"两":{"docs":{},"种":{"docs":{},"认":{"docs":{},"证":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"认":{"docs":{},"证":{"docs":{},"方":{"docs":{},"式":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"发":{"docs":{},"送":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"前":{"docs":{},"者":{"docs":{},"只":{"docs":{},"是":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"编":{"docs":{},"码":{"docs":{},"(":{"docs":{},"可":{"docs":{},"逆":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"哈":{"docs":{},"希":{"docs":{},"运":{"docs":{},"算":{"docs":{},",":{"docs":{},"相":{"docs":{},"对":{"docs":{},"来":{"docs":{},"说":{"docs":{},"安":{"docs":{},"全":{"docs":{},"一":{"docs":{},"点":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"安":{"docs":{},"全":{"docs":{},"起":{"docs":{},"见":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"还":{"docs":{},"是":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},",":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"协":{"docs":{},"议":{"docs":{},"下":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"防":{"docs":{},"止":{"docs":{},"抓":{"docs":{},"包":{"docs":{},"和":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}}}},"、":{"docs":{},"一":{"docs":{},"个":{"docs":{},"边":{"docs":{},"框":{"docs":{},"、":{"docs":{},"或":{"docs":{},"者":{"docs":{},"一":{"docs":{},"个":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}},":":{"docs":{},"在":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"后":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"即":{"docs":{},"背":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"g":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.021929824561403508},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.017543859649122806},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.025157232704402517},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"(":{"docs":{},"位":{"docs":{},")":{"docs":{},",":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"深":{"docs":{},"度":{"docs":{},"越":{"docs":{},"深":{"docs":{},",":{"docs":{},"所":{"docs":{},"能":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"色":{"docs":{},"彩":{"docs":{},"更":{"docs":{},"加":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"靓":{"docs":{},"丽":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"些":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"中":{"docs":{},"基":{"docs":{},"本":{"docs":{},"都":{"docs":{},"是":{"docs":{},"监":{"docs":{},"听":{"docs":{},"并":{"docs":{},"处":{"docs":{},"理":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"按":{"docs":{},"照":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"包":{"docs":{},"装":{"docs":{},"、":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"然":{"docs":{},"后":{"docs":{},"分":{"docs":{},"发":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"正":{"docs":{},"是":{"docs":{},"粘":{"docs":{},"连":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.007306889352818371},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.013927576601671309},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.02040816326530612},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.02631578947368421},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.011152416356877323}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"k":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}},"d":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}},"{":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},"/":{"docs":{},"/":{"docs":{},"背":{"docs":{},"景":{"docs":{},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},"s":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"docs":{}}},"8":{"8":{"docs":{},".":{"0":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"这":{"docs":{},"是":{"docs":{},"根":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"w":{"docs":{},"=":{"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006804925469863901}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.03508771929824561}}}}}}}}}}},"{":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"可":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{},"的":{"docs":{},"用":{"docs":{},"以":{"docs":{},"填":{"docs":{},"充":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{},"除":{"docs":{},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"2":{"0":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"docs":{}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}},"还":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"快":{"docs":{},"速":{"docs":{},"生":{"docs":{},"成":{"docs":{},"特":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},"规":{"docs":{},"则":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{},"如":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}},"p":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"docs":{}}},"docs":{}},"3":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}},"docs":{}}},"docs":{}}}}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{},"离":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"左":{"docs":{},"、":{"docs":{},"上":{"docs":{},"、":{"docs":{},"右":{"docs":{},"、":{"docs":{},"底":{"docs":{},"四":{"docs":{},"边":{"docs":{},"的":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"定":{"docs":{},"位":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"定":{"docs":{},"位":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"时":{"docs":{},",":{"docs":{},"你":{"docs":{},"只":{"docs":{},"能":{"docs":{},"指":{"docs":{},"定":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"、":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"、":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"三":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},",":{"docs":{},"如":{"docs":{},"指":{"docs":{},"定":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"后":{"docs":{},",":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"算":{"docs":{},"出":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"+":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"三":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"则":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"同":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},":":{"docs":{},"分":{"docs":{},"别":{"docs":{},"指":{"docs":{},"定":{"docs":{},"四":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"的":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"决":{"docs":{},"定":{"docs":{},"洞":{"docs":{},"的":{"docs":{},"外":{"docs":{},"形":{"docs":{},",":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"的":{"docs":{},"外":{"docs":{},"形":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"外":{"docs":{},"形":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"字":{"docs":{},"段":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}},":":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"原":{"docs":{},"图":{"docs":{},",":{"docs":{},"矩":{"docs":{},"形":{"docs":{},";":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"[":{"docs":{},"]":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},")":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0171990171990172},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.015657620041753653},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.011428571428571429},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.029940119760479042},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.019538188277087035},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.019417475728155338},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.030864197530864196},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},")":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"在":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"3":{"docs":{},")":{"docs":{},",":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"+":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"下":{"docs":{},"微":{"docs":{},"光":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"p":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"图":{"docs":{},"形":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"2":{"0":{"0":{"8":{"docs":{},"年":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"科":{"docs":{},"技":{"docs":{},"被":{"docs":{},"诺":{"docs":{},"基":{"docs":{},"亚":{"docs":{},"公":{"docs":{},"司":{"docs":{},"收":{"docs":{},"购":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{},"也":{"docs":{},"因":{"docs":{},"此":{"docs":{},"成":{"docs":{},"为":{"docs":{},"诺":{"docs":{},"基":{"docs":{},"亚":{"docs":{},"旗":{"docs":{},"下":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"2":{"0":{"1":{"2":{"docs":{},"年":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{},"被":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"a":{"docs":{},"收":{"docs":{},"购":{"docs":{},"。":{"2":{"0":{"1":{"4":{"docs":{},"年":{"4":{"docs":{},"月":{"docs":{},",":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"集":{"docs":{},"成":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"{":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"n":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0326530612244898},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.016260162601626018},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.03296703296703297},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.014767932489451477},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.019498607242339833},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.008174386920980926},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.027586206896551724},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.04678362573099415},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"来":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"。":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"只":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"一":{"docs":{},"个":{"docs":{},"定":{"docs":{},"制":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"把":{"docs":{},"他":{"docs":{},"们":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"想":{"docs":{},"让":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"最":{"docs":{},"小":{"docs":{},"高":{"docs":{},"度":{"docs":{},"是":{"8":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007777057679844459},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.04678362573099415},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.011482254697286013},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.011142061281337047},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.017964071856287425},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},",":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"设":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"简":{"docs":{},"化":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.017937219730941704},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.019498607242339833},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024539877300613498},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"构":{"docs":{},"建":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"树":{"docs":{},"中":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"句":{"docs":{},"柄":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"查":{"docs":{},"找":{"docs":{},"、":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002916396629941672},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.020134228187919462},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.030456852791878174}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872}}}}}}}},"{":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"在":{"docs":{},"三":{"docs":{},"维":{"docs":{},"空":{"docs":{},"间":{"docs":{},"中":{"docs":{},"对":{"docs":{},"其":{"docs":{},"进":{"docs":{},"行":{"docs":{},"变":{"docs":{},"换":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"容":{"docs":{},"器":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/container.html":{"ref":"chapter5/container.html","tf":10}}}},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"对":{"docs":{},"应":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"等":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"合":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"同":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"、":{"docs":{},"变":{"docs":{},"换":{"docs":{},"、":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},":":{"docs":{},"这":{"docs":{},"是":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"适":{"docs":{},"应":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"会":{"docs":{},"在":{"docs":{},"保":{"docs":{},"证":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"长":{"docs":{},"宽":{"docs":{},"比":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"以":{"docs":{},"适":{"docs":{},"应":{"docs":{},"当":{"docs":{},"前":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"不":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},":":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"/":{"docs":{},"获":{"docs":{},"取":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"、":{"docs":{},"选":{"docs":{},"择":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"内":{"docs":{},"容":{"docs":{},"、":{"docs":{},"监":{"docs":{},"听":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"文":{"docs":{},"本":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"我":{"docs":{},"们":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"式":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"与":{"docs":{},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{},"交":{"docs":{},"互":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"则":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"控":{"docs":{},"制":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"没":{"docs":{},"有":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"并":{"docs":{},"且":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"就":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"种":{"docs":{},"机":{"docs":{},"制":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"\"":{"docs":{},"回":{"docs":{},"到":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"控":{"docs":{},"制":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"1":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.013192612137203167}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"s":{"docs":{},"面":{"docs":{},"板":{"docs":{},"中":{"docs":{},"的":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"s":{"docs":{},"目":{"docs":{},"前":{"docs":{},"不":{"docs":{},"提":{"docs":{},"供":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"之":{"docs":{},"一":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"这":{"docs":{},"两":{"docs":{},"款":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},"可":{"docs":{},"获":{"docs":{},"得":{"docs":{},"代":{"docs":{},"码":{"docs":{},"补":{"docs":{},"全":{"docs":{},"、":{"docs":{},"语":{"docs":{},"法":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"、":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"、":{"docs":{},"运":{"docs":{},"行":{"docs":{},"和":{"docs":{},"调":{"docs":{},"试":{"docs":{},"支":{"docs":{},"持":{"docs":{},"等":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"运":{"docs":{},"行":{"docs":{},"和":{"docs":{},"调":{"docs":{},"试":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"及":{"docs":{},"使":{"docs":{},"用":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"官":{"docs":{},"网":{"docs":{},"获":{"docs":{},"得":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"安":{"docs":{},"装":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"模":{"docs":{},"板":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"先":{"docs":{},"仔":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"结":{"docs":{},"构":{"docs":{},"有":{"docs":{},"个":{"docs":{},"基":{"docs":{},"本":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"在":{"docs":{},"随":{"docs":{},"后":{"docs":{},"小":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"基":{"docs":{},"于":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"一":{"docs":{},"步":{"docs":{},"一":{"docs":{},"步":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"些":{"docs":{},"新":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"概":{"docs":{},"念":{"docs":{},"与":{"docs":{},"技":{"docs":{},"术":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跟":{"docs":{},"着":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"实":{"docs":{},"际":{"docs":{},"动":{"docs":{},"手":{"docs":{},"来":{"docs":{},"写":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"加":{"docs":{},"深":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"会":{"docs":{},"对":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"与":{"docs":{},"技":{"docs":{},"术":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"真":{"docs":{},"切":{"docs":{},"的":{"docs":{},"体":{"docs":{},"会":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"还":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"或":{"docs":{},"者":{"docs":{},"没":{"docs":{},"有":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"你":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"面":{"docs":{},"向":{"docs":{},"对":{"docs":{},"象":{"docs":{},"和":{"docs":{},"基":{"docs":{},"本":{"docs":{},"编":{"docs":{},"程":{"docs":{},"概":{"docs":{},"念":{"docs":{},"(":{"docs":{},"如":{"docs":{},"变":{"docs":{},"量":{"docs":{},"、":{"docs":{},"循":{"docs":{},"环":{"docs":{},"和":{"docs":{},"条":{"docs":{},"件":{"docs":{},"控":{"docs":{},"制":{"docs":{},")":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"成":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"前":{"docs":{},"面":{"docs":{},"“":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"程":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"\"":{"docs":{},"。":{"docs":{},"创":{"docs":{},"建":{"docs":{},"好":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.03553299492385787},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"e":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"docs":{}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"5":{"4":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}},"docs":{}},"8":{"7":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"docs":{}},"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"0":{"docs":{},".":{"1":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"5":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}},"docs":{}},"docs":{}},"6":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},")":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"定":{"docs":{},"义":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"字":{"docs":{},"体":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01680672268907563},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"[":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"docs":{}},"docs":{}},"7":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"[":{"1":{"0":{"0":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"docs":{}},"docs":{}},"docs":{}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"p":{"docs":{},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}},")":{"docs":{},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03424657534246575}}}},"[":{"5":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"docs":{}},"docs":{}},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}},"y":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308}}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},"]":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"c":{"docs":{},"y":{"docs":{},"a":{"docs":{},"n":{"docs":{},"[":{"1":{"0":{"0":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"docs":{}},"docs":{}},"5":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"docs":{}},"docs":{}},"docs":{}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.017711171662125342}}},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"(":{"0":{"docs":{},"x":{"7":{"7":{"docs":{},"c":{"docs":{},"d":{"docs":{},"b":{"1":{"7":{"5":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{},"d":{"0":{"docs":{},"f":{"docs":{},"f":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{},"d":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"f":{"docs":{},"f":{"2":{"1":{"9":{"6":{"docs":{},"f":{"3":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"f":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"f":{"0":{"0":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}}}}},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}}}}},"docs":{}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.009394572025052192},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02877697841726619},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.030456852791878174},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.020134228187919462},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"5":{"4":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},":":{"docs":{},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"像":{"docs":{},"素":{"docs":{},"进":{"docs":{},"行":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"混":{"docs":{},"合":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"指":{"docs":{},"定":{"docs":{},"混":{"docs":{},"合":{"docs":{},"色":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"指":{"docs":{},"定":{"docs":{},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"互":{"docs":{},"斥":{"docs":{},"的":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"当":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}},"]":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0213903743315508},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"排":{"docs":{},"列":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"布":{"docs":{},"局":{"docs":{},"方":{"docs":{},"向":{"docs":{},"为":{"docs":{},"垂":{"docs":{},"直":{"docs":{},",":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"类":{"docs":{},"比":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"来":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"整":{"docs":{},"形":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"表":{"docs":{},"示":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"会":{"docs":{},"按":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"长":{"docs":{},"宽":{"docs":{},"比":{"docs":{},"放":{"docs":{},"大":{"docs":{},"后":{"docs":{},"居":{"docs":{},"中":{"docs":{},"填":{"docs":{},"满":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"不":{"docs":{},"会":{"docs":{},"变":{"docs":{},"形":{"docs":{},",":{"docs":{},"超":{"docs":{},"出":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"被":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"o":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007453013609850939}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"正":{"docs":{},"如":{"docs":{},"前":{"docs":{},"文":{"docs":{},"所":{"docs":{},"述":{"docs":{},"“":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"”":{"docs":{},";":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"职":{"docs":{},"责":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"它":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"该":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"用":{"docs":{},"于":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"在":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"中":{"docs":{},"最":{"docs":{},"高":{"docs":{},"的":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"取":{"docs":{},"值":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"一":{"docs":{},"样":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"、":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"、":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},":":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"。":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"确":{"docs":{},"定":{"docs":{},"后":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"即":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}},"或":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"+":{"docs":{},"+":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"均":{"docs":{},"采":{"docs":{},"用":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"绘":{"docs":{},"图":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"已":{"docs":{},"经":{"docs":{},"内":{"docs":{},"置":{"docs":{},"了":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"打":{"docs":{},"包":{"docs":{},"a":{"docs":{},"p":{"docs":{},"k":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"应":{"docs":{},"用":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"将":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"打":{"docs":{},"入":{"docs":{},"a":{"docs":{},"p":{"docs":{},"k":{"docs":{},"中":{"docs":{},",":{"docs":{},"但":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"并":{"docs":{},"未":{"docs":{},"内":{"docs":{},"置":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"构":{"docs":{},"建":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"一":{"docs":{},"起":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"s":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"查":{"docs":{},"看":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"如":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"本":{"docs":{},"地":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},")":{"docs":{},"将":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"其":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"(":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"或":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"应":{"docs":{},"用":{"docs":{},"(":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"处":{"docs":{},"理":{"docs":{},"原":{"docs":{},"生":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018789144050104383},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.032520325203252036},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.026737967914438502},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.050359712230215826},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.03968253968253968},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.04395604395604396},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.06432748538011696},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023809523809523808},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.08904109589041095},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.04697986577181208},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.0189873417721519},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.046875},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.014285714285714285},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.023952095808383235},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.0650887573964497},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.03019538188277087},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.03164556962025317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023746701846965697},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.06363636363636363},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.06395348837209303},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.02912621359223301},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.021798365122615803},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.009216589861751152},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.01818181818181818},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.013157894736842105},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0427807486631016},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02158273381294964},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.015228426395939087},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"[":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"包":{"docs":{},"括":{"docs":{},"其":{"docs":{},"他":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"。":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"该":{"docs":{},"文":{"docs":{},"本":{"docs":{},"片":{"docs":{},"段":{"docs":{},"上":{"docs":{},"用":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"进":{"docs":{},"行":{"docs":{},"识":{"docs":{},"别":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"实":{"docs":{},"现":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"a":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.02040816326530612},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},":":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"和":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"的":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"定":{"docs":{},"后":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"值":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}}}},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"p":{"docs":{},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"x":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}},":":{"docs":{},"\\":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"{":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"\\":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\\":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"3":{"2":{"docs":{},"\\":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"\\":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},"将":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},";":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"才":{"docs":{},"能":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"它":{"docs":{},"来":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"具":{"docs":{},"体":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"去":{"docs":{},"更":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"上":{"docs":{},"所":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},";":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"源":{"docs":{},"码":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"与":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"用":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"去":{"docs":{},"更":{"docs":{},"新":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"新":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"布":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"各":{"docs":{},"种":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"出":{"docs":{},"一":{"docs":{},"下":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253}}}},"c":{"docs":{},"h":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"r":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"b":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"和":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"中":{"docs":{},"早":{"docs":{},"就":{"docs":{},"很":{"docs":{},"普":{"docs":{},"遍":{"docs":{},",":{"docs":{},"而":{"docs":{},"?":{"docs":{},"?":{"docs":{},"操":{"docs":{},"作":{"docs":{},"符":{"docs":{},"在":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219}}}}}}}}},"三":{"docs":{},"个":{"docs":{},"值":{"docs":{},")":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"是":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"即":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"时":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"指":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"p":{"docs":{},"时":{"docs":{},",":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"指":{"docs":{},"底":{"docs":{},"部":{"docs":{},"对":{"docs":{},"齐":{"docs":{},";":{"docs":{},"而":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"和":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},";":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"平":{"docs":{},"台":{"docs":{},"它":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"与":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":10.004524886877828}}}}}}}},"(":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"{":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"提":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"虚":{"docs":{},"函":{"docs":{},"数":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":10.006711409395972}},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"模":{"docs":{},"型":{"docs":{},"(":{"docs":{},"效":{"docs":{},"果":{"docs":{},")":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"种":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"底":{"docs":{},"部":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"而":{"docs":{},"要":{"docs":{},"求":{"docs":{},"整":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},"是":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},",":{"docs":{},"即":{"docs":{},"它":{"docs":{},"们":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"整":{"docs":{},"体":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"+":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},"是":{"docs":{},"分":{"docs":{},"离":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"这":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"\"":{"docs":{},"胶":{"docs":{},"水":{"docs":{},"\"":{"docs":{},",":{"docs":{},"把":{"docs":{},"这":{"docs":{},"些":{"docs":{},"彼":{"docs":{},"此":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"\"":{"docs":{},"粘":{"docs":{},"\"":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"就":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"“":{"docs":{},"胶":{"docs":{},"水":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{},"这":{"docs":{},"三":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"光":{"docs":{},"标":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"、":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"和":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.02702702702702703}},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.025423728813559324},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662}}},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}}}}}}}}}},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"下":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},")":{"docs":{},"都":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"包":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"值":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"超":{"docs":{},"出":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"曲":{"docs":{},"线":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"可":{"docs":{},"以":{"docs":{},"具":{"docs":{},"有":{"docs":{},"比":{"docs":{},"输":{"docs":{},"入":{"docs":{},"更":{"docs":{},"大":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"等":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"大":{"docs":{},"于":{"docs":{},"或":{"docs":{},"小":{"docs":{},"于":{"docs":{},"默":{"docs":{},"认":{"docs":{},"范":{"docs":{},"围":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"和":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"各":{"docs":{},"有":{"docs":{},"偏":{"docs":{},"重":{"docs":{},"的":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"基":{"docs":{},"本":{"docs":{},"数":{"docs":{},"学":{"docs":{},"和":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"而":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"主":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"和":{"docs":{},"图":{"docs":{},"形":{"docs":{},"处":{"docs":{},"理":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"数":{"docs":{},"学":{"docs":{},",":{"docs":{},"如":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"化":{"docs":{},"和":{"docs":{},"几":{"docs":{},"何":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"确":{"docs":{},"定":{"docs":{},"最":{"docs":{},"终":{"docs":{},"输":{"docs":{},"送":{"docs":{},"给":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"各":{"docs":{},"个":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"的":{"docs":{},"色":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"写":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"或":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"打":{"docs":{},"开":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"更":{"docs":{},"喜":{"docs":{},"欢":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"后":{"docs":{},"面":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}},"\"":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"。":{"docs":{},"更":{"docs":{},"多":{"docs":{},"关":{"docs":{},"于":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"”":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}},"]":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"2":{"0":{"docs":{},")":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"d":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"监":{"docs":{},"听":{"docs":{},"所":{"docs":{},"有":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"添":{"docs":{},"加":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"(":{"docs":{},"深":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"边":{"docs":{},"框":{"docs":{},")":{"docs":{},";":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"移":{"docs":{},"除":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"识":{"docs":{},"别":{"docs":{},"各":{"docs":{},"种":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"将":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"语":{"docs":{},"义":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"直":{"docs":{},"接":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"演":{"docs":{},"示":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"性":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"来":{"docs":{},"识":{"docs":{},"别":{"docs":{},"各":{"docs":{},"种":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"封":{"docs":{},"装":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"各":{"docs":{},"种":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"上":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"答":{"docs":{},"案":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"下":{"docs":{},"去":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},",":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"p":{"docs":{},"k":{"docs":{},"g":{"1":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},",":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"b":{"docs":{},"m":{"docs":{},"p":{"docs":{},"和":{"docs":{},"w":{"docs":{},"b":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"e":{"docs":{},"推":{"docs":{},"出":{"docs":{},"并":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"主":{"docs":{},"打":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"、":{"docs":{},"高":{"docs":{},"保":{"docs":{},"真":{"docs":{},"、":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}},"d":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{},"g":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"示":{"docs":{},"例":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"有":{"docs":{},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"网":{"docs":{},"上":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"g":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"源":{"docs":{},"码":{"docs":{},"“":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"”":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"强":{"docs":{},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"用":{"docs":{},"户":{"docs":{},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"就":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"”":{"docs":{},"钻":{"docs":{},"石":{"docs":{},"“":{"docs":{},"形":{"docs":{},"状":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跑":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"全":{"docs":{},"面":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"从":{"docs":{},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},"或":{"docs":{},"从":{"docs":{},"右":{"docs":{},"到":{"docs":{},"左":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"有":{"docs":{},"些":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"习":{"docs":{},"惯":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"从":{"docs":{},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"如":{"docs":{},"阿":{"docs":{},"拉":{"docs":{},"伯":{"docs":{},"语":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"向":{"docs":{},"左":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"e":{"docs":{},"/":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"(":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628}},"{":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.014986376021798364}},"{":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":10.004081632653062}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"固":{"docs":{},"定":{"docs":{},"数":{"docs":{},"量":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"为":{"docs":{},"固":{"docs":{},"定":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},"的":{"docs":{},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"二":{"docs":{},"维":{"docs":{},"网":{"docs":{},"格":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"其":{"docs":{},"默":{"docs":{},"认":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"p":{"docs":{},"u":{"docs":{},",":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"后":{"docs":{},"放":{"docs":{},"入":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"视":{"docs":{},"频":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"按":{"docs":{},"照":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},"从":{"docs":{},"帧":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"取":{"docs":{},"帧":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"5":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"、":{"docs":{},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"e":{"docs":{},"r":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}}}},"l":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0213903743315508},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}},")":{"docs":{},"。":{"docs":{},"回":{"docs":{},"调":{"docs":{},"地":{"docs":{},"狱":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"之":{"docs":{},"前":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"非":{"docs":{},"常":{"docs":{},"突":{"docs":{},"出":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"被":{"docs":{},"吐":{"docs":{},"槽":{"docs":{},"最":{"docs":{},"多":{"docs":{},"的":{"docs":{},"点":{"docs":{},",":{"docs":{},"但":{"docs":{},"随":{"docs":{},"着":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"6":{"docs":{},"和":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"7":{"docs":{},"标":{"docs":{},"准":{"docs":{},"发":{"docs":{},"布":{"docs":{},"后":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"得":{"docs":{},"到":{"docs":{},"了":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},",":{"docs":{},"而":{"docs":{},"解":{"docs":{},"决":{"docs":{},"回":{"docs":{},"调":{"docs":{},"地":{"docs":{},"狱":{"docs":{},"的":{"docs":{},"两":{"docs":{},"大":{"docs":{},"神":{"docs":{},"器":{"docs":{},"正":{"docs":{},"是":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"6":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"7":{"docs":{},"中":{"docs":{},"引":{"docs":{},"入":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},":":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.030456852791878174}}}},"docs":{}}},"docs":{}},"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.04316546762589928},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"行":{"docs":{},"高":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"值":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"因":{"docs":{},"子":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"行":{"docs":{},"高":{"docs":{},"等":{"docs":{},"于":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"*":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"r":{"docs":{},"o":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":10.00909090909091}},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}},"e":{"docs":{},"b":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"(":{"docs":{},"页":{"docs":{},"面":{"docs":{},")":{"docs":{},"之":{"docs":{},"间":{"docs":{},"“":{"docs":{},"飞":{"docs":{},"行":{"docs":{},"”":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"简":{"docs":{},"单":{"docs":{},"来":{"docs":{},"说":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"路":{"docs":{},"由":{"docs":{},"间":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"、":{"docs":{},"外":{"docs":{},"观":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"所":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"过":{"docs":{},"渡":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"w":{"docs":{},"d":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},")":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"/":{"docs":{},"#":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"g":{"docs":{},"l":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"q":{"docs":{},"g":{"docs":{},"h":{"docs":{},"q":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"中":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"通":{"docs":{},"过":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"证":{"docs":{},"书":{"docs":{},"而":{"docs":{},"发":{"docs":{},"起":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},"攻":{"docs":{},"击":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"应":{"docs":{},"该":{"docs":{},"对":{"docs":{},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"或":{"docs":{},"非":{"docs":{},"c":{"docs":{},"a":{"docs":{},"颁":{"docs":{},"发":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/http.html":{"ref":"chapter10/http.html","tf":5.013824884792626}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"(":{"docs":{},"x":{"5":{"0":{"9":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}},"关":{"docs":{},"于":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"列":{"docs":{},"表":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"请":{"docs":{},"求":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.18181818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":5},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":3.333333333333333}},"认":{"docs":{},"证":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"库":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"认":{"docs":{},"证":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"机":{"docs":{},"制":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"护":{"docs":{},"非":{"docs":{},"公":{"docs":{},"开":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"认":{"docs":{},"证":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"携":{"docs":{},"带":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"访":{"docs":{},"问":{"docs":{},"了":{"docs":{},"启":{"docs":{},"用":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"就":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"登":{"docs":{},"录":{"docs":{},"框":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"由":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"主":{"docs":{},"动":{"docs":{},"发":{"docs":{},"起":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"再":{"docs":{},"被":{"docs":{},"动":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"无":{"docs":{},"法":{"docs":{},"向":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"主":{"docs":{},"动":{"docs":{},"推":{"docs":{},"送":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"响":{"docs":{},"应":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"链":{"docs":{},"接":{"docs":{},"就":{"docs":{},"会":{"docs":{},"断":{"docs":{},"开":{"docs":{},"(":{"docs":{},"见":{"docs":{},"注":{"docs":{},"解":{"docs":{},"部":{"docs":{},"分":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"无":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"实":{"docs":{},"时":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},"正":{"docs":{},"是":{"docs":{},"为":{"docs":{},"解":{"docs":{},"决":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"实":{"docs":{},"时":{"docs":{},"通":{"docs":{},"信":{"docs":{},"而":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"主":{"docs":{},"流":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"应":{"docs":{},"该":{"docs":{},"比":{"docs":{},"较":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"了":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"包":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}},"/":{"1":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}},"docs":{}}},"docs":{}},"网":{"docs":{},"络":{"docs":{},"库":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"}":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.009562841530054645}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"u":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"信":{"docs":{},"息":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"结":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"则":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"或":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},"已":{"docs":{},"包":{"docs":{},"含":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{},"图":{"docs":{},"像":{"docs":{},"”":{"docs":{},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"”":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"6":{"8":{"3":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0064808813998703824}},"。":{"docs":{},"从":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"转":{"docs":{},"储":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"是":{"docs":{},"由":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}},"docs":{}},"docs":{},"/":{"docs":{},"o":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.10920285158781594},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.009394572025052192},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.02304147465437788}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.022727272727272728},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.014925373134328358},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.013157894736842105},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.07232704402515723},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"'":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}},")":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01680672268907563}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"或":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.01680672268907563}},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"快":{"docs":{},"捷":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"用":{"docs":{},"于":{"docs":{},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"、":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"用":{"docs":{},"于":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"、":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"时":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"外":{"docs":{},"观":{"docs":{},"、":{"docs":{},"大":{"docs":{},"小":{"docs":{},"、":{"docs":{},"混":{"docs":{},"合":{"docs":{},"效":{"docs":{},"果":{"docs":{},"等":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}},"_":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"答":{"docs":{},"案":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"应":{"docs":{},"用":{"docs":{},"一":{"docs":{},"些":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"策":{"docs":{},"略":{"docs":{},"来":{"docs":{},"减":{"docs":{},"少":{"docs":{},"重":{"docs":{},"复":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"]":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"h":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806}}}},"!":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"o":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"访":{"docs":{},"问":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"等":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"库":{"docs":{},"操":{"docs":{},"作":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"非":{"docs":{},"常":{"docs":{},"丰":{"docs":{},"富":{"docs":{},",":{"docs":{},"但":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"是":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"详":{"docs":{},"细":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"话":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"学":{"docs":{},"习":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"操":{"docs":{},"作":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"类":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"来":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},"分":{"docs":{},"为":{"docs":{},"五":{"docs":{},"步":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"w":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"简":{"docs":{},"单":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"以":{"docs":{},"请":{"docs":{},"求":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"为":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},"a":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"读":{"docs":{},"者":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"中":{"docs":{},"的":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"该":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"语":{"docs":{},"句":{"docs":{},"插":{"docs":{},"入":{"docs":{},"编":{"docs":{},"程":{"docs":{},"式":{"docs":{},"断":{"docs":{},"点":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},",":{"docs":{},"你":{"docs":{},"必":{"docs":{},"须":{"docs":{},"添":{"docs":{},"加":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"都":{"docs":{},"支":{"docs":{},"持":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"但":{"docs":{},"若":{"docs":{},"想":{"docs":{},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748}},"l":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"…":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"t":{"3":{"2":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"docs":{}},"6":{"4":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"docs":{}},"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.022284122562674095},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.015723270440251572},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},".":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.009433962264150943}},"!":{"docs":{},"!":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}}},"[":{"docs":{},"]":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"l":{"docs":{},"包":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"些":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"在":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":5.0119760479041915}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"功":{"docs":{},"能":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"和":{"docs":{},"逐":{"docs":{},"级":{"docs":{},"传":{"docs":{},"递":{"docs":{},"数":{"docs":{},"据":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"能":{"docs":{},"实":{"docs":{},"现":{"docs":{},"组":{"docs":{},"件":{"docs":{},"跨":{"docs":{},"级":{"docs":{},"传":{"docs":{},"递":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"向":{"docs":{},"是":{"docs":{},"从":{"docs":{},"上":{"docs":{},"到":{"docs":{},"下":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"方":{"docs":{},"向":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"向":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},"、":{"docs":{},"共":{"docs":{},"享":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"共":{"docs":{},"享":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},"非":{"docs":{},"常":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"如":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"共":{"docs":{},"享":{"docs":{},"应":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},")":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}},":":{"docs":{},"当":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"时":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"b":{"docs":{},")":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01366120218579235}},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"如":{"docs":{},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{},"、":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"边":{"docs":{},"框":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"格":{"docs":{},"式":{"docs":{},";":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},"来":{"docs":{},"校":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.022284122562674095},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"%":{"2":{"docs":{},"=":{"docs":{},"=":{"0":{"docs":{},"?":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"1":{"docs":{},":":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}},"docs":{}},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454}},"(":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"文":{"docs":{},"字":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"没":{"docs":{},"有":{"docs":{},"背":{"docs":{},"景":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"背":{"docs":{},"景":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}}}}},"s":{"docs":{},"类":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002916396629941672}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"m":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"f":{"docs":{},"(":{"docs":{},"(":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"!":{"docs":{},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"_":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"e":{"docs":{},"m":{"docs":{},"=":{"docs":{},"=":{"docs":{},"p":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"!":{"docs":{},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"_":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"!":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"|":{"docs":{},"|":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"_":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"s":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"=":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},":":{"docs":{},"它":{"docs":{},"是":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"器":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"当":{"docs":{},"列":{"docs":{},"表":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"到":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"位":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"构":{"docs":{},"建":{"docs":{},"器":{"docs":{},"构":{"docs":{},"建":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},":":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"为":{"docs":{},"无":{"docs":{},"限":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}}},":":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"强":{"docs":{},"制":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"长":{"docs":{},"度":{"docs":{},"\"":{"docs":{},"为":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},";":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"长":{"docs":{},"度":{"docs":{},"\"":{"docs":{},"是":{"docs":{},"指":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"即":{"docs":{},"如":{"docs":{},"果":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"是":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"则":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"为":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"则":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{},"在":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"比":{"docs":{},"让":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"自":{"docs":{},"己":{"docs":{},"决":{"docs":{},"定":{"docs":{},"自":{"docs":{},"身":{"docs":{},"长":{"docs":{},"度":{"docs":{},"会":{"docs":{},"更":{"docs":{},"高":{"docs":{},"效":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"指":{"docs":{},"定":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"系":{"docs":{},"统":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"前":{"docs":{},"知":{"docs":{},"道":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"总":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"去":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"(":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"系":{"docs":{},"统":{"docs":{},"需":{"docs":{},"要":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"去":{"docs":{},"计":{"docs":{},"算":{"docs":{},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"和":{"docs":{},"/":{"docs":{},"或":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.011538461538461539}}}}},"为":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"仍":{"docs":{},"有":{"docs":{},"差":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"+":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"主":{"docs":{},"要":{"docs":{},"优":{"docs":{},"点":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"两":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"持":{"docs":{},"平":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}},"的":{"docs":{},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"一":{"docs":{},"直":{"docs":{},"被":{"docs":{},"抓":{"docs":{},"短":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"算":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"超":{"docs":{},"集":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"通":{"docs":{},"过":{"docs":{},"标":{"docs":{},"注":{"docs":{},"和":{"docs":{},"打":{"docs":{},"包":{"docs":{},"工":{"docs":{},"具":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"查":{"docs":{},")":{"docs":{},"才":{"docs":{},"有":{"docs":{},"市":{"docs":{},"场":{"docs":{},"。":{"docs":{},"就":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},"中":{"docs":{},"(":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"曾":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"支":{"docs":{},"持":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"任":{"docs":{},"何":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"候":{"docs":{},"动":{"docs":{},"态":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"精":{"docs":{},"通":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"高":{"docs":{},"手":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"这":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"是":{"docs":{},"一":{"docs":{},"把":{"docs":{},"利":{"docs":{},"剑":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"事":{"docs":{},"物":{"docs":{},"都":{"docs":{},"有":{"docs":{},"两":{"docs":{},"面":{"docs":{},"性":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"特":{"docs":{},"性":{"docs":{},"也":{"docs":{},"是":{"docs":{},"把":{"docs":{},"双":{"docs":{},"刃":{"docs":{},"剑":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"经":{"docs":{},"常":{"docs":{},"听":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"声":{"docs":{},"音":{"docs":{},",":{"docs":{},"认":{"docs":{},"为":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"这":{"docs":{},"种":{"docs":{},"动":{"docs":{},"态":{"docs":{},"性":{"docs":{},"糟":{"docs":{},"糕":{"docs":{},"透":{"docs":{},"了":{"docs":{},",":{"docs":{},"太":{"docs":{},"过":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"反":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"难":{"docs":{},"预":{"docs":{},"期":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"限":{"docs":{},"制":{"docs":{},"不":{"docs":{},"被":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"有":{"docs":{},"些":{"docs":{},"人":{"docs":{},"总":{"docs":{},"是":{"docs":{},"对":{"docs":{},"自":{"docs":{},"己":{"docs":{},"或":{"docs":{},"别":{"docs":{},"人":{"docs":{},"写":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"放":{"docs":{},"心":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"代":{"docs":{},"码":{"docs":{},"变":{"docs":{},"得":{"docs":{},"可":{"docs":{},"控":{"docs":{},",":{"docs":{},"并":{"docs":{},"期":{"docs":{},"望":{"docs":{},"有":{"docs":{},"一":{"docs":{},"套":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"查":{"docs":{},"系":{"docs":{},"统":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"自":{"docs":{},"己":{"docs":{},"减":{"docs":{},"少":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"正":{"docs":{},"因":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"放":{"docs":{},"弃":{"docs":{},"了":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"反":{"docs":{},"射":{"docs":{},"、":{"docs":{},"也":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"创":{"docs":{},"建":{"docs":{},"函":{"docs":{},"数":{"docs":{},"等":{"docs":{},"。":{"docs":{},"并":{"docs":{},"且":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"2":{"docs":{},".":{"0":{"docs":{},"强":{"docs":{},"制":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"查":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.03208556149732621}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},"只":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"属":{"docs":{},"于":{"docs":{},"部":{"docs":{},"分":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"即":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"它":{"docs":{},"在":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"则":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"即":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},".":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"{":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.011538461538461539}}},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}},"转":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":10}}}}}}}},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"创":{"docs":{},"建":{"docs":{},"类":{"docs":{},"时":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"与":{"docs":{},"下":{"docs":{},"图":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"=":{"docs":{},"'":{"docs":{},"[":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"]":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"类":{"docs":{},",":{"docs":{},"或":{"docs":{},"创":{"docs":{},"建":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"即":{"docs":{},"时":{"docs":{},"编":{"docs":{},"译":{"docs":{},")":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},",":{"docs":{},"速":{"docs":{},"度":{"docs":{},"与":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"所":{"docs":{},"有":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"当":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}},",":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"所":{"docs":{},"有":{"docs":{},"和":{"docs":{},"该":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"同":{"docs":{},"名":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},"都":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"比":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"后":{"docs":{},"尘":{"docs":{},",":{"docs":{},"成":{"docs":{},"为":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"烈":{"docs":{},"士":{"docs":{},"?":{"docs":{},"要":{"docs":{},"回":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"诞":{"docs":{},"生":{"docs":{},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"对":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"否":{"docs":{},"也":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"不":{"docs":{},"会":{"docs":{},"步":{"docs":{},"入":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"1":{"4":{"docs":{},"e":{"3":{"0":{"4":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"与":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"=":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"简":{"docs":{},"称":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{},",":{"docs":{},"是":{"docs":{},"w":{"3":{"docs":{},"c":{"docs":{},"组":{"docs":{},"织":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"标":{"docs":{},"志":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"编":{"docs":{},"程":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"一":{"docs":{},"种":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{},"平":{"docs":{},"台":{"docs":{},"和":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"访":{"docs":{},"问":{"docs":{},"和":{"docs":{},"修":{"docs":{},"改":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"和":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{},"换":{"docs":{},"句":{"docs":{},"话":{"docs":{},"说":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"表":{"docs":{},"示":{"docs":{},"和":{"docs":{},"处":{"docs":{},"理":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"或":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"档":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"就":{"docs":{},"是":{"docs":{},"文":{"docs":{},"档":{"docs":{},"树":{"docs":{},",":{"docs":{},"与":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"在":{"docs":{},"前":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"指":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},",":{"docs":{},"但":{"docs":{},"广":{"docs":{},"义":{"docs":{},"的":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"布":{"docs":{},"局":{"docs":{},"文":{"docs":{},"件":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},",":{"docs":{},"而":{"docs":{},"术":{"docs":{},"语":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"操":{"docs":{},"作":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"直":{"docs":{},"接":{"docs":{},"来":{"docs":{},"操":{"docs":{},"作":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"(":{"docs":{},"或":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},")":{"docs":{},",":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"化":{"docs":{},"”":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"做":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"预":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"些":{"docs":{},"与":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"结":{"docs":{},"构":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"再":{"docs":{},"动":{"docs":{},"态":{"docs":{},"根":{"docs":{},"据":{"docs":{},"数":{"docs":{},"据":{"docs":{},"创":{"docs":{},"建":{"docs":{},"出":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"再":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"访":{"docs":{},"问":{"docs":{},"内":{"docs":{},"部":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"拼":{"docs":{},"写":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"引":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"模":{"docs":{},"型":{"docs":{},"类":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"会":{"docs":{},"被":{"docs":{},"定":{"docs":{},"义":{"docs":{},"两":{"docs":{},"次":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"重":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"和":{"docs":{},"可":{"docs":{},"选":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}},",":{"docs":{},"原":{"docs":{},"先":{"docs":{},"的":{"docs":{},"检":{"docs":{},"查":{"docs":{},"模":{"docs":{},"式":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"下":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},",":{"docs":{},"故":{"docs":{},"意":{"docs":{},"牺":{"docs":{},"牲":{"docs":{},"性":{"docs":{},"能":{"docs":{},"来":{"docs":{},"换":{"docs":{},"取":{"docs":{},"有":{"docs":{},"助":{"docs":{},"于":{"docs":{},"开":{"docs":{},"发":{"docs":{},"调":{"docs":{},"试":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"结":{"docs":{},"果":{"docs":{},"将":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"误":{"docs":{},"导":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},",":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"和":{"docs":{},"f":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"四":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"朋":{"docs":{},"友":{"docs":{},"是":{"docs":{},"多":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"数":{"docs":{},"组":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"是":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}}},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"和":{"docs":{},"平":{"docs":{},"台":{"docs":{},"风":{"docs":{},"格":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"如":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"会":{"docs":{},"左":{"docs":{},"右":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"会":{"docs":{},"上":{"docs":{},"下":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"也":{"docs":{},"想":{"docs":{},"使":{"docs":{},"用":{"docs":{},"左":{"docs":{},"右":{"docs":{},"切":{"docs":{},"换":{"docs":{},"风":{"docs":{},"格":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"其":{"docs":{},"余":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"文":{"docs":{},"档":{"docs":{},"或":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"e":{"docs":{},"(":{"5":{"6":{"0":{"1":{"5":{"6":{"4":{"3":{"0":{"docs":{},")":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"7":{"5":{"5":{"2":{"0":{"2":{"1":{"9":{"docs":{},")":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852}}}}}}}}}},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}},"/":{"docs":{},")":{"docs":{},")":{"docs":{},"➩":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"➩":{"docs":{},"c":{"docs":{},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"0":{"docs":{},".":{"4":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"占":{"docs":{},"有":{"docs":{},"整":{"docs":{},"个":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"态":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"路":{"docs":{},"由":{"docs":{},"构":{"docs":{},"建":{"docs":{},"及":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{},"及":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"生":{"docs":{},"成":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"上":{"docs":{},"图":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"在":{"docs":{},"对":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"进":{"docs":{},"行":{"docs":{},"位":{"docs":{},"置":{"docs":{},"调":{"docs":{},"整":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},":":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"定":{"docs":{},"位":{"docs":{},"过":{"docs":{},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"或":{"docs":{},"者":{"docs":{},"位":{"docs":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"实":{"docs":{},"际":{"docs":{},"调":{"docs":{},"整":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}},"x":{"4":{"docs":{},".":{"docs":{},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"y":{"docs":{},"(":{"0":{"docs":{},".":{"3":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}},"docs":{}}},"docs":{}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"z":{"docs":{},"(":{"docs":{},".":{"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}}}},"h":{"docs":{},";":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}},"c":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}},"e":{"docs":{},"r":{"docs":{},"”":{"docs":{},"中":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"建":{"docs":{},"议":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"但":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"样":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"要":{"docs":{},"低":{"docs":{},"的":{"docs":{},"多":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.03225806451612903}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"的":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0213903743315508},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"在":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},"内":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"值":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"则":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"无":{"docs":{},"意":{"docs":{},"义":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"才":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"表":{"docs":{},"示":{"docs":{},"沿":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"方":{"docs":{},"向":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"取":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"表":{"docs":{},"示":{"docs":{},"左":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"取":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"时":{"docs":{},"表":{"docs":{},"示":{"docs":{},"从":{"docs":{},"右":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{},"而":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},";":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"表":{"docs":{},"示":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"么":{"docs":{},"理":{"docs":{},"解":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"/":{"docs":{},"/":{"docs":{},"无":{"docs":{},"效":{"docs":{},",":{"docs":{},"内":{"docs":{},"层":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"高":{"docs":{},"度":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.016042780748663103},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"在":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"多":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"无":{"docs":{},"论":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"实":{"docs":{},"际":{"docs":{},"占":{"docs":{},"用":{"docs":{},"多":{"docs":{},"少":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"始":{"docs":{},"终":{"docs":{},"等":{"docs":{},"于":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"度":{"docs":{},";":{"docs":{},"而":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"表":{"docs":{},"示":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"少":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"当":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"没":{"docs":{},"有":{"docs":{},"占":{"docs":{},"满":{"docs":{},"水":{"docs":{},"平":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"则":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"的":{"docs":{},"水":{"docs":{},"平":{"docs":{},"空":{"docs":{},"间":{"docs":{},";":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"(":{"docs":{},"=":{"docs":{},">":{"docs":{},")":{"docs":{},"符":{"docs":{},"号":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"单":{"docs":{},"行":{"docs":{},"函":{"docs":{},"数":{"docs":{},"或":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"简":{"docs":{},"写":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"当":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"时":{"docs":{},",":{"docs":{},"原":{"docs":{},"来":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"会":{"docs":{},"被":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"没":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"释":{"docs":{},"放":{"docs":{},"其":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.016791044776119403},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},">":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"x":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"、":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"行":{"docs":{},"数":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"是":{"docs":{},"自":{"docs":{},"动":{"docs":{},"折":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"定":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"文":{"docs":{},"本":{"docs":{},"最":{"docs":{},"多":{"docs":{},"不":{"docs":{},"会":{"docs":{},"超":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"行":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"多":{"docs":{},"余":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"截":{"docs":{},"断":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"截":{"docs":{},"断":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"截":{"docs":{},"断":{"docs":{},"方":{"docs":{},"式":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"将":{"docs":{},"多":{"docs":{},"余":{"docs":{},"文":{"docs":{},"本":{"docs":{},"截":{"docs":{},"断":{"docs":{},"后":{"docs":{},"以":{"docs":{},"省":{"docs":{},"略":{"docs":{},"符":{"docs":{},"“":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"”":{"docs":{},"表":{"docs":{},"示":{"docs":{},";":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"截":{"docs":{},"断":{"docs":{},"方":{"docs":{},"式":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"行":{"docs":{},"数":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"1":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"无":{"docs":{},"行":{"docs":{},"数":{"docs":{},"限":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}}},"为":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"在":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"是":{"docs":{},"“":{"docs":{},"最":{"docs":{},"大":{"docs":{},"”":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"等":{"docs":{},"分":{"docs":{},"的":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"长":{"docs":{},"度":{"docs":{},"是":{"4":{"5":{"0":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"在":{"docs":{},"区":{"docs":{},"间":{"docs":{},"(":{"4":{"5":{"0":{"docs":{},"/":{"4":{"docs":{},",":{"4":{"5":{"0":{"docs":{},"/":{"3":{"docs":{},"]":{"docs":{},"内":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"最":{"docs":{},"终":{"docs":{},"实":{"docs":{},"际":{"docs":{},"长":{"docs":{},"度":{"docs":{},"都":{"docs":{},"为":{"1":{"5":{"0":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"和":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"比":{"docs":{},"为":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"比":{"docs":{},"。":{"docs":{},"其":{"docs":{},"它":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308}}}}}},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.04093567251461988}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}},"类":{"docs":{},"代":{"docs":{},"表":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"了":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371}},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}}},"类":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"取":{"docs":{},"而":{"docs":{},"代":{"docs":{},"之":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"被":{"docs":{},"挪":{"docs":{},"到":{"docs":{},"了":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"至":{"docs":{},"于":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"这":{"docs":{},"么":{"docs":{},"做":{"docs":{},",":{"docs":{},"先":{"docs":{},"留":{"docs":{},"个":{"docs":{},"疑":{"docs":{},"问":{"docs":{},",":{"docs":{},"在":{"docs":{},"分":{"docs":{},"析":{"docs":{},"完":{"docs":{},"完":{"docs":{},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},"后":{"docs":{},"再":{"docs":{},"来":{"docs":{},"解":{"docs":{},"答":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},"s":{"docs":{},"{":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},",":{"docs":{},"如":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"、":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"等":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"包":{"docs":{},"含":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"'":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"y":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"@":{"docs":{},"\"":{"docs":{},"电":{"docs":{},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}},"n":{"docs":{},"u":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.015384615384615385},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"e":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"、":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{},")":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"作":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"j":{"docs":{},"s":{"docs":{},"x":{"docs":{},"语":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"/":{"docs":{},"排":{"docs":{},"版":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"是":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"打":{"docs":{},"包":{"docs":{},"一":{"docs":{},"份":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"体":{"docs":{},"积":{"docs":{},"较":{"docs":{},"大":{"docs":{},";":{"docs":{},"而":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"/":{"docs":{},"排":{"docs":{},"版":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"是":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"无":{"docs":{},"需":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"体":{"docs":{},"积":{"docs":{},"小":{"docs":{},",":{"docs":{},"正":{"docs":{},"因":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{},"才":{"docs":{},"能":{"docs":{},"在":{"docs":{},"保":{"docs":{},"证":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"做":{"docs":{},"到":{"docs":{},"快":{"docs":{},"速":{"docs":{},"分":{"docs":{},"发":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"是":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{},",":{"docs":{},"也":{"docs":{},"只":{"docs":{},"需":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"份":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"是":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"性":{"docs":{},"能":{"docs":{},"会":{"docs":{},"比":{"docs":{},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"h":{"5":{"docs":{},"好":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"是":{"docs":{},"语":{"docs":{},"法":{"docs":{},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"支":{"docs":{},"持":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"语":{"docs":{},"法":{"docs":{},"和":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"擎":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"视":{"docs":{},"图":{"docs":{},",":{"docs":{},"这":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"能":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"提":{"docs":{},"供":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"栈":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"集":{"docs":{},"合":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"就":{"docs":{},"是":{"docs":{},"栈":{"docs":{},"顶":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"路":{"docs":{},"由":{"docs":{},"栈":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"最":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"导":{"docs":{},"航":{"docs":{},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"打":{"docs":{},"开":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"拖":{"docs":{},"入":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"2":{"4":{"0":{"3":{"2":{"7":{"6":{"1":{"8":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}},":":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"包":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}},"=":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.029850746268656716},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"e":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.06388206388206388},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.04932735426008968},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.029556650246305417},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.031315240083507306},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012295081967213115},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.09137055837563451},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.02054794520547945},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.06040268456375839},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.029850746268656716},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.05405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.04221635883905013},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.05113636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.013824884792626729},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.04929577464788732},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.08636363636363636},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.011194029850746268},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.02631578947368421},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0189873417721519}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"模":{"docs":{},"板":{"docs":{},"参":{"docs":{},"数":{"docs":{},"t":{"docs":{},"是":{"docs":{},"想":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"省":{"docs":{},"略":{"docs":{},",":{"docs":{},"则":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"通":{"docs":{},"知":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"指":{"docs":{},"定":{"docs":{},"特":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"则":{"docs":{},"只":{"docs":{},"有":{"docs":{},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"会":{"docs":{},"被":{"docs":{},"监":{"docs":{},"听":{"docs":{},"。":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"现":{"docs":{},"监":{"docs":{},"听":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"可":{"docs":{},"以":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"布":{"docs":{},"尔":{"docs":{},"值":{"docs":{},",":{"docs":{},"代":{"docs":{},"表":{"docs":{},"是":{"docs":{},"否":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"终":{"docs":{},"止":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"停":{"docs":{},"止":{"docs":{},"向":{"docs":{},"上":{"docs":{},"传":{"docs":{},"播":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"返":{"docs":{},"回":{"docs":{},"或":{"docs":{},"者":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"当":{"docs":{},"前":{"docs":{},"节":{"docs":{},"点":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"向":{"docs":{},"上":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"称":{"docs":{},"这":{"docs":{},"种":{"docs":{},"通":{"docs":{},"知":{"docs":{},"由":{"docs":{},"子":{"docs":{},"向":{"docs":{},"父":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"为":{"docs":{},"“":{"docs":{},"通":{"docs":{},"知":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"”":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"分":{"docs":{},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"说":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"它":{"docs":{},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"上":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"会":{"docs":{},"从":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},":":{"docs":{},"图":{"docs":{},"片":{"docs":{},"没":{"docs":{},"有":{"docs":{},"适":{"docs":{},"应":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"内":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"图":{"docs":{},"片":{"docs":{},"比":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},",":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"只":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"中":{"docs":{},"间":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.017543859649122806}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"(":{"docs":{},"n":{"docs":{},">":{"1":{"docs":{},")":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"docs":{}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"y":{"docs":{},"(":{"docs":{},"或":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"正":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"如":{"docs":{},"用":{"docs":{},"于":{"docs":{},"输":{"docs":{},"入":{"docs":{},"密":{"docs":{},"码":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"等":{"docs":{},",":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"会":{"docs":{},"用":{"docs":{},"“":{"docs":{},"•":{"docs":{},"”":{"docs":{},"替":{"docs":{},"换":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"…":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"\"":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}},":":{"docs":{},"在":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"当":{"docs":{},"成":{"docs":{},"不":{"docs":{},"透":{"docs":{},"明":{"docs":{},"处":{"docs":{},"理":{"docs":{},"(":{"docs":{},"即":{"docs":{},"使":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},")":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"区":{"docs":{},"域":{"docs":{},"都":{"docs":{},"是":{"docs":{},"点":{"docs":{},"击":{"docs":{},"区":{"docs":{},"域":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682}}},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"中":{"docs":{},"未":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"回":{"docs":{},"调":{"docs":{},"或":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"个":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"将":{"docs":{},"会":{"docs":{},"变":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"和":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"输":{"docs":{},"入":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"按":{"docs":{},"了":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"的":{"docs":{},"完":{"docs":{},"成":{"docs":{},"键":{"docs":{},"(":{"docs":{},"对":{"docs":{},"号":{"docs":{},"图":{"docs":{},"标":{"docs":{},")":{"docs":{},"或":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"键":{"docs":{},"(":{"docs":{},"&":{"docs":{},"#":{"docs":{},"x":{"1":{"docs":{},"f":{"5":{"0":{"docs":{},"d":{"docs":{},";":{"docs":{},"图":{"docs":{},"标":{"docs":{},")":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"签":{"docs":{},"名":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"回":{"docs":{},"调":{"docs":{},"是":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"收":{"docs":{},"当":{"docs":{},"前":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"做":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"而":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"不":{"docs":{},"接":{"docs":{},"收":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04065040650406504},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"(":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03550295857988166},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"!":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776}}}}}}}}}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},":":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"的":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"内":{"docs":{},"容":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"内":{"docs":{},"容":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},";":{"docs":{},"注":{"docs":{},":":{"docs":{},"内":{"docs":{},"容":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"在":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"胜":{"docs":{},"出":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628}}},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}},":":{"docs":{},"决":{"docs":{},"定":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"(":{"docs":{},"如":{"docs":{},"点":{"docs":{},"击":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},",":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"不":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"到":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"导":{"docs":{},"航":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"及":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"物":{"docs":{},"理":{"docs":{},"返":{"docs":{},"回":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},",":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"需":{"docs":{},"要":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"最":{"docs":{},"终":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"不":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"不":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},")":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"路":{"docs":{},"由":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"退":{"docs":{},"出":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"退":{"docs":{},"出":{"docs":{},"。":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"{":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.01858736059479554}},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},",":{"2":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}},"docs":{}}},"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"docs":{}}},"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777}},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"=":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}},"docs":{}}},"1":{"5":{"6":{"docs":{},".":{"7":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},",":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},":":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"在":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"时":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"而":{"docs":{},"前":{"docs":{},"者":{"docs":{},"不":{"docs":{},"会":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"表":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"中":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"偏":{"docs":{},"移":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0038885288399222295}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"@":{"8":{"3":{"7":{"3":{"3":{"6":{"1":{"5":{"6":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"6":{"1":{"9":{"3":{"6":{"7":{"3":{"1":{"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}},":":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"决":{"docs":{},"定":{"docs":{},"如":{"docs":{},"何":{"docs":{},"显":{"docs":{},"示":{"docs":{},"超":{"docs":{},"出":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"值":{"docs":{},"为":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"时":{"docs":{},",":{"docs":{},"超":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"会":{"docs":{},"被":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"(":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},")":{"docs":{},",":{"docs":{},"值":{"docs":{},"为":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}},")":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"不":{"docs":{},"带":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"且":{"docs":{},"背":{"docs":{},"景":{"docs":{},"透":{"docs":{},"明":{"docs":{},"。":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},",":{"docs":{},"边":{"docs":{},"框":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"会":{"docs":{},"变":{"docs":{},"亮":{"docs":{},"、":{"docs":{},"同":{"docs":{},"时":{"docs":{},"出":{"docs":{},"现":{"docs":{},"背":{"docs":{},"景":{"docs":{},"和":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"(":{"docs":{},"较":{"docs":{},"弱":{"docs":{},")":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087}}}}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"指":{"docs":{},"针":{"docs":{},"移":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"角":{"docs":{},"度":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},".":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"k":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.022408963585434174}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259}}},"s":{"docs":{},"h":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"中":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"项":{"docs":{},"都":{"docs":{},"应":{"docs":{},"与":{"docs":{},"实":{"docs":{},"际":{"docs":{},"文":{"docs":{},"件":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"但":{"docs":{},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},"项":{"docs":{},"除":{"docs":{},"外":{"docs":{},"。":{"docs":{},"当":{"docs":{},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},"缺":{"docs":{},"少":{"docs":{},"某":{"docs":{},"个":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"按":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"从":{"docs":{},"低":{"docs":{},"到":{"docs":{},"高":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"去":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"”":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371}},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.027777777777777776},"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":3.333333333333333},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.015957446808510637}},"e":{"1":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}},"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"1":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}}}}}}},"f":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"1":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},"仓":{"docs":{},"库":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"j":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"查":{"docs":{},"找":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"包":{"docs":{},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"向":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"发":{"docs":{},"布":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"包":{"docs":{},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"向":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"发":{"docs":{},"布":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"包":{"docs":{},"和":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"包":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"含":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"也":{"docs":{},"导":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"你":{"docs":{},"库":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"…":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"=":{"docs":{},"[":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"]":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"`":{"docs":{},"p":{"docs":{},"w":{"docs":{},"d":{"docs":{},"`":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}},"~":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"s":{"docs":{},"=":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"2":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"docs":{},"s":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.016728624535315983}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006804925469863901}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405}},"c":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"值":{"docs":{},"用":{"docs":{},"于":{"docs":{},"确":{"docs":{},"定":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},",":{"docs":{},"因":{"docs":{},"此":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"如":{"docs":{},"此":{"docs":{},"便":{"docs":{},"可":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}},"2":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}},"docs":{}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"页":{"docs":{},"面":{"docs":{},"(":{"docs":{},"路":{"docs":{},"由":{"docs":{},")":{"docs":{},"相":{"docs":{},"关":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"存":{"docs":{},"储":{"docs":{},"桶":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"各":{"docs":{},"自":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"或":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}},"b":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}},"d":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":10.010989010989011},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.04395604395604396},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.013422818791946308},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}},"{":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.04395604395604396},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.020134228187919462},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"添":{"docs":{},"加":{"docs":{},"补":{"docs":{},"白":{"docs":{},"(":{"docs":{},"填":{"docs":{},"充":{"docs":{},")":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"很":{"docs":{},"多":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"它":{"docs":{},"了":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"它":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}},".":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}},"(":{"docs":{},")":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},".":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"y":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"库":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"处":{"docs":{},"理":{"docs":{},"图":{"docs":{},"片":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"”":{"docs":{},"下":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"上":{"docs":{},"来":{"docs":{},"获":{"docs":{},"得":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"s":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"/":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"定":{"docs":{},"制":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"s":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"放":{"docs":{},"一":{"docs":{},"些":{"docs":{},"持":{"docs":{},"久":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"在":{"docs":{},"此":{"docs":{},"类":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"再":{"docs":{},"请":{"docs":{},"求":{"docs":{},"新":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"帧":{"docs":{},",":{"docs":{},"持":{"docs":{},"久":{"docs":{},"回":{"docs":{},"调":{"docs":{},"一":{"docs":{},"经":{"docs":{},"注":{"docs":{},"册":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"移":{"docs":{},"除":{"docs":{},"。":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},"了":{"docs":{},"布":{"docs":{},"局":{"docs":{},"与":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"@":{"3":{"6":{"7":{"1":{"0":{"6":{"5":{"0":{"2":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},":":{"docs":{},":":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"p":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.031746031746031744},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"{":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}},":":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"决":{"docs":{},"定":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"里":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"收":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"该":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"两":{"docs":{},"个":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"是":{"docs":{},"鼠":{"docs":{},"标":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"当":{"docs":{},"对":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"s":{"docs":{},":":{"docs":{},"在":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"只":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"后":{"docs":{},"会":{"docs":{},"被":{"docs":{},"系":{"docs":{},"统":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"可":{"docs":{},"由":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"替":{"docs":{},"代":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"标":{"docs":{},"志":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"保":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"性":{"docs":{},"能":{"docs":{},"特":{"docs":{},"征":{"docs":{},"与":{"docs":{},"您":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"产":{"docs":{},"品":{"docs":{},"差":{"docs":{},"异":{"docs":{},"最":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"项":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},":":{"docs":{},"$":{"docs":{},"{":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"停":{"docs":{},"止":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}},"到":{"docs":{},"边":{"docs":{},"界":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"$":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}},"c":{"docs":{},"b":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633}}}}}}}},"e":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.012658227848101266}}}},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},"+":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},"[":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},")":{"docs":{},"功":{"docs":{},"能":{"docs":{},"将":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"系":{"docs":{},"统":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}},"w":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"docs":{}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{},"指":{"docs":{},"是":{"docs":{},"否":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{},"当":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"为":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},"并":{"docs":{},"且":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},",":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},")":{"docs":{},",":{"docs":{},")":{"docs":{},",":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}},"=":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"按":{"docs":{},"压":{"docs":{},"力":{"docs":{},"度":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"手":{"docs":{},"机":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"支":{"docs":{},"持":{"docs":{},"压":{"docs":{},"力":{"docs":{},"传":{"docs":{},"感":{"docs":{},"器":{"docs":{},"(":{"docs":{},"如":{"docs":{},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"3":{"docs":{},"d":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"k":{"docs":{},"g":{"1":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}}},"docs":{}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"s":{"docs":{},":":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"决":{"docs":{},"定":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"完":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},"后":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"动":{"docs":{},"画":{"docs":{},";":{"docs":{},"或":{"docs":{},"者":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"边":{"docs":{},"界":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"具":{"docs":{},"体":{"docs":{},"平":{"docs":{},"台":{"docs":{},"分":{"docs":{},"别":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"如":{"docs":{},"当":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"边":{"docs":{},"界":{"docs":{},"时":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"微":{"docs":{},"光":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"想":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"平":{"docs":{},"台":{"docs":{},"下":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"种":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"i":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"s":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},":":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439}}},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"低":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"是":{"docs":{},"一":{"docs":{},"个":{"1":{"9":{"9":{"1":{"docs":{},"年":{"docs":{},"由":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{},"从":{"docs":{},"图":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"高":{"docs":{},"于":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"叫":{"docs":{},"做":{"docs":{},"“":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"”":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"插":{"docs":{},"件":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"a":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"1":{"7":{"5":{"3":{"7":{"0":{"9":{"8":{"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"3":{"9":{"0":{"6":{"8":{"5":{"0":{"8":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245}}}}}}},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.016260162601626018}},"(":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"{":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.01634877384196185}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.026923076923076925}},"中":{"docs":{},"提":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"思":{"docs":{},"想":{"docs":{},":":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"则":{"docs":{},"u":{"docs":{},"i":{"docs":{},"随":{"docs":{},"之":{"docs":{},"自":{"docs":{},"动":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"框":{"docs":{},"架":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"是":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"而":{"docs":{},"执":{"docs":{},"行":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"范":{"docs":{},"式":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"结":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"在":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"通":{"docs":{},"知":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},",":{"docs":{},"结":{"docs":{},"合":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"树":{"docs":{},"中":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"只":{"docs":{},"更":{"docs":{},"新":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"操":{"docs":{},"作":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"避":{"docs":{},"免":{"docs":{},"整":{"docs":{},"棵":{"docs":{},"树":{"docs":{},"重":{"docs":{},"构":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},":":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"是":{"docs":{},"专":{"docs":{},"门":{"docs":{},"为":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"调":{"docs":{},"试":{"docs":{},"而":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"m":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}},"=":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.02109704641350211},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.02242152466367713},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.013569937369519834},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.03064066852367688},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.014285714285714285},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.04938271604938271},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.023952095808383235},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.021108179419525065},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.03680981595092025},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.02727272727272727},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.022727272727272728},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.013824884792626729},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.02112676056338028},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.013636363636363636},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.020522388059701493},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.016597510373443983},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.03508771929824561},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.022388059701492536},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"层":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"层":{"docs":{},",":{"docs":{},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.01858736059479554},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004536616979909268}}},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},"与":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":10}}}}}}}}}}}},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"将":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"将":{"docs":{},"其":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"具":{"docs":{},"体":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"流":{"docs":{},"程":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"签":{"docs":{},"名":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"基":{"docs":{},"础":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"义":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"模":{"docs":{},"型":{"docs":{},"(":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"几":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"?":{"docs":{},"一":{"docs":{},"个":{"docs":{},"?":{"docs":{},"两":{"docs":{},"个":{"docs":{},"?":{"docs":{},"或":{"docs":{},"者":{"docs":{},"更":{"docs":{},"多":{"docs":{},"?":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"到":{"docs":{},"更":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"关":{"docs":{},"联":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"只":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"了":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"y":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"(":{"docs":{},"{":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"(":{"4":{"9":{"7":{"0":{"3":{"9":{"2":{"7":{"3":{"docs":{},")":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777}},"子":{"docs":{},"类":{"docs":{},"要":{"docs":{},"定":{"docs":{},"制":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"重":{"docs":{},"写":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"对":{"docs":{},"于":{"docs":{},"任":{"docs":{},"何":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"流":{"docs":{},"程":{"docs":{},"基":{"docs":{},"本":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"只":{"docs":{},"在":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"而":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},"子":{"docs":{},"类":{"docs":{},"应":{"docs":{},"该":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"测":{"docs":{},"量":{"docs":{},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"是":{"docs":{},"在":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"t":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},")":{"docs":{},"时":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"永":{"docs":{},"远":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"u":{"docs":{},"p":{"1":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"2":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"3":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"4":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"5":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"6":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"不":{"docs":{},"是":{"docs":{},"就":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"就":{"docs":{},"表":{"docs":{},"示":{"docs":{},"它":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"变":{"docs":{},"化":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"影":{"docs":{},"响":{"docs":{},"到":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"表":{"docs":{},"示":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"布":{"docs":{},"局":{"docs":{},"变":{"docs":{},"化":{"docs":{},"是":{"docs":{},"否":{"docs":{},"影":{"docs":{},"响":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"当":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"会":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"后":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"讲":{"docs":{},"过":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.011152416356877323}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"运":{"docs":{},"行":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.043010752688172046}},"e":{"docs":{},"s":{"docs":{},"…":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"y":{"docs":{},"(":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},":":{"docs":{},"当":{"docs":{},"图":{"docs":{},"片":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"小":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},"时":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"重":{"docs":{},"复":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"@":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.02112676056338028},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"(":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}},"=":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.028169014084507043}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"b":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}}}},"docs":{}}},"docs":{}}}}}}}}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}},",":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.023391812865497075}}},"=":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}},"e":{"docs":{},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"解":{"docs":{},"释":{"docs":{},"是":{"docs":{},":":{"docs":{},"是":{"docs":{},"否":{"docs":{},"按":{"docs":{},"照":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"方":{"docs":{},"向":{"docs":{},"相":{"docs":{},"反":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{},"滑":{"docs":{},"动":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"方":{"docs":{},"向":{"docs":{},"是":{"docs":{},"从":{"docs":{},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},"(":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"阿":{"docs":{},"拉":{"docs":{},"伯":{"docs":{},"语":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"到":{"docs":{},"左":{"docs":{},")":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"就":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"决":{"docs":{},"定":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"在":{"docs":{},"“":{"docs":{},"头":{"docs":{},"”":{"docs":{},"还":{"docs":{},"是":{"docs":{},"“":{"docs":{},"尾":{"docs":{},"”":{"docs":{},",":{"docs":{},"取":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"在":{"docs":{},"“":{"docs":{},"头":{"docs":{},"”":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"在":{"docs":{},"“":{"docs":{},"尾":{"docs":{},"”":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"试":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},"等":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},"内":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"生":{"docs":{},"成":{"docs":{},"从":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"区":{"docs":{},"间":{"docs":{},")":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"n":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"u":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"所":{"docs":{},"选":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"版":{"docs":{},"本":{"docs":{},"或":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"画":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"它":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"打":{"docs":{},"开":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"带":{"docs":{},"有":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"运":{"docs":{},"行":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"(":{"docs":{},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682}}}},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.016597510373443983}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.017937219730941704}}}},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}},"s":{"docs":{},":":{"docs":{},"{":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"依":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}},")":{"docs":{},"即":{"docs":{},"给":{"docs":{},"路":{"docs":{},"由":{"docs":{},"起":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"字":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"字":{"docs":{},"直":{"docs":{},"接":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"这":{"docs":{},"为":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"带":{"docs":{},"来":{"docs":{},"了":{"docs":{},"一":{"docs":{},"种":{"docs":{},"直":{"docs":{},"观":{"docs":{},"、":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"w":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}},"、":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"(":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0213903743315508},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}},"{":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"排":{"docs":{},"列":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"和":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"功":{"docs":{},"能":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},"是":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"在":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"时":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"d":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.009569377990430622},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"主":{"docs":{},"要":{"docs":{},"优":{"docs":{},"势":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},";":{"docs":{},"而":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"是":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"注":{"docs":{},"释":{"docs":{},"非":{"docs":{},"常":{"docs":{},"详":{"docs":{},"细":{"docs":{},",":{"docs":{},"也":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"注":{"docs":{},"释":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"结":{"docs":{},"合":{"docs":{},"注":{"docs":{},"释":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"你":{"docs":{},"解":{"docs":{},"决":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"配":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"和":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"”":{"docs":{},",":{"docs":{},"您":{"docs":{},"将":{"docs":{},"在":{"docs":{},"步":{"docs":{},"骤":{"3":{"docs":{},"中":{"docs":{},"用":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{},"(":{"docs":{},"如":{"docs":{},":":{"docs":{},"c":{"docs":{},":":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"\\":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"安":{"docs":{},"装":{"docs":{},"到":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"高":{"docs":{},"权":{"docs":{},"限":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"如":{"docs":{},"c":{"docs":{},":":{"docs":{},"\\":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}},"它":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"基":{"docs":{},"础":{"docs":{},"库":{"docs":{},",":{"docs":{},"自":{"docs":{},"底":{"docs":{},"向":{"docs":{},"上":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"简":{"docs":{},"单":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"该":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"只":{"docs":{},"需":{"docs":{},"一":{"docs":{},"句":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"在":{"docs":{},"安":{"docs":{},"装":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},"也":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"相":{"docs":{},"应":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"分":{"docs":{},"支":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"你":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"只":{"docs":{},"想":{"docs":{},"更":{"docs":{},"新":{"docs":{},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"(":{"docs":{},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"打":{"docs":{},"包":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"如":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"、":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"分":{"docs":{},"支":{"docs":{},"为":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"分":{"docs":{},"支":{"docs":{},"(":{"docs":{},"日":{"docs":{},"后":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"版":{"docs":{},"本":{"docs":{},"发":{"docs":{},"布":{"docs":{},"后":{"docs":{},"可":{"docs":{},"能":{"docs":{},"也":{"docs":{},"会":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"如":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"开":{"docs":{},"发":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"后":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"进":{"docs":{},"行":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"开":{"docs":{},"发":{"docs":{},"所":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"你":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"里":{"docs":{},"了":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"单":{"docs":{},"独":{"docs":{},"安":{"docs":{},"装":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.020833333333333332},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1}}}}},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"是":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"u":{"docs":{},"i":{"docs":{},"描":{"docs":{},"述":{"docs":{},"文":{"docs":{},"件":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"+":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"操":{"docs":{},"作":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"”":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"。":{"docs":{},"而":{"docs":{},"今":{"docs":{},"天":{"docs":{},"(":{"2":{"0":{"1":{"8":{"docs":{},"年":{"8":{"docs":{},"月":{"1":{"6":{"docs":{},"日":{"docs":{},")":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"3":{"5":{"docs":{},"k":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"。":{"docs":{},"经":{"docs":{},"历":{"docs":{},"了":{"docs":{},"短":{"docs":{},"短":{"docs":{},"一":{"docs":{},"年":{"docs":{},"多":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"和":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"c":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0038885288399222295},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"还":{"docs":{},"没":{"docs":{},"听":{"docs":{},"过":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"目":{"docs":{},"前":{"docs":{},"全":{"docs":{},"球":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"docs":{},"员":{"docs":{},"问":{"docs":{},"答":{"docs":{},"社":{"docs":{},"区":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"也":{"docs":{},"是":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"度":{"docs":{},"最":{"docs":{},"高":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"问":{"docs":{},"答":{"docs":{},"社":{"docs":{},"区":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"上":{"docs":{},"面":{"docs":{},"除":{"docs":{},"了":{"docs":{},"世":{"docs":{},"界":{"docs":{},"各":{"docs":{},"地":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"会":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"交":{"docs":{},"流":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"也":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"回":{"docs":{},"答":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512}},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"(":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"{":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.014742014742014743},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},")":{"docs":{},"{":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}},"(":{"docs":{},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"类":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"应":{"docs":{},"用":{"docs":{},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"维":{"docs":{},"护":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"它":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"会":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"其":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"中":{"docs":{},"持":{"docs":{},"有":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004536616979909268}}},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"中":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"常":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"i":{"docs":{},"c":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"{":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"三":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"是":{"docs":{},"对":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"属":{"docs":{},"性":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"来":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"指":{"docs":{},"定":{"docs":{},"在":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"起":{"docs":{},"始":{"docs":{},"点":{"docs":{},"和":{"docs":{},"终":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"就":{"docs":{},"必":{"docs":{},"须":{"docs":{},"注":{"docs":{},"册":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"计":{"docs":{},"划":{"docs":{},",":{"docs":{},"有":{"docs":{},"关":{"docs":{},"详":{"docs":{},"情":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.01634877384196185}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}}}}}},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.03225806451612903},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},">":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},">":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},">":{"docs":{},"a":{"docs":{},"v":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"管":{"docs":{},"理":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"运":{"docs":{},"行":{"docs":{},"它":{"docs":{},",":{"docs":{},"并":{"docs":{},"体":{"docs":{},"验":{"docs":{},"“":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"插":{"docs":{},"件":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"和":{"docs":{},"v":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},"安":{"docs":{},"装":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"向":{"docs":{},"导":{"docs":{},"”":{"docs":{},"。":{"docs":{},"这":{"docs":{},"将":{"docs":{},"安":{"docs":{},"装":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"的":{"docs":{},"全":{"docs":{},"量":{"docs":{},"安":{"docs":{},"装":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},")":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"视":{"docs":{},"图":{"docs":{},"中":{"docs":{},"查":{"docs":{},"看":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"时":{"docs":{},",":{"docs":{},"单":{"docs":{},"击":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"的":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"下":{"docs":{},"载":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"“":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"自":{"docs":{},"行":{"docs":{},"下":{"docs":{},"载":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"提":{"docs":{},"供":{"docs":{},"有":{"docs":{},"关":{"docs":{},"库":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{},"导":{"docs":{},"入":{"docs":{},"后":{"docs":{},"该":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"将":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"为":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"库":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"或":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{},")":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"将":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"转":{"docs":{},"为":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"该":{"docs":{},"插":{"docs":{},"件":{"docs":{},"会":{"docs":{},"对":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"也":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"特":{"docs":{},"性":{"docs":{},"在":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"重":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"如":{"docs":{},"两":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"都":{"docs":{},"内":{"docs":{},"嵌":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"u":{"docs":{},"s":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}},"中":{"docs":{},"打":{"docs":{},"开":{"docs":{},"您":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"1":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"[":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"s":{"docs":{},"”":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{},"’":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"’":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},",":{"docs":{},"并":{"docs":{},"执":{"docs":{},"行":{"docs":{},"你":{"docs":{},"想":{"docs":{},"测":{"docs":{},"量":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"类":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"给":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"同":{"docs":{},"步":{"docs":{},"或":{"docs":{},"异":{"docs":{},"步":{"docs":{},"添":{"docs":{},"加":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"一":{"docs":{},"般":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.014767932489451477},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0189873417721519},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.03225806451612903},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.029850746268656716},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.013157894736842105},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.010899182561307902}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}}}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02040816326530612},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"正":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"k":{"docs":{},"i":{"docs":{},"a":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"、":{"docs":{},"文":{"docs":{},"字":{"docs":{},"排":{"docs":{},"版":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"等":{"docs":{},"。":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}}},")":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"`":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},")":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"'":{"docs":{},"b":{"docs":{},"o":{"docs":{},"b":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"/":{"6":{"0":{"2":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},"、":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":10.00210970464135}}}}}}}}}}}}}},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"别":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"左":{"docs":{},"、":{"docs":{},"右":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"手":{"docs":{},"指":{"docs":{},"重":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"左":{"docs":{},"/":{"docs":{},"右":{"docs":{},"向":{"docs":{},"里":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"便":{"docs":{},"可":{"docs":{},"打":{"docs":{},"开":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"。":{"docs":{},"本":{"docs":{},"节":{"docs":{},"开":{"docs":{},"始":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"左":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"m":{"docs":{},"y":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"请":{"docs":{},"导":{"docs":{},"航":{"docs":{},"至":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"在":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"x":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},"{":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}},"控":{"docs":{},"制":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"原":{"docs":{},"理":{"docs":{},"部":{"docs":{},"分":{"docs":{},"解":{"docs":{},"释":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}},"(":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}}},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"专":{"docs":{},"门":{"docs":{},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"指":{"docs":{},"示":{"docs":{},"器":{"docs":{},"(":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"给":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"将":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}},"p":{"docs":{},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"常":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645}}}}},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"监":{"docs":{},"听":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"调":{"docs":{},"度":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"o":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"f":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}},"t":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},"u":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.015985790408525755},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"=":{"docs":{},">":{"docs":{},"_":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"=":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083}}}}}}}}}}}}}}}},"{":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}}},"=":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"^":{"docs":{},"(":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"*":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006156837329876863},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"层":{"docs":{},"与":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{},"指":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"数":{"docs":{},"。":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"越":{"docs":{},"高":{"docs":{},"则":{"docs":{},"动":{"docs":{},"画":{"docs":{},"就":{"docs":{},"会":{"docs":{},"越":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"人":{"docs":{},"眼":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"超":{"docs":{},"过":{"1":{"6":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{},"就":{"docs":{},"比":{"docs":{},"较":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"了":{"docs":{},",":{"docs":{},"超":{"docs":{},"过":{"3":{"2":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"就":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"的":{"docs":{},"细":{"docs":{},"腻":{"docs":{},"平":{"docs":{},"滑":{"docs":{},",":{"docs":{},"而":{"docs":{},"超":{"docs":{},"过":{"3":{"2":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"基":{"docs":{},"本":{"docs":{},"就":{"docs":{},"感":{"docs":{},"受":{"docs":{},"不":{"docs":{},"到":{"docs":{},"差":{"docs":{},"别":{"docs":{},"了":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"是":{"docs":{},"要":{"docs":{},"改":{"docs":{},"变":{"docs":{},"u":{"docs":{},"i":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},"内":{"docs":{},"连":{"docs":{},"续":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"u":{"docs":{},"i":{"docs":{},"输":{"docs":{},"出":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"耗":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},",":{"docs":{},"对":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"软":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"要":{"docs":{},"求":{"docs":{},"都":{"docs":{},"较":{"docs":{},"高":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"平":{"docs":{},"均":{"docs":{},"帧":{"docs":{},"率":{"docs":{},"是":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"指":{"docs":{},"标":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"理":{"docs":{},"想":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"6":{"0":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"动":{"docs":{},"画":{"docs":{},"基":{"docs":{},"本":{"docs":{},"是":{"docs":{},"持":{"docs":{},"平":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"一":{"docs":{},"秒":{"docs":{},"钟":{"docs":{},"可":{"docs":{},"以":{"docs":{},"触":{"docs":{},"发":{"6":{"0":{"docs":{},"次":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"值":{"docs":{},"越":{"docs":{},"大":{"docs":{},",":{"docs":{},"界":{"docs":{},"面":{"docs":{},"就":{"docs":{},"越":{"docs":{},"流":{"docs":{},"畅":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},":":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"a":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"t":{"docs":{},"e":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}},"z":{"docs":{},"e":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"(":{"1":{"0":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"3":{"0":{"0":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"docs":{}},"docs":{}},"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007128969539857421}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.007777057679844459},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"用":{"docs":{},"于":{"docs":{},"给":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"指":{"docs":{},"定":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"就":{"docs":{},"应":{"docs":{},"该":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"其":{"docs":{},"大":{"docs":{},"小":{"docs":{},"在":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"给":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},";":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"当":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"时":{"docs":{},",":{"docs":{},"代":{"docs":{},"表":{"docs":{},"默":{"docs":{},"认":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"画":{"docs":{},"布":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"则":{"docs":{},"为":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"但":{"docs":{},"是":{"docs":{},"想":{"docs":{},"指":{"docs":{},"定":{"docs":{},"画":{"docs":{},"布":{"docs":{},"为":{"docs":{},"特":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"和":{"docs":{},"高":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"树":{"docs":{},"中":{"docs":{},"从":{"docs":{},"上":{"docs":{},"往":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"限":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"和":{"docs":{},"最":{"docs":{},"小":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"必":{"docs":{},"须":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":10.015625}},"(":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"{":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"能":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},"{":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"m":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"(":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}},"=":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"方":{"docs":{},"向":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}}},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"(":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"属":{"docs":{},"性":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"激":{"docs":{},"活":{"docs":{},"态":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"。":{"docs":{},"至":{"docs":{},"于":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"到":{"docs":{},"目":{"docs":{},"前":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"无":{"docs":{},"法":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"只":{"docs":{},"能":{"docs":{},"定":{"docs":{},"义":{"docs":{},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"高":{"docs":{},"度":{"docs":{},"也":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"'":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"docs":{},"{":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"b":{"docs":{},"t":{"docs":{},"n":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"决":{"docs":{},"定":{"docs":{},"当":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617}},"(":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"{":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"会":{"docs":{},"很":{"docs":{},"难":{"docs":{},"工":{"docs":{},"作":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"启":{"docs":{},"用":{"docs":{},"反":{"docs":{},"射":{"docs":{},"时":{"docs":{},"很":{"docs":{},"难":{"docs":{},"知":{"docs":{},"道":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"未":{"docs":{},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"冗":{"docs":{},"余":{"docs":{},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"难":{"docs":{},"剥":{"docs":{},"离":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"了":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"反":{"docs":{},"射":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"正":{"docs":{},"因":{"docs":{},"如":{"docs":{},"此":{"docs":{},"也":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{},"动":{"docs":{},"态":{"docs":{},"转":{"docs":{},"化":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"版":{"docs":{},"中":{"docs":{},"“":{"docs":{},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"著":{"docs":{},"优":{"docs":{},"化":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"反":{"docs":{},"射":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"应":{"docs":{},"用":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},":":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"根":{"docs":{},"据":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"总":{"docs":{},"长":{"docs":{},"度":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{},"它":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"处":{"docs":{},"理":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"{":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}},"有":{"docs":{},"细":{"docs":{},"片":{"docs":{},"、":{"docs":{},"小":{"docs":{},"片":{"docs":{},"之":{"docs":{},"意":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"常":{"docs":{},"指":{"docs":{},"具":{"docs":{},"有":{"docs":{},"特":{"docs":{},"定":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"块":{"docs":{},"。":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"等":{"docs":{},"都":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"、":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"等":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"和":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"最":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"列":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"会":{"docs":{},"一":{"docs":{},"一":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"只":{"docs":{},"需":{"docs":{},"记":{"docs":{},"住":{"docs":{},"它":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"再":{"docs":{},"去":{"docs":{},"查":{"docs":{},"看":{"docs":{},"文":{"docs":{},"档":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"说":{"docs":{},"“":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"“":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"和":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"如":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"等":{"docs":{},"是":{"docs":{},"和":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"无":{"docs":{},"关":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"结":{"docs":{},"合":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"一":{"docs":{},"起":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"必":{"docs":{},"须":{"docs":{},"都":{"docs":{},"是":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"层":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"层":{"docs":{},"会":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},",":{"docs":{},"当":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"有":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"有":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"将":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"层":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},"包":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"u":{"docs":{},"i":{"docs":{},"库":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"动":{"docs":{},"画":{"docs":{},"、":{"docs":{},"手":{"docs":{},"势":{"docs":{},"及":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"最":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"它":{"docs":{},"除":{"docs":{},"了":{"docs":{},"确":{"docs":{},"定":{"docs":{},"每":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"、":{"docs":{},"大":{"docs":{},"小":{"docs":{},"之":{"docs":{},"外":{"docs":{},"还":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"变":{"docs":{},"换":{"docs":{},"、":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"调":{"docs":{},"用":{"docs":{},"底":{"docs":{},"层":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"u":{"docs":{},"i":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"连":{"docs":{},"接":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"纽":{"docs":{},"带":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"时":{"docs":{},"候":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"层":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"层":{"docs":{},"有":{"docs":{},"时":{"docs":{},"候":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"完":{"docs":{},"全":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"将":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"也":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"便":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"现":{"docs":{},"在":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"提":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"请":{"docs":{},"读":{"docs":{},"者":{"docs":{},"先":{"docs":{},"自":{"docs":{},"己":{"docs":{},"思":{"docs":{},"考":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"至":{"docs":{},"关":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"这":{"docs":{},"个":{"docs":{},"纽":{"docs":{},"带":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"关":{"docs":{},"联":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"了":{"docs":{},"解":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"层":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"会":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"个":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"会":{"docs":{},"提":{"docs":{},"高":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"能":{"docs":{},"力":{"docs":{},"和":{"docs":{},"设":{"docs":{},"计":{"docs":{},"能":{"docs":{},"力":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"在":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"得":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"获":{"docs":{},"取":{"docs":{},"主":{"docs":{},"题":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"细":{"docs":{},"节":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"文":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"不":{"docs":{},"做":{"docs":{},"成":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"端":{"docs":{},"的":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"设":{"docs":{},"计":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"8":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"docs":{}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"*":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},")":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":5.055555555555555}},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"底":{"docs":{},"层":{"docs":{},"u":{"docs":{},"i":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"一":{"docs":{},"些":{"docs":{},"它":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"对":{"docs":{},"这":{"docs":{},"个":{"docs":{},"标":{"docs":{},"准":{"docs":{},"非":{"docs":{},"常":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"了":{"docs":{},",":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"根":{"docs":{},"据":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"来":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}},"的":{"docs":{},"基":{"docs":{},"石":{"docs":{},"。":{"docs":{},"最":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"分":{"docs":{},"析":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"整":{"docs":{},"体":{"docs":{},"过":{"docs":{},"程":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"和":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"层":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"从":{"docs":{},"头":{"docs":{},"到":{"docs":{},"尾":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"、":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"和":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"值":{"docs":{},"得":{"docs":{},"庆":{"docs":{},"幸":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"层":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"或":{"docs":{},"者":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"只":{"docs":{},"能":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"时":{"docs":{},"(":{"docs":{},"如":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"算":{"docs":{},"法":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"容":{"docs":{},"器":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"减":{"docs":{},"少":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"n":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537}},"(":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"产":{"docs":{},"生":{"docs":{},"任":{"docs":{},"何":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"它":{"docs":{},"允":{"docs":{},"许":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"按":{"docs":{},"照":{"docs":{},"其":{"docs":{},"本":{"docs":{},"身":{"docs":{},"大":{"docs":{},"小":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"很":{"docs":{},"少":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"去":{"docs":{},"除":{"docs":{},"\"":{"docs":{},"多":{"docs":{},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"也":{"docs":{},"许":{"docs":{},"会":{"docs":{},"有":{"docs":{},"帮":{"docs":{},"助":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"z":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"给":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"响":{"docs":{},"应":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.028169014084507043}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"b":{"docs":{},"调":{"docs":{},"试":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"e":{"docs":{},"r":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"a":{"docs":{},"g":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"实":{"docs":{},"例":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"r":{"docs":{},"l":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888}}},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"页":{"docs":{},"面":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"监":{"docs":{},"听":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"1":{"0":{"0":{"docs":{},"/":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645}}},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.015957446808510637}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},"v":{"8":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"上":{"docs":{},"也":{"docs":{},"已":{"docs":{},"经":{"docs":{},"做":{"docs":{},"的":{"docs":{},"很":{"docs":{},"好":{"docs":{},",":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"成":{"docs":{},"员":{"docs":{},"都":{"docs":{},"是":{"docs":{},"来":{"docs":{},"自":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{},"上":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"作":{"docs":{},"为":{"docs":{},"超":{"docs":{},"越":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"的":{"docs":{},"优":{"docs":{},"势":{"docs":{},",":{"docs":{},"而":{"docs":{},"对":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"需":{"docs":{},"要":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"也":{"docs":{},"正":{"docs":{},"好":{"docs":{},"满":{"docs":{},"足":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"a":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.016722408026755852},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.029850746268656716},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.020522388059701493},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"功":{"docs":{},"能":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"时":{"docs":{},"自":{"docs":{},"动":{"docs":{},"进":{"docs":{},"行":{"docs":{},"类":{"docs":{},"型":{"docs":{},"推":{"docs":{},"断":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"改":{"docs":{},"变":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"l":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.015723270440251572}},"u":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.01634877384196185}}},")":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}}}}}}}}}},"m":{"docs":{},"之":{"docs":{},"前":{"docs":{},"已":{"docs":{},"经":{"docs":{},"针":{"docs":{},"对":{"docs":{},"吞":{"docs":{},"吐":{"docs":{},"量":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"团":{"docs":{},"队":{"docs":{},"现":{"docs":{},"在":{"docs":{},"正":{"docs":{},"在":{"docs":{},"优":{"docs":{},"化":{"docs":{},"v":{"docs":{},"m":{"docs":{},"的":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"负":{"docs":{},"载":{"docs":{},"更":{"docs":{},"为":{"docs":{},"重":{"docs":{},"要":{"docs":{},"。":{"docs":{},"”":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"回":{"docs":{},"收":{"docs":{},"和":{"docs":{},"吞":{"docs":{},"吐":{"docs":{},"量":{"docs":{},"都":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"反":{"docs":{},"复":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"相":{"docs":{},"关":{"docs":{},"测":{"docs":{},"试":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"看":{"docs":{},"来":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"能":{"docs":{},"流":{"docs":{},"行":{"docs":{},",":{"docs":{},"v":{"docs":{},"m":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"就":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},",":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"在":{"docs":{},"g":{"docs":{},"o":{"docs":{},"(":{"docs":{},"没":{"docs":{},"用":{"docs":{},"v":{"docs":{},"m":{"docs":{},"但":{"docs":{},"有":{"docs":{},"g":{"docs":{},"c":{"docs":{},")":{"docs":{},"、":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"(":{"docs":{},"v":{"8":{"docs":{},")":{"docs":{},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"k":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},"上":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"技":{"docs":{},"术":{"docs":{},"积":{"docs":{},"淀":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"g":{"docs":{},"c":{"docs":{},"做":{"docs":{},"到":{"1":{"0":{"docs":{},"m":{"docs":{},"s":{"docs":{},"以":{"docs":{},"内":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"决":{"docs":{},"胜":{"docs":{},"因":{"docs":{},"素":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"是":{"docs":{},"在":{"docs":{},"性":{"docs":{},"能":{"docs":{},"方":{"docs":{},"面":{"docs":{},"。":{"docs":{},"而":{"docs":{},"在":{"docs":{},"语":{"docs":{},"法":{"docs":{},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"要":{"docs":{},"比":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"更":{"docs":{},"有":{"docs":{},"表":{"docs":{},"现":{"docs":{},"力":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"对":{"docs":{},"函":{"docs":{},"数":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"支":{"docs":{},"持":{"docs":{},"要":{"docs":{},"远":{"docs":{},"强":{"docs":{},"于":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"(":{"docs":{},"目":{"docs":{},"前":{"docs":{},"只":{"docs":{},"停":{"docs":{},"留":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"目":{"docs":{},"前":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"不":{"docs":{},"足":{"docs":{},"是":{"docs":{},"生":{"docs":{},"态":{"docs":{},",":{"docs":{},"但":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"相":{"docs":{},"信":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"火":{"docs":{},"热":{"docs":{},",":{"docs":{},"会":{"docs":{},"回":{"docs":{},"过":{"docs":{},"头":{"docs":{},"来":{"docs":{},"反":{"docs":{},"推":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"生":{"docs":{},"态":{"docs":{},"加":{"docs":{},"速":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"还":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"p":{"docs":{},"c":{"docs":{},"或":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"下":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"差":{"docs":{},"异":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"差":{"docs":{},"异":{"docs":{},"是":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"路":{"docs":{},"径":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"不":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"这":{"docs":{},"些":{"docs":{},"存":{"docs":{},"在":{"docs":{},"差":{"docs":{},"异":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"包":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},">":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"视":{"docs":{},"口":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.007974481658692184},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.020066889632107024},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.015657620041753653},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.011428571428571429},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.029850746268656716},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.013636363636363636},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.009433962264150943},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.016728624535315983},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.02722323049001815}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.007259528130671506}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},":":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"包":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}},"/":{"1":{"0":{"docs":{},".":{"0":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}}},"docs":{}},"docs":{}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"(":{"docs":{},"垂":{"docs":{},"直":{"docs":{},")":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"从":{"docs":{},"上":{"docs":{},"到":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}},"i":{"docs":{},"f":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"2":{"3":{"5":{"docs":{},".":{"5":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":10}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}},"协":{"docs":{},"议":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"发":{"docs":{},"起":{"docs":{},"一":{"docs":{},"条":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"进":{"docs":{},"行":{"docs":{},"握":{"docs":{},"手":{"docs":{},"后":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"支":{"docs":{},"持":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"协":{"docs":{},"议":{"docs":{},"升":{"docs":{},"级":{"docs":{},"。":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"握":{"docs":{},"手":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"链":{"docs":{},"接":{"docs":{},",":{"docs":{},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"链":{"docs":{},"接":{"docs":{},"是":{"docs":{},"个":{"docs":{},"长":{"docs":{},"链":{"docs":{},"接":{"docs":{},"(":{"docs":{},"不":{"docs":{},"会":{"docs":{},"断":{"docs":{},"开":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"与":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"实":{"docs":{},"时":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"有":{"docs":{},"关":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"协":{"docs":{},"议":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"r":{"docs":{},"f":{"docs":{},"c":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"如":{"docs":{},"何":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"是":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"巴":{"docs":{},"巴":{"docs":{},"于":{"2":{"0":{"1":{"6":{"docs":{},"年":{"docs":{},"发":{"docs":{},"布":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"思":{"docs":{},"想":{"docs":{},"及":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},".":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.019656019656019656},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.020876826722338204},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.08695652173913043},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016713091922005572},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.017964071856287425},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023746701846965697},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.03067484662576687},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024691358024691357},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"s":{"docs":{},"层":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"的":{"docs":{},"一":{"docs":{},"套":{"docs":{},"基":{"docs":{},"础":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},",":{"docs":{},"在":{"docs":{},"基":{"docs":{},"础":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"还":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"也":{"docs":{},"有":{"docs":{},"类":{"docs":{},"似":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"或":{"docs":{},"者":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"将":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"包":{"docs":{},"装":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"负":{"docs":{},"责":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"单":{"docs":{},"例":{"docs":{},",":{"docs":{},"紧":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"负":{"docs":{},"责":{"docs":{},"将":{"docs":{},"根":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"上":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"单":{"docs":{},"选":{"docs":{},"开":{"docs":{},"关":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"们":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"会":{"docs":{},"保":{"docs":{},"存":{"docs":{},"当":{"docs":{},"前":{"docs":{},"选":{"docs":{},"择":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"或":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"都":{"docs":{},"带":{"docs":{},"有":{"docs":{},"在":{"docs":{},"其":{"docs":{},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"动":{"docs":{},"画":{"docs":{},"效":{"docs":{},"果":{"docs":{},"(":{"docs":{},"但":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"这":{"docs":{},"些":{"docs":{},"效":{"docs":{},"果":{"docs":{},")":{"docs":{},"。":{"docs":{},"本":{"docs":{},"章":{"docs":{},"将":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"并":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"几":{"docs":{},"个":{"docs":{},"小":{"docs":{},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},",":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"迅":{"docs":{},"速":{"docs":{},"理":{"docs":{},"解":{"docs":{},"并":{"docs":{},"掌":{"docs":{},"握":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},"与":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},":":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"、":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"状":{"docs":{},"态":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"是":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}},"显":{"docs":{},"示":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"数":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}},"一":{"docs":{},"个":{"docs":{},"必":{"docs":{},"选":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"如":{"docs":{},"何":{"docs":{},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"个":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"字":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"少":{"docs":{},"由":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"组":{"docs":{},"成":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}},")":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"简":{"docs":{},"单":{"docs":{},"认":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"列":{"docs":{},"表":{"docs":{},"和":{"docs":{},"长":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"如":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"、":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"等":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"与":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"将":{"docs":{},"其":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"沿":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"依":{"docs":{},"次":{"docs":{},"排":{"docs":{},"列":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"您":{"docs":{},"构":{"docs":{},"建":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},"以":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"配":{"docs":{},"合":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"\"":{"docs":{},"打":{"docs":{},"洞":{"docs":{},"\"":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"表":{"docs":{},"示":{"docs":{},"与":{"docs":{},"该":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"由":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"组":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"统":{"docs":{},"一":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"校":{"docs":{},"验":{"docs":{},"、":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"重":{"docs":{},"置":{"docs":{},"以":{"docs":{},"及":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"保":{"docs":{},"存":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"合":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"形":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"类":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},"类":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"除":{"docs":{},"了":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"包":{"docs":{},"括":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"换":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"除":{"docs":{},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"也":{"docs":{},"大":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"功":{"docs":{},"能":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"的":{"docs":{},"骨":{"docs":{},"架":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"的":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"引":{"docs":{},"入":{"docs":{},"它":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"因":{"docs":{},"此":{"docs":{},"它":{"docs":{},"们":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"些":{"docs":{},"共":{"docs":{},"同":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"重":{"docs":{},"复":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"此":{"docs":{},"统":{"docs":{},"一":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"交":{"docs":{},"互":{"docs":{},"模":{"docs":{},"型":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"读":{"docs":{},"取":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"对":{"docs":{},"多":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"法":{"docs":{},"读":{"docs":{},"取":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"同":{"docs":{},"时":{"docs":{},"被":{"docs":{},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"将":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"设":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}},"上":{"docs":{},"指":{"docs":{},"定":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"占":{"docs":{},"用":{"docs":{},"与":{"docs":{},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}},"要":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"包":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"并":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"(":{"docs":{},"如":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"字":{"docs":{},"段":{"docs":{},"所":{"docs":{},"描":{"docs":{},"述":{"docs":{},"的":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"保":{"docs":{},"存":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"的":{"docs":{},"层":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"。":{"docs":{},"这":{"docs":{},"用":{"docs":{},"于":{"docs":{},"减":{"docs":{},"少":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},"会":{"docs":{},"发":{"docs":{},"送":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"和":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"到":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"处":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"时":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"中":{"docs":{},"就":{"docs":{},"会":{"docs":{},"存":{"docs":{},"储":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"被":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"细":{"docs":{},"节":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"状":{"docs":{},"态":{"docs":{},"应":{"docs":{},"该":{"docs":{},"被":{"docs":{},"谁":{"docs":{},"管":{"docs":{},"理":{"docs":{},"?":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"?":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{},"都":{"docs":{},"会":{"docs":{},"?":{"docs":{},"还":{"docs":{},"是":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},"!":{"docs":{},"以":{"docs":{},"下":{"docs":{},"是":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"最":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"被":{"docs":{},"多":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"页":{"docs":{},"面":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"原":{"docs":{},"理":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"与":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"”":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"销":{"docs":{},"毁":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"销":{"docs":{},"毁":{"docs":{},"或":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"时":{"docs":{},",":{"docs":{},"在":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"发":{"docs":{},"生":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}},"边":{"docs":{},"界":{"docs":{},"(":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"列":{"docs":{},"表":{"docs":{},"顶":{"docs":{},"或":{"docs":{},"底":{"docs":{},"部":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"设":{"docs":{},"置":{"docs":{},"发":{"docs":{},"生":{"docs":{},"更":{"docs":{},"改":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"重":{"docs":{},"建":{"docs":{},"其":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":10.001043841336116}}}},"(":{"docs":{},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"!":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{},"?":{"2":{"0":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}},"、":{"docs":{},"用":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{},"而":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"通":{"docs":{},"常":{"docs":{},"只":{"docs":{},"是":{"docs":{},"指":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"描":{"docs":{},"述":{"docs":{},"u":{"docs":{},"i":{"docs":{},"元":{"docs":{},"素":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{},"“":{"docs":{},"控":{"docs":{},"件":{"docs":{},"”":{"docs":{},"、":{"docs":{},"“":{"docs":{},"组":{"docs":{},"件":{"docs":{},"”":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"心":{"docs":{},"里":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"他":{"docs":{},"们":{"docs":{},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"表":{"docs":{},"述":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"主":{"docs":{},"要":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"在":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"必":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"于":{"docs":{},"概":{"docs":{},"念":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"中":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"也":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"具":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},"(":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"经":{"docs":{},"常":{"docs":{},"看":{"docs":{},"到":{"docs":{},"“":{"docs":{},"从":{"docs":{},"树":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"”":{"docs":{},"或":{"docs":{},"“":{"docs":{},"插":{"docs":{},"入":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},"”":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"其":{"docs":{},"意":{"docs":{},"思":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"描":{"docs":{},"述":{"docs":{},"“":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"构":{"docs":{},"成":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"树":{"docs":{},"”":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"不":{"docs":{},"必":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"那":{"docs":{},"句":{"docs":{},"话":{"docs":{},"“":{"docs":{},"得":{"docs":{},"其":{"docs":{},"神":{"docs":{},",":{"docs":{},"忘":{"docs":{},"其":{"docs":{},"形":{"docs":{},"”":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"“":{"docs":{},"树":{"docs":{},"”":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"特":{"docs":{},"别":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"都":{"docs":{},"可":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{},"认":{"docs":{},"为":{"docs":{},"它":{"docs":{},"是":{"docs":{},"“":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"构":{"docs":{},"成":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"树":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"层":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"将":{"docs":{},"在":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"而":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"将":{"docs":{},"在":{"docs":{},"原":{"docs":{},"来":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"典":{"docs":{},"型":{"docs":{},"地":{"docs":{},",":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"在":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"在":{"docs":{},"该":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"滑":{"docs":{},"出":{"docs":{},"视":{"docs":{},"口":{"docs":{},"时":{"docs":{},"该":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"g":{"docs":{},"c":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"其":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"自":{"docs":{},"己":{"docs":{},"维":{"docs":{},"护":{"docs":{},"其":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"必":{"docs":{},"须":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"docs":{},"动":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"分":{"docs":{},"发":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"监":{"docs":{},"听":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"。":{"docs":{},"除":{"docs":{},"了":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"还":{"docs":{},"有":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"并":{"docs":{},"不":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},"。":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"器":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"种":{"docs":{},"“":{"docs":{},"相":{"docs":{},"距":{"docs":{},"较":{"docs":{},"远":{"docs":{},"”":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"目":{"docs":{},"前":{"docs":{},"主":{"docs":{},"要":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"办":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"就":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"树":{"docs":{},",":{"docs":{},"而":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"是":{"docs":{},"由":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"构":{"docs":{},"成":{"docs":{},";":{"docs":{},"不":{"docs":{},"过":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"宽":{"docs":{},"泛":{"docs":{},"地":{"docs":{},"认":{"docs":{},"为":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"u":{"docs":{},"i":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"或":{"docs":{},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"运":{"docs":{},"行":{"docs":{},"平":{"docs":{},"台":{"docs":{},"来":{"docs":{},"切":{"docs":{},"换":{"docs":{},"表":{"docs":{},"现":{"docs":{},"风":{"docs":{},"格":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"从":{"docs":{},"底":{"docs":{},"向":{"docs":{},"上":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"系":{"docs":{},"统":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"从":{"docs":{},"右":{"docs":{},"向":{"docs":{},"左":{"docs":{},")":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"见":{"docs":{},"到":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"设":{"docs":{},"计":{"docs":{},"风":{"docs":{},"格":{"docs":{},"中":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"很":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},"形":{"docs":{},"式":{"docs":{},",":{"docs":{},"以":{"docs":{},"后":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"便":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"对":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"包":{"docs":{},"装":{"docs":{},"定":{"docs":{},"制":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"他":{"docs":{},"们":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"都":{"docs":{},"和":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"各":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"默":{"docs":{},"认":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"而":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},"大":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"统":{"docs":{},"一":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"这":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"及":{"docs":{},"表":{"docs":{},"单":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"背":{"docs":{},"景":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"背":{"docs":{},"景":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"库":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"些":{"docs":{},"规":{"docs":{},"范":{"docs":{},"可":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"部":{"docs":{},"分":{"docs":{},"都":{"docs":{},"定":{"docs":{},"义":{"docs":{},"在":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"应":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"身":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"类":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"即":{"docs":{},"“":{"docs":{},"诊":{"docs":{},"断":{"docs":{},"树":{"docs":{},"”":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"调":{"docs":{},"试":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"够":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"但":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"丰":{"docs":{},"富":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"在":{"docs":{},"不":{"docs":{},"断":{"docs":{},"的":{"docs":{},"完":{"docs":{},"善":{"docs":{},"中":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"边":{"docs":{},"就":{"docs":{},"会":{"docs":{},"收":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"一":{"docs":{},"下":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"。":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"是":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"但":{"docs":{},"因":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"不":{"docs":{},"足":{"docs":{},"一":{"docs":{},"行":{"docs":{},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"长":{"docs":{},"度":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"大":{"docs":{},"于":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"长":{"docs":{},"度":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"才":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"较":{"docs":{},"长":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"从":{"docs":{},"树":{"docs":{},"上":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"掉":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"其":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"发":{"docs":{},"生":{"docs":{},"结":{"docs":{},"构":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"基":{"docs":{},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"这":{"docs":{},"一":{"docs":{},"类":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"、":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"发":{"docs":{},"送":{"docs":{},"通":{"docs":{},"知":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"与":{"docs":{},"父":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"祖":{"docs":{},"先":{"docs":{},")":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"自":{"docs":{},"己":{"docs":{},"关":{"docs":{},"注":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"通":{"docs":{},"信":{"docs":{},"方":{"docs":{},"式":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"沿":{"docs":{},"用":{"docs":{},"“":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"”":{"docs":{},"这":{"docs":{},"个":{"docs":{},"术":{"docs":{},"语":{"docs":{},"。":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"始":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"性":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}},"显":{"docs":{},"示":{"docs":{},"它":{"docs":{},"们":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"指":{"docs":{},"定":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"注":{"docs":{},"册":{"docs":{},"位":{"docs":{},"置":{"docs":{},"”":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},"后":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"加":{"docs":{},"载":{"docs":{},"新":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"值":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"`":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"为":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"分":{"docs":{},"别":{"docs":{},"读":{"docs":{},"取":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},"后":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"根":{"docs":{},"之":{"docs":{},"间":{"docs":{},"任":{"docs":{},"意":{"docs":{},"位":{"docs":{},"置":{"docs":{},"都":{"docs":{},"能":{"docs":{},"监":{"docs":{},"听":{"docs":{},"。":{"docs":{},"而":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"只":{"docs":{},"能":{"docs":{},"和":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"发":{"docs":{},"现":{"docs":{},"在":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"或":{"docs":{},"切":{"docs":{},"换":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"docs":{},",":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"正":{"docs":{},"确":{"docs":{},"恢":{"docs":{},"复":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"分":{"docs":{},"别":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"不":{"docs":{},"同":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"分":{"docs":{},"别":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"一":{"docs":{},"定":{"docs":{},"就":{"docs":{},"得":{"docs":{},"给":{"docs":{},"他":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"提":{"docs":{},"供":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"中":{"docs":{},"也":{"docs":{},"会":{"docs":{},"保":{"docs":{},"存":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"将":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"重":{"docs":{},"新":{"docs":{},"加":{"docs":{},"载":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"只":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"每":{"docs":{},"次":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"新":{"docs":{},"加":{"docs":{},"载":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},".":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"销":{"docs":{},"毁":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"其":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"从":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"注":{"docs":{},"销":{"docs":{},"位":{"docs":{},"置":{"docs":{},"”":{"docs":{},",":{"docs":{},"注":{"docs":{},"销":{"docs":{},"后":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"实":{"docs":{},"现":{"docs":{},"文":{"docs":{},"本":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"位":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"其":{"docs":{},"它":{"docs":{},"业":{"docs":{},"务":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"顶":{"docs":{},"部":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"定":{"docs":{},"义":{"docs":{},"区":{"docs":{},"域":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"以":{"docs":{},"及":{"docs":{},"设":{"docs":{},"置":{"docs":{},"子":{"docs":{},"树":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"重":{"docs":{},"建":{"docs":{},"它":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}},"用":{"docs":{},"于":{"docs":{},"加":{"docs":{},"载":{"docs":{},"和":{"docs":{},"查":{"docs":{},"找":{"docs":{},"包":{"docs":{},"含":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}},"如":{"docs":{},"何":{"docs":{},"设":{"docs":{},"置":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"层":{"docs":{},"与":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.025210084033613446},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.011834319526627219},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"高":{"docs":{},",":{"docs":{},"当":{"docs":{},"不":{"docs":{},"指":{"docs":{},"定":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"时":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"显":{"docs":{},"示":{"docs":{},"其":{"docs":{},"原":{"docs":{},"始":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"设":{"docs":{},"置":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"的":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"默":{"docs":{},"认":{"docs":{},"会":{"docs":{},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"缩":{"docs":{},"放":{"docs":{},",":{"docs":{},"但":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"下":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"适":{"docs":{},"应":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},">":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"s":{"docs":{},",":{"docs":{},"请":{"docs":{},"确":{"docs":{},"保":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"命":{"docs":{},"令":{"docs":{},"提":{"docs":{},"示":{"docs":{},"符":{"docs":{},"或":{"docs":{},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},">":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},">":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"为":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"构":{"docs":{},"建":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"连":{"docs":{},"接":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"来":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"?":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":5}},"e":{"docs":{},"(":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},"{":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"和":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"配":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"当":{"docs":{},"启":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"时":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"代":{"docs":{},"表":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"中":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"否":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"l":{"docs":{},"d":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.03208556149732621}},"!":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"中":{"docs":{},"接":{"docs":{},"收":{"docs":{},"异":{"docs":{},"步":{"docs":{},"结":{"docs":{},"果":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026845637583892617}}}}}},"\"":{"docs":{},")":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.02054794520547945}}},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"值":{"docs":{},"为":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"居":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.014767932489451477}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872}}}}}}}}}},"”":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}},".":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"(":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"{":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"只":{"docs":{},"需":{"docs":{},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"次":{"docs":{},"观":{"docs":{},"察":{"docs":{},"器":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"它":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.03225806451612903},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.02109704641350211},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.036855036855036855},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.026905829596412557},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.04013377926421405},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.04488517745302714},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.05555555555555555},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.017759562841530054},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.02109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.03125},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.027855153203342618},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.037142857142857144},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.06172839506172839},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.059880239520958084},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.02030456852791878},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.037300177619893425},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05223880597014925},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.05063291139240506},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.016216216216216217},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.052770448548812667},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.03067484662576687},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.03636363636363636},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.046610169491525424},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.029069767441860465},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.04854368932038835},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.013574660633484163},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.02861035422343324},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.05113636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.020737327188940093},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.04090909090909091},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.033582089552238806},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.026595744680851064},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.021929824561403508},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.06918238993710692},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.06224066390041494},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.043859649122807015},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.04481792717086835},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.043209876543209874},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.055762081784386616},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0544464609800363}},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023809523809523808},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.011142061281337047},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633}}}}}}}},"e":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.0189873417721519},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.016722408026755852},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.008571428571428572},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.015985790408525755},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.017045454545454544},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.009074410163339383}}},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749}}}},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"具":{"docs":{},"体":{"docs":{},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"指":{"docs":{},"定":{"docs":{},"多":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"对":{"docs":{},"称":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},",":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"指":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"和":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"指":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"和":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.016722408026755852},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.02664298401420959},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0189873417721519},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.02112676056338028},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223}},"e":{"docs":{},"{":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"]":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}},"“":{"docs":{},"千":{"docs":{},"呼":{"docs":{},"万":{"docs":{},"唤":{"docs":{},"始":{"docs":{},"出":{"docs":{},"来":{"docs":{},"”":{"docs":{},",":{"docs":{},"铺":{"docs":{},"垫":{"docs":{},"这":{"docs":{},"么":{"docs":{},"久":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"终":{"docs":{},"于":{"docs":{},"等":{"docs":{},"到":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"docs":{},"主":{"docs":{},"角":{"docs":{},"出":{"docs":{},"场":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"前":{"docs":{},"编":{"docs":{},"译":{"docs":{},"”":{"docs":{},";":{"docs":{},"而":{"docs":{},"解":{"docs":{},"释":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"则":{"docs":{},"是":{"docs":{},"一":{"docs":{},"句":{"docs":{},"一":{"docs":{},"句":{"docs":{},"边":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"边":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"称":{"docs":{},"为":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"控":{"docs":{},"制":{"docs":{},"面":{"docs":{},"板":{"docs":{},">":{"docs":{},"用":{"docs":{},"户":{"docs":{},"帐":{"docs":{},"户":{"docs":{},">":{"docs":{},"用":{"docs":{},"户":{"docs":{},"帐":{"docs":{},"户":{"docs":{},">":{"docs":{},"更":{"docs":{},"改":{"docs":{},"我":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"”":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"了":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"则":{"docs":{},"最":{"docs":{},"终":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"即":{"9":{"0":{"docs":{},"×":{"2":{"0":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"”":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"中":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"和":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"是":{"docs":{},"强":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"轮":{"docs":{},"播":{"docs":{},"图":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"轮":{"docs":{},"播":{"docs":{},",":{"docs":{},"而":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"时":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"轮":{"docs":{},"播":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"轮":{"docs":{},"播":{"docs":{},"图":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},"本":{"docs":{},"身":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"处":{"docs":{},"理":{"docs":{},"了":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"手":{"docs":{},"势":{"docs":{},"(":{"docs":{},"支":{"docs":{},"持":{"docs":{},"手":{"docs":{},"动":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"可":{"docs":{},"能":{"docs":{},"也":{"docs":{},"支":{"docs":{},"持":{"docs":{},"了":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"外":{"docs":{},"部":{"docs":{},"再":{"docs":{},"用":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"、":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"话":{"docs":{},"是":{"docs":{},"不":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"就":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"态":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"一":{"docs":{},"次":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"反":{"docs":{},"复":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"移":{"docs":{},"除":{"docs":{},"某":{"docs":{},"个":{"docs":{},"特":{"docs":{},"定":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"“":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"态":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"动":{"docs":{},"画":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"结":{"docs":{},"束":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"保":{"docs":{},"留":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"它":{"docs":{},"还":{"docs":{},"未":{"docs":{},"能":{"docs":{},"重":{"docs":{},"新":{"docs":{},"变":{"docs":{},"成":{"docs":{},"”":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"“":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"u":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"其":{"docs":{},"彻":{"docs":{},"底":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"为":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"永":{"docs":{},"远":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"被":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"树":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"✔":{"docs":{},"️":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}}},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"详":{"docs":{},"细":{"docs":{},"说":{"docs":{},"明":{"docs":{},"可":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"文":{"docs":{},"档":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"主":{"docs":{},"要":{"docs":{},"方":{"docs":{},"法":{"docs":{},"允":{"docs":{},"许":{"docs":{},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"在":{"docs":{},"其":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"分":{"docs":{},"别":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"状":{"docs":{},"态":{"docs":{},"都":{"docs":{},"为":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"状":{"docs":{},"态":{"docs":{},"置":{"docs":{},"反":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"回":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"更":{"docs":{},"新":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"必":{"docs":{},"须":{"docs":{},"实":{"docs":{},"现":{"docs":{},"他":{"docs":{},"们":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"我":{"docs":{},"们":{"docs":{},"现":{"docs":{},"在":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"它":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"布":{"docs":{},"局":{"docs":{},"、":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"其":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"读":{"docs":{},"者":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"某":{"docs":{},"个":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"原":{"docs":{},"理":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"中":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"让":{"docs":{},"读":{"docs":{},"者":{"docs":{},"对":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"有":{"docs":{},"个":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"会":{"docs":{},"深":{"docs":{},"入":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"中":{"docs":{},"区":{"docs":{},"。":{"docs":{},"在":{"docs":{},"学":{"docs":{},"习":{"docs":{},"本":{"docs":{},"章":{"docs":{},"时":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"的":{"docs":{},"重":{"docs":{},"点":{"docs":{},"是":{"docs":{},"掌":{"docs":{},"握":{"docs":{},"不":{"docs":{},"同":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"具":{"docs":{},"体":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"细":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"会":{"docs":{},"在":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"多":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"当":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"边":{"docs":{},"界":{"docs":{},"(":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},")":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},"中":{"docs":{},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"必":{"docs":{},"须":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"测":{"docs":{},"试":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"很":{"docs":{},"少":{"docs":{},"会":{"docs":{},"重":{"docs":{},"写":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"改":{"docs":{},"变":{"docs":{},"后":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"也":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"改":{"docs":{},"变":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"每":{"docs":{},"次":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"这":{"docs":{},"些":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"与":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"要":{"docs":{},"维":{"docs":{},"护":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"以":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"被":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"往":{"docs":{},"往":{"docs":{},"会":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"很":{"docs":{},"多":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"包":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"或":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"管":{"docs":{},"理":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"如":{"docs":{},"何":{"docs":{},"使":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"(":{"docs":{},"位":{"docs":{},"于":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},")":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"应":{"docs":{},"多":{"docs":{},"个":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"这":{"docs":{},"很":{"docs":{},"好":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"同":{"docs":{},"一":{"docs":{},"份":{"docs":{},"配":{"docs":{},"置":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"多":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"提":{"docs":{},"供":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"控":{"docs":{},"制":{"docs":{},"所":{"docs":{},"有":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"认":{"docs":{},"证":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"就":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"全":{"docs":{},"局":{"docs":{},"凭":{"docs":{},"证":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"去":{"docs":{},"动":{"docs":{},"态":{"docs":{},"添":{"docs":{},"加":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"、":{"docs":{},"版":{"docs":{},"本":{"docs":{},"、":{"docs":{},"作":{"docs":{},"者":{"docs":{},"等":{"docs":{},"的":{"docs":{},"元":{"docs":{},"数":{"docs":{},"据":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"能":{"docs":{},"发":{"docs":{},"出":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"总":{"docs":{},"数":{"docs":{},"是":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"指":{"docs":{},"标":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"所":{"docs":{},"说":{"docs":{},"的":{"1":{"6":{"0":{"0":{"docs":{},"万":{"docs":{},"色":{"docs":{},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"一":{"docs":{},"个":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"1":{"6":{"0":{"0":{"docs":{},"万":{"docs":{},"种":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"而":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"有":{"docs":{},"r":{"docs":{},"g":{"docs":{},"b":{"docs":{},"三":{"docs":{},"基":{"docs":{},"色":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"1":{"6":{"0":{"0":{"docs":{},"万":{"docs":{},"即":{"2":{"docs":{},"的":{"2":{"4":{"docs":{},"次":{"docs":{},"方":{"docs":{},",":{"docs":{},"即":{"docs":{},"每":{"docs":{},"个":{"docs":{},"基":{"docs":{},"本":{"docs":{},"色":{"docs":{},"(":{"docs":{},"r":{"docs":{},"、":{"docs":{},"g":{"docs":{},"、":{"docs":{},"b":{"docs":{},")":{"docs":{},"深":{"docs":{},"度":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"至":{"8":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"其":{"docs":{},"对":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"当":{"docs":{},"发":{"docs":{},"生":{"docs":{},"用":{"docs":{},"户":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},")":{"docs":{},"开":{"docs":{},"始":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"胜":{"docs":{},"万":{"docs":{},"言":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"章":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"!":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"手":{"docs":{},"势":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"指":{"docs":{},"用":{"docs":{},"户":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"到":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"的":{"docs":{},"整":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"期":{"docs":{},"间":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"后":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"移":{"docs":{},"动":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"会":{"docs":{},"移":{"docs":{},"动":{"docs":{},"。":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"对":{"docs":{},"于":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"和":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"区":{"docs":{},"分":{"docs":{},"的":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"会":{"docs":{},"将":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},"(":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"本":{"docs":{},"次":{"docs":{},"手":{"docs":{},"势":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"上":{"docs":{},"按":{"docs":{},"下":{"docs":{},"手":{"docs":{},"指":{"docs":{},"时":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"就":{"docs":{},"会":{"docs":{},"开":{"docs":{},"始":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"字":{"docs":{},"母":{"docs":{},"a":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"其":{"docs":{},"为":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"旦":{"docs":{},"你":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"i":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"读":{"docs":{},"/":{"docs":{},"写":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"有":{"docs":{},"关":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"处":{"docs":{},"理":{"docs":{},"文":{"docs":{},"件":{"docs":{},"和":{"docs":{},"目":{"docs":{},"录":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"内":{"docs":{},"容":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"发":{"docs":{},"布":{"docs":{},"它":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"文":{"docs":{},"已":{"docs":{},"经":{"docs":{},"提":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"所":{"docs":{},"述":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"。":{"docs":{},"但":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{},"和":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"中":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},"主":{"docs":{},"要":{"docs":{},"指":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"主":{"docs":{},"要":{"docs":{},"指":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"下":{"docs":{},"发":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"热":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"包":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"演":{"docs":{},"示":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},"优":{"docs":{},"秀":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"也":{"docs":{},"支":{"docs":{},"持":{"docs":{},"原":{"docs":{},"生":{"docs":{},"调":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"也":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"依":{"docs":{},"次":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},",":{"docs":{},"前":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"有":{"docs":{},"此":{"docs":{},"差":{"docs":{},"异":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"强":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"任":{"docs":{},"何":{"docs":{},"变":{"docs":{},"量":{"docs":{},"都":{"docs":{},"是":{"docs":{},"有":{"docs":{},"确":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"声":{"docs":{},"明":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"后":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"来":{"docs":{},"推":{"docs":{},"断":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"被":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"而":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"是":{"docs":{},"纯":{"docs":{},"粹":{"docs":{},"的":{"docs":{},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"只":{"docs":{},"是":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},"方":{"docs":{},"式":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"显":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"的":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"迷":{"docs":{},"惑":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"像":{"docs":{},"被":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"两":{"docs":{},"次":{"docs":{},"。":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"事":{"docs":{},"情":{"docs":{},"是":{"docs":{},":":{"docs":{},"将":{"docs":{},"外":{"docs":{},"部":{"docs":{},"引":{"docs":{},"用":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"后":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"再":{"docs":{},"将":{"docs":{},"其":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"匿":{"docs":{},"名":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"都":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"资":{"docs":{},"源":{"docs":{},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"设":{"docs":{},"置":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"图":{"docs":{},"标":{"docs":{},"或":{"docs":{},"者":{"docs":{},"添":{"docs":{},"加":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},",":{"docs":{},"那":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"使":{"docs":{},"用":{"docs":{},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"放":{"docs":{},"大":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"(":{"docs":{},"匀":{"docs":{},"速":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"弹":{"docs":{},"簧":{"docs":{},"效":{"docs":{},"果":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"改":{"docs":{},"为":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},"即":{"docs":{},"可":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"应":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"后":{"docs":{},"即":{"docs":{},"使":{"docs":{},"设":{"docs":{},"备":{"docs":{},"当":{"docs":{},"前":{"docs":{},"语":{"docs":{},"言":{"docs":{},"是":{"docs":{},"中":{"docs":{},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"也":{"docs":{},"依":{"docs":{},"然":{"docs":{},"是":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"现":{"docs":{},"在":{"docs":{},"思":{"docs":{},"考":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"传":{"docs":{},"输":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"数":{"docs":{},"据":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"要":{"docs":{},"从":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"片":{"docs":{},")":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"接":{"docs":{},"收":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"链":{"docs":{},"接":{"docs":{},"时":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"貌":{"docs":{},"似":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"办":{"docs":{},"法":{"docs":{},"…":{"docs":{},"…":{"docs":{},"其":{"docs":{},"实":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"要":{"docs":{},"接":{"docs":{},"收":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"数":{"docs":{},"据":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"发":{"docs":{},"送":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"使":{"docs":{},"用":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"而":{"docs":{},"帧":{"docs":{},"是":{"docs":{},"有":{"docs":{},"固":{"docs":{},"定":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"字":{"docs":{},"段":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"当":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"是":{"docs":{},"文":{"docs":{},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},"还":{"docs":{},"是":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"还":{"docs":{},"有":{"docs":{},"其":{"docs":{},"它":{"docs":{},"类":{"docs":{},"型":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"帧":{"docs":{},"时":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"其":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"解":{"docs":{},"析":{"docs":{},"出":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"无":{"docs":{},"需":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"去":{"docs":{},"关":{"docs":{},"心":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"传":{"docs":{},"输":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"指":{"docs":{},"定":{"docs":{},"为":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"就":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"是":{"docs":{},"文":{"docs":{},"本":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"就":{"docs":{},"是":{"docs":{},"要":{"docs":{},"为":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"写":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"枯":{"docs":{},"燥":{"docs":{},"的":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"具":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"根":{"docs":{},"据":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"本":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"那":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"能":{"docs":{},"彻":{"docs":{},"底":{"docs":{},"解":{"docs":{},"放":{"docs":{},"双":{"docs":{},"手":{"docs":{},"了":{"docs":{},"。":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"自":{"docs":{},"己":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"并":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"转":{"docs":{},"为":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"假":{"docs":{},"定":{"docs":{},"包":{"docs":{},"位":{"docs":{},"于":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"存":{"docs":{},"储":{"docs":{},"库":{"docs":{},"的":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"参":{"docs":{},"数":{"docs":{},"指":{"docs":{},"定":{"docs":{},"相":{"docs":{},"对":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"小":{"docs":{},"例":{"docs":{},"子":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"结":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"础":{"docs":{},"文":{"docs":{},"本":{"docs":{},"片":{"docs":{},"段":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"链":{"docs":{},"接":{"docs":{},"片":{"docs":{},"段":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"即":{"docs":{},"字":{"docs":{},"体":{"docs":{},"为":{"2":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"(":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},")":{"docs":{},"、":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"点":{"docs":{},"一":{"docs":{},"次":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"就":{"docs":{},"会":{"docs":{},"分":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"y":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"根":{"docs":{},"上":{"docs":{},"监":{"docs":{},"听":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"收":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"通":{"docs":{},"知":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"要":{"docs":{},"维":{"docs":{},"护":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"根":{"docs":{},"据":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"述":{"docs":{},"的":{"docs":{},"多":{"docs":{},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"最":{"docs":{},"终":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"9":{"0":{"docs":{},"×":{"1":{"0":{"0":{"docs":{},"的":{"docs":{},"红":{"docs":{},"色":{"docs":{},"框":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"另":{"docs":{},"外":{"docs":{},"几":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"每":{"docs":{},"次":{"docs":{},"动":{"docs":{},"画":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"帧":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"脏":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"再":{"docs":{},"次":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},",":{"docs":{},"改":{"docs":{},"变":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"和":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"现":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"了":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"是":{"docs":{},"以":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"像":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"一":{"docs":{},"样":{"docs":{},"以":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"形":{"docs":{},"式":{"docs":{},"提":{"docs":{},"供":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"纯":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"了":{"docs":{},",":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"演":{"docs":{},"示":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"写":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"实":{"docs":{},"际":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"些":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"插":{"docs":{},"件":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"父":{"docs":{},"子":{"docs":{},"两":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"组":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"会":{"docs":{},"提":{"docs":{},"前":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"构":{"docs":{},"建":{"docs":{},"好":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"只":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"量":{"docs":{},"比":{"docs":{},"较":{"docs":{},"少":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"创":{"docs":{},"建":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"组":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"组":{"docs":{},"是":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"前":{"docs":{},"面":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},";":{"docs":{},"第":{"docs":{},"二":{"docs":{},"组":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"各":{"docs":{},"个":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},")":{"docs":{},"的":{"docs":{},"共":{"docs":{},"同":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"是":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"的":{"docs":{},"一":{"docs":{},"小":{"docs":{},"部":{"docs":{},"分":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"完":{"docs":{},"整":{"docs":{},"列":{"docs":{},"表":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{},"上":{"docs":{},"面":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"主":{"docs":{},"题":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"\"":{"docs":{},"样":{"docs":{},"本":{"docs":{},"\"":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"样":{"docs":{},"本":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"条":{"docs":{},"件":{"docs":{},"下":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"指":{"docs":{},"定":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"当":{"docs":{},"前":{"docs":{},"主":{"docs":{},"题":{"docs":{},"不":{"docs":{},"是":{"docs":{},"深":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"就":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"如":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"它":{"docs":{},"还":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"过":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"四":{"docs":{},"种":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"接":{"docs":{},"收":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"和":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"代":{"docs":{},"替":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"如":{"docs":{},"代":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"1":{"docs":{},"处":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},"参":{"docs":{},"数":{"docs":{},"直":{"docs":{},"接":{"docs":{},"传":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"对":{"docs":{},"象":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"述":{"docs":{},"命":{"docs":{},"令":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"为":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"只":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"让":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{},"即":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"安":{"docs":{},"卓":{"docs":{},"最":{"docs":{},"常":{"docs":{},"遇":{"docs":{},"见":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"之":{"docs":{},"一":{"docs":{},",":{"docs":{},"错":{"docs":{},"误":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"点":{"docs":{},"击":{"docs":{},"超":{"docs":{},"链":{"docs":{},"接":{"docs":{},"即":{"docs":{},"可":{"docs":{},"自":{"docs":{},"动":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"安":{"docs":{},"装":{"docs":{},"页":{"docs":{},"面":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"点":{"docs":{},"击":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{},"区":{"docs":{},"域":{"docs":{},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"让":{"docs":{},"整":{"docs":{},"个":{"3":{"0":{"0":{"docs":{},"×":{"1":{"5":{"0":{"docs":{},"的":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},"都":{"docs":{},"能":{"docs":{},"点":{"docs":{},"击":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"设":{"docs":{},"为":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"(":{"docs":{},"忽":{"docs":{},"略":{"docs":{},")":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"是":{"docs":{},"决":{"docs":{},"定":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"时":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"注":{"docs":{},"释":{"docs":{},"掉":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"2":{"0":{"0":{"docs":{},"*":{"1":{"0":{"0":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"非":{"docs":{},"文":{"docs":{},"本":{"docs":{},"区":{"docs":{},"域":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"(":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"透":{"docs":{},"明":{"docs":{},"区":{"docs":{},"域":{"docs":{},")":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"只":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},"“":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"0":{"docs":{},"”":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"没":{"docs":{},"有":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"有":{"docs":{},"底":{"docs":{},"部":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{},"当":{"docs":{},"放":{"docs":{},"开":{"docs":{},"注":{"docs":{},"释":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"和":{"docs":{},"底":{"docs":{},"部":{"docs":{},"都":{"docs":{},"会":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},"如":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},"都":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"通":{"docs":{},"知":{"docs":{},"子":{"docs":{},"类":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{},"移":{"docs":{},"动":{"docs":{},"的":{"docs":{},"位":{"docs":{},"移":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"通":{"docs":{},"知":{"docs":{},"属":{"docs":{},"性":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"查":{"docs":{},"看":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"获":{"docs":{},"取":{"docs":{},"手":{"docs":{},"机":{"docs":{},"型":{"docs":{},"号":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"供":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"将":{"docs":{},"展":{"docs":{},"示":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"感":{"docs":{},"受":{"docs":{},"一":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"选":{"docs":{},"用":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"在":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"通":{"docs":{},"信":{"docs":{},"。":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"支":{"docs":{},"持":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"只":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"各":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"多":{"docs":{},"的":{"docs":{},"展":{"docs":{},"示":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"外":{"docs":{},"观":{"docs":{},"和":{"docs":{},"用":{"docs":{},"途":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"长":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"读":{"docs":{},"者":{"docs":{},"将":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"起":{"docs":{},"来":{"docs":{},"观":{"docs":{},"看":{"docs":{},"实":{"docs":{},"际":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"截":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"“":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"”":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"底":{"docs":{},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{},",":{"docs":{},"将":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"五":{"docs":{},"子":{"docs":{},"棋":{"docs":{},"游":{"docs":{},"戏":{"docs":{},"中":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"和":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"目":{"docs":{},"标":{"docs":{},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"的":{"docs":{},"插":{"docs":{},"件":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{},"该":{"docs":{},"插":{"docs":{},"件":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"柱":{"docs":{},"状":{"docs":{},"图":{"docs":{},"增":{"docs":{},"长":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}},"看":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"决":{"docs":{},"定":{"docs":{},"这":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"时":{"docs":{},"是":{"docs":{},"否":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{},"其":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"”":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"变":{"docs":{},"量":{"docs":{},"t":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"带":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},"将":{"docs":{},"大":{"docs":{},"写":{"docs":{},"字":{"docs":{},"母":{"docs":{},"a":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}},"用":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},"拦":{"docs":{},"截":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"上":{"docs":{},"页":{"docs":{},"面":{"docs":{},"效":{"docs":{},"果":{"docs":{},"截":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"逐":{"docs":{},"一":{"docs":{},"解":{"docs":{},"释":{"docs":{},"一":{"docs":{},"下":{"docs":{},"各":{"docs":{},"个":{"docs":{},"字":{"docs":{},"段":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}},"监":{"docs":{},"听":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"显":{"docs":{},"示":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"进":{"docs":{},"度":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"来":{"docs":{},"识":{"docs":{},"别":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"该":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"使":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"包":{"docs":{},"中":{"docs":{},"是":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}},"调":{"docs":{},"整":{"docs":{},"的":{"docs":{},"角":{"docs":{},"度":{"docs":{},"的":{"docs":{},"计":{"docs":{},"算":{"docs":{},"公":{"docs":{},"式":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"数":{"docs":{},"学":{"docs":{},"几":{"docs":{},"何":{"docs":{},"知":{"docs":{},"识":{"docs":{},"得":{"docs":{},"出":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"研":{"docs":{},"究":{"docs":{},"一":{"docs":{},"下":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"是":{"docs":{},"这":{"docs":{},"样":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"载":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"包":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"你":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},"。":{"docs":{},"当":{"docs":{},"你":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"团":{"docs":{},"队":{"docs":{},"时":{"docs":{},",":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"并":{"docs":{},"下":{"docs":{},"载":{"docs":{},"开":{"docs":{},"发":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"向":{"docs":{},"你":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"注":{"docs":{},"册":{"docs":{},"你":{"docs":{},"的":{"docs":{},"帐":{"docs":{},"户":{"docs":{},",":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"下":{"docs":{},"载":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"如":{"docs":{},"何":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"、":{"docs":{},"下":{"docs":{},"载":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"滑":{"docs":{},"线":{"docs":{},"浅":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"宽":{"docs":{},"度":{"1":{"docs":{},"像":{"docs":{},"素":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"读":{"docs":{},"者":{"docs":{},"加":{"docs":{},"深":{"docs":{},"印":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"在":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"多":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"(":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"边":{"docs":{},"界":{"docs":{},"需":{"docs":{},"要":{"docs":{},"由":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"区":{"docs":{},"分":{"docs":{},"为":{"docs":{},"不":{"docs":{},"同":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"足":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}}},"要":{"docs":{},"按":{"docs":{},"“":{"docs":{},"停":{"docs":{},"止":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}},"过":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"大":{"docs":{},"小":{"docs":{},"或":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"固":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"去":{"docs":{},"添":{"docs":{},"加":{"docs":{},"帧":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"很":{"docs":{},"好":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"版":{"docs":{},"本":{"docs":{},".":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"变":{"docs":{},"化":{"docs":{},"快":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"变":{"docs":{},"大":{"docs":{},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"要":{"docs":{},"维":{"docs":{},"护":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"、":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"两":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"版":{"docs":{},"本":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"时":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"人":{"docs":{},"力":{"docs":{},"成":{"docs":{},"本":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"测":{"docs":{},"试":{"docs":{},"成":{"docs":{},"本":{"docs":{},"都":{"docs":{},"会":{"docs":{},"变":{"docs":{},"大":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},",":{"docs":{},"勾":{"docs":{},"选":{"docs":{},"上":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}},"有":{"docs":{},"个":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"它":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"后":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"等":{"docs":{},"待":{"docs":{},"\"":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"\"":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"时":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"回":{"docs":{},"调":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"是":{"docs":{},"当":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"或":{"docs":{},"应":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"的":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{},"它":{"docs":{},"用":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"包":{"docs":{},"裹":{"docs":{},"以":{"docs":{},"给":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"添":{"docs":{},"加":{"docs":{},"补":{"docs":{},"白":{"docs":{},"。":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"两":{"docs":{},"列":{"docs":{},",":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"比":{"docs":{},"为":{"4":{"docs":{},"的":{"docs":{},"网":{"docs":{},"格":{"docs":{},",":{"docs":{},"它":{"docs":{},"有":{"2":{"0":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"简":{"docs":{},"体":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"源":{"docs":{},"发":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"在":{"docs":{},"其":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"接":{"docs":{},"口":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"资":{"docs":{},"源":{"docs":{},"默":{"docs":{},"认":{"docs":{},"对":{"docs":{},"应":{"docs":{},"于":{"1":{"docs":{},".":{"0":{"docs":{},"倍":{"docs":{},"的":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}},"轴":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}},"题":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":5.00507614213198}}}},"也":{"docs":{},"许":{"docs":{},"你":{"docs":{},"已":{"docs":{},"经":{"docs":{},"猜":{"docs":{},"到":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"属":{"docs":{},"于":{"docs":{},"这":{"docs":{},"一":{"docs":{},"类":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"没":{"docs":{},"错":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"套":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"并":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"套":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"布":{"docs":{},"局":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"不":{"docs":{},"过":{"docs":{},",":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"的":{"docs":{},"思":{"docs":{},"路":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"新":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"这":{"docs":{},"么":{"docs":{},"做":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"它":{"docs":{},"之":{"docs":{},"前":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"代":{"docs":{},"表":{"docs":{},",":{"docs":{},"即":{"docs":{},"大":{"docs":{},"名":{"docs":{},"鼎":{"docs":{},"鼎":{"docs":{},"的":{"docs":{},"q":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"说":{"docs":{},"这":{"docs":{},"和":{"docs":{},"我":{"docs":{},"们":{"docs":{},"刚":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"差":{"docs":{},"不":{"docs":{},"了":{"docs":{},"多":{"docs":{},"少":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"它":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"三":{"docs":{},"个":{"docs":{},"好":{"docs":{},"处":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"多":{"docs":{},"次":{"docs":{},"触":{"docs":{},"发":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"传":{"docs":{},"递":{"docs":{},"结":{"docs":{},"果":{"docs":{},"数":{"docs":{},"据":{"docs":{},"或":{"docs":{},"错":{"docs":{},"误":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"是":{"7":{"2":{"docs":{},"p":{"docs":{},"x":{"docs":{},"乘":{"7":{"2":{"docs":{},"p":{"docs":{},"x":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"3":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"2":{"1":{"6":{"docs":{},"p":{"docs":{},"x":{"docs":{},"乘":{"2":{"1":{"6":{"docs":{},"p":{"docs":{},"x":{"docs":{},";":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"用":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"接":{"docs":{},"收":{"docs":{},"异":{"docs":{},"步":{"docs":{},"事":{"docs":{},"件":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"和":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"具":{"docs":{},"有":{"docs":{},"边":{"docs":{},"距":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},"、":{"docs":{},"填":{"docs":{},"充":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"和":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"其":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"到":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"个":{"docs":{},"头":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"就":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"近":{"docs":{},"几":{"docs":{},"年":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"物":{"docs":{},"联":{"docs":{},"网":{"docs":{},"时":{"docs":{},"代":{"docs":{},"到":{"docs":{},"来":{"docs":{},"、":{"docs":{},"移":{"docs":{},"动":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"高":{"docs":{},"歌":{"docs":{},"猛":{"docs":{},"进":{"docs":{},",":{"docs":{},"日":{"docs":{},"新":{"docs":{},"月":{"docs":{},"异":{"docs":{},",":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"已":{"docs":{},"经":{"docs":{},"不":{"docs":{},"能":{"docs":{},"满":{"docs":{},"足":{"docs":{},"日":{"docs":{},"益":{"docs":{},"增":{"docs":{},"长":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"表":{"docs":{},"现":{"docs":{},"在":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"未":{"docs":{},"指":{"docs":{},"定":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"将":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"为":{"7":{"2":{"docs":{},"像":{"docs":{},"素":{"docs":{},"×":{"7":{"2":{"docs":{},"像":{"docs":{},"素":{"docs":{},"(":{"docs":{},"以":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"是":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"对":{"docs":{},"父":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"“":{"docs":{},"去":{"docs":{},"除":{"docs":{},"”":{"docs":{},"并":{"docs":{},"非":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"去":{"docs":{},"除":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"红":{"docs":{},"色":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"9":{"0":{"docs":{},"×":{"2":{"0":{"docs":{},",":{"docs":{},"但":{"docs":{},"上":{"docs":{},"方":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"有":{"8":{"0":{"docs":{},"的":{"docs":{},"空":{"docs":{},"白":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"父":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"1":{"0":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"它":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"最":{"docs":{},"终":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"但":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"还":{"docs":{},"是":{"docs":{},"占":{"docs":{},"有":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"父":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"是":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"上":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"只":{"docs":{},"受":{"docs":{},"子":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"请":{"docs":{},"读":{"docs":{},"者":{"docs":{},"务":{"docs":{},"必":{"docs":{},"注":{"docs":{},"意":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"具":{"docs":{},"有":{"docs":{},"控":{"docs":{},"制":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"启":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"数":{"docs":{},"字":{"docs":{},"的":{"docs":{},"产":{"docs":{},"生":{"docs":{},"与":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"有":{"docs":{},"关":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"钟":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"6":{"0":{"docs":{},"个":{"docs":{},"数":{"docs":{},"字":{"docs":{},"(":{"docs":{},"即":{"6":{"0":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"在":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"每":{"docs":{},"一":{"docs":{},"帧":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"等":{"docs":{},"动":{"docs":{},"画":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"(":{"docs":{},"如":{"docs":{},"动":{"docs":{},"画":{"docs":{},"结":{"docs":{},"束":{"docs":{},")":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"碰":{"docs":{},"巧":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"插":{"docs":{},"件":{"docs":{},"包":{"docs":{},",":{"docs":{},"其":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"需":{"docs":{},"要":{"docs":{},"访":{"docs":{},"问":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"于":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"为":{"docs":{},"特":{"docs":{},"定":{"docs":{},"于":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"文":{"docs":{},"件":{"docs":{},"添":{"docs":{},"加":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"机":{"docs":{},"制":{"docs":{},"取":{"docs":{},"消":{"docs":{},"或":{"docs":{},"停":{"docs":{},"止":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"而":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"停":{"docs":{},"止":{"docs":{},"的":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"通":{"docs":{},"过":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"才":{"docs":{},"能":{"docs":{},"触":{"docs":{},"发":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"在":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"中":{"docs":{},",":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},"后":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"框":{"docs":{},"架":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"去":{"docs":{},"计":{"docs":{},"算":{"docs":{},"并":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"会":{"docs":{},"在":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},"建":{"docs":{},"立":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"层":{"docs":{},",":{"docs":{},"即":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},",":{"docs":{},"对":{"docs":{},"数":{"docs":{},"据":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"docs":{},"所":{"docs":{},"做":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"改":{"docs":{},"动":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"自":{"docs":{},"动":{"docs":{},"且":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"到":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"再":{"docs":{},"批":{"docs":{},"量":{"docs":{},"同":{"docs":{},"步":{"docs":{},"到":{"docs":{},"真":{"docs":{},"实":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"每":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"都":{"docs":{},"去":{"docs":{},"操":{"docs":{},"作":{"docs":{},"一":{"docs":{},"下":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"。":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"不":{"docs":{},"能":{"docs":{},"每":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"都":{"docs":{},"直":{"docs":{},"接":{"docs":{},"去":{"docs":{},"操":{"docs":{},"作":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"?":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"引":{"docs":{},"起":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"或":{"docs":{},"回":{"docs":{},"流":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"这":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"方":{"docs":{},"法":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"作":{"docs":{},"用":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"里":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"设":{"docs":{},"置":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"提":{"docs":{},"供":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"、":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"多":{"docs":{},"的":{"docs":{},"网":{"docs":{},"络":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"对":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"非":{"docs":{},"常":{"docs":{},"熟":{"docs":{},"悉":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"内":{"docs":{},"部":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"代":{"docs":{},"理":{"docs":{},"、":{"docs":{},"请":{"docs":{},"求":{"docs":{},"认":{"docs":{},"证":{"docs":{},"、":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"等":{"docs":{},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"唯":{"docs":{},"一":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"内":{"docs":{},"容":{"docs":{},"固":{"docs":{},"定":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"弱":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"有":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"只":{"docs":{},"能":{"docs":{},"发":{"docs":{},"版":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"内":{"docs":{},"容":{"docs":{},"需":{"docs":{},"求":{"docs":{},"增":{"docs":{},"大":{"docs":{},";":{"docs":{},"当":{"docs":{},"需":{"docs":{},"求":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"版":{"docs":{},"本":{"docs":{},"升":{"docs":{},"级":{"docs":{},"来":{"docs":{},"更":{"docs":{},"新":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"但":{"docs":{},"应":{"docs":{},"用":{"docs":{},"上":{"docs":{},"架":{"docs":{},"、":{"docs":{},"审":{"docs":{},"核":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"周":{"docs":{},"期":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"高":{"docs":{},"速":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"时":{"docs":{},"代":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"很":{"docs":{},"难":{"docs":{},"接":{"docs":{},"受":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"(":{"docs":{},"不":{"docs":{},"发":{"docs":{},"版":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"更":{"docs":{},"新":{"docs":{},"应":{"docs":{},"用":{"docs":{},"内":{"docs":{},"容":{"docs":{},")":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"就":{"docs":{},"变":{"docs":{},"的":{"docs":{},"迫":{"docs":{},"在":{"docs":{},"眉":{"docs":{},"睫":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"较":{"docs":{},"好":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"热":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}},"性":{"docs":{},"不":{"docs":{},"足":{"docs":{},";":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"u":{"docs":{},"i":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"会":{"docs":{},"采":{"docs":{},"用":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"模":{"docs":{},"式":{"docs":{},"编":{"docs":{},"译":{"docs":{},"其":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"应":{"docs":{},"用":{"docs":{},"发":{"docs":{},"布":{"docs":{},"后":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"像":{"docs":{},"h":{"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"r":{"docs":{},"n":{"docs":{},"那":{"docs":{},"些":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"(":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},"作":{"docs":{},"为":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"框":{"docs":{},"架":{"docs":{},"那":{"docs":{},"样":{"docs":{},"动":{"docs":{},"态":{"docs":{},"下":{"docs":{},"发":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":10},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}},"结":{"docs":{},"构":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":10}}}},"过":{"docs":{},"程":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"匀":{"docs":{},"速":{"docs":{},"的":{"docs":{},"、":{"docs":{},"加":{"docs":{},"速":{"docs":{},"的":{"docs":{},"或":{"docs":{},"者":{"docs":{},"先":{"docs":{},"加":{"docs":{},"速":{"docs":{},"后":{"docs":{},"减":{"docs":{},"速":{"docs":{},"等":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"曲":{"docs":{},"线":{"docs":{},")":{"docs":{},"来":{"docs":{},"描":{"docs":{},"述":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"非":{"docs":{},"线":{"docs":{},"性":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}},"在":{"docs":{},"终":{"docs":{},"点":{"docs":{},"停":{"docs":{},"止":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"起":{"docs":{},"始":{"docs":{},"点":{"docs":{},"停":{"docs":{},"止":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}},"基":{"docs":{},"本":{"docs":{},"结":{"docs":{},"构":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"将":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"有":{"docs":{},"了":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"只":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"布":{"docs":{},"局":{"docs":{},"下":{"docs":{},"性":{"docs":{},"能":{"docs":{},"会":{"docs":{},"提":{"docs":{},"高":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"反":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"正":{"docs":{},"向":{"docs":{},"执":{"docs":{},"行":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}},"状":{"docs":{},"态":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"待":{"docs":{},"售":{"docs":{},"商":{"docs":{},"品":{"docs":{},"的":{"docs":{},"缩":{"docs":{},"略":{"docs":{},"图":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"条":{"docs":{},"目":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"该":{"docs":{},"商":{"docs":{},"品":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"和":{"docs":{},"“":{"docs":{},"购":{"docs":{},"买":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"是":{"docs":{},"指":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"移":{"docs":{},"动":{"docs":{},"平":{"docs":{},"台":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"或":{"docs":{},"安":{"docs":{},"卓":{"docs":{},")":{"docs":{},"所":{"docs":{},"特":{"docs":{},"有":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"应":{"docs":{},"平":{"docs":{},"台":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"并":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"与":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"根":{"docs":{},"据":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"相":{"docs":{},"比":{"docs":{},"h":{"5":{"docs":{},"提":{"docs":{},"高":{"docs":{},"很":{"docs":{},"多":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}},"docs":{}}}}}}}}}},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":10}}}}}}}}}},"可":{"docs":{},"访":{"docs":{},"问":{"docs":{},"平":{"docs":{},"台":{"docs":{},"全":{"docs":{},"部":{"docs":{},"功":{"docs":{},"能":{"docs":{},"(":{"docs":{},"g":{"docs":{},"p":{"docs":{},"s":{"docs":{},"、":{"docs":{},"摄":{"docs":{},"像":{"docs":{},"头":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"和":{"docs":{},"文":{"docs":{},"本":{"docs":{},"混":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"局":{"docs":{},"部":{"docs":{},"主":{"docs":{},"题":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"全":{"docs":{},"局":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"为":{"docs":{},"第":{"docs":{},"二":{"docs":{},"行":{"docs":{},"图":{"docs":{},"标":{"docs":{},"指":{"docs":{},"定":{"docs":{},"固":{"docs":{},"定":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"(":{"docs":{},"黑":{"docs":{},"色":{"docs":{},")":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"技":{"docs":{},"巧":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"会":{"docs":{},"经":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"子":{"docs":{},"树":{"docs":{},"主":{"docs":{},"题":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"局":{"docs":{},"部":{"docs":{},"主":{"docs":{},"题":{"docs":{},"可":{"docs":{},"以":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"全":{"docs":{},"局":{"docs":{},"主":{"docs":{},"题":{"docs":{},"?":{"docs":{},"这":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"主":{"docs":{},"题":{"docs":{},"样":{"docs":{},"式":{"docs":{},"时":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"代":{"docs":{},"理":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"通":{"docs":{},"过":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"(":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"docs":{},".":{"2":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},")":{"docs":{},"发":{"docs":{},"送":{"docs":{},"出":{"docs":{},"去":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"感":{"docs":{},"受":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"中":{"docs":{},"有":{"docs":{},"大":{"docs":{},"量":{"docs":{},"异":{"docs":{},"步":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"种":{"docs":{},"在":{"docs":{},"回":{"docs":{},"调":{"docs":{},"里":{"docs":{},"面":{"docs":{},"套":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"读":{"docs":{},"性":{"docs":{},"下":{"docs":{},"降":{"docs":{},"以":{"docs":{},"及":{"docs":{},"出":{"docs":{},"错":{"docs":{},"率":{"docs":{},"提":{"docs":{},"高":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"非":{"docs":{},"常":{"docs":{},"难":{"docs":{},"维":{"docs":{},"护":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"被":{"docs":{},"形":{"docs":{},"象":{"docs":{},"的":{"docs":{},"称":{"docs":{},"为":{"docs":{},"回":{"docs":{},"调":{"docs":{},"地":{"docs":{},"狱":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"将":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"流":{"docs":{},"用":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"表":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"将":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"5":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"却":{"docs":{},"是":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"这":{"docs":{},"正":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"最":{"docs":{},"小":{"docs":{},"高":{"docs":{},"度":{"docs":{},"限":{"docs":{},"制":{"docs":{},"生":{"docs":{},"效":{"docs":{},"了":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"8":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"最":{"docs":{},"终":{"docs":{},"红":{"docs":{},"色":{"docs":{},"区":{"docs":{},"域":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"也":{"docs":{},"会":{"docs":{},"是":{"8":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"只":{"docs":{},"限":{"docs":{},"制":{"docs":{},"了":{"docs":{},"最":{"docs":{},"小":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"并":{"docs":{},"未":{"docs":{},"限":{"docs":{},"制":{"docs":{},"最":{"docs":{},"大":{"docs":{},"高":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"不":{"docs":{},"优":{"docs":{},"雅":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"页":{"docs":{},"面":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"如":{"docs":{},"表":{"docs":{},"头":{"docs":{},"布":{"docs":{},"局":{"docs":{},"调":{"docs":{},"整":{"docs":{},"导":{"docs":{},"致":{"docs":{},"表":{"docs":{},"头":{"docs":{},"高":{"docs":{},"度":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"就":{"docs":{},"得":{"docs":{},"重":{"docs":{},"新":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"拉":{"docs":{},"升":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"以":{"docs":{},"填":{"docs":{},"充":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"当":{"docs":{},"然":{"docs":{},"有":{"docs":{},"!":{"docs":{},"答":{"docs":{},"案":{"docs":{},"就":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"。":{"docs":{},"前":{"docs":{},"面":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"自":{"docs":{},"动":{"docs":{},"拉":{"docs":{},"伸":{"docs":{},"组":{"docs":{},"件":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"说":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"+":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"发":{"docs":{},"生":{"docs":{},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"弹":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"自":{"docs":{},"己":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"上":{"docs":{},"报":{"docs":{},"到":{"docs":{},"报":{"docs":{},"警":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"话":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"?":{"docs":{},"我":{"docs":{},"们":{"docs":{},"进":{"docs":{},"入":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"看":{"docs":{},"看":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"时":{"docs":{},"首":{"docs":{},"先":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"右":{"docs":{},"边":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"默":{"docs":{},"认":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"行":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"超":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"不":{"docs":{},"会":{"docs":{},"折":{"docs":{},"行":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"超":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"范":{"docs":{},"围":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"折":{"docs":{},"行":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"称":{"docs":{},"为":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"将":{"docs":{},"上":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"换":{"docs":{},"成":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"后":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"则":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"折":{"docs":{},"行":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"会":{"docs":{},"对":{"docs":{},"它":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"占":{"docs":{},"满":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"。":{"docs":{},"有":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"是":{"docs":{},"堆":{"docs":{},"叠":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"遮":{"docs":{},"住":{"docs":{},"了":{"docs":{},",":{"docs":{},"而":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"在":{"docs":{},"最":{"docs":{},"上":{"docs":{},"层":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"正":{"docs":{},"常":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"控":{"docs":{},"制":{"docs":{},"打":{"docs":{},"洞":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"打":{"docs":{},"洞":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"取":{"docs":{},"决":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"没":{"docs":{},"有":{"docs":{},"触":{"docs":{},"发":{"docs":{},"异":{"docs":{},"常":{"docs":{},"并":{"docs":{},"且":{"docs":{},"列":{"docs":{},"表":{"docs":{},"已":{"docs":{},"经":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},"了":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"手":{"docs":{},"机":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"高":{"docs":{},"度":{"docs":{},"要":{"docs":{},"大":{"docs":{},"于":{"4":{"0":{"0":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"底":{"docs":{},"部":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"空":{"docs":{},"白":{"docs":{},",":{"docs":{},"那":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"列":{"docs":{},"表":{"docs":{},"铺":{"docs":{},"满":{"docs":{},"除":{"docs":{},"过":{"docs":{},"表":{"docs":{},"头":{"docs":{},"以":{"docs":{},"外":{"docs":{},"的":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"空":{"docs":{},"间":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"动":{"docs":{},"态":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"用":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"高":{"docs":{},"度":{"docs":{},"减":{"docs":{},"去":{"docs":{},"状":{"docs":{},"态":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"表":{"docs":{},"头":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"即":{"docs":{},"为":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"供":{"docs":{},"前":{"docs":{},"景":{"docs":{},"或":{"docs":{},"背":{"docs":{},"景":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"提":{"docs":{},"供":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"需":{"docs":{},"要":{"docs":{},"继":{"docs":{},"承":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"类":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"处":{"docs":{},"理":{"docs":{},"重":{"docs":{},"定":{"docs":{},"向":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"等":{"docs":{},"。":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"完":{"docs":{},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},"参":{"docs":{},"考":{"docs":{},"示":{"docs":{},"例":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"字":{"docs":{},"段":{"docs":{},"已":{"docs":{},"自":{"docs":{},"动":{"docs":{},"添":{"docs":{},"加":{"docs":{},",":{"docs":{},"并":{"docs":{},"自":{"docs":{},"动":{"docs":{},"导":{"docs":{},"入":{"docs":{},"了":{"docs":{},"“":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"就":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"确":{"docs":{},"定":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"不":{"docs":{},"能":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"固":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"多":{"docs":{},"种":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"强":{"docs":{},"大":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"正":{"docs":{},"是":{"docs":{},"组":{"docs":{},"合":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"左":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"已":{"docs":{},"经":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"由":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"等":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"它":{"docs":{},"还":{"docs":{},"并":{"docs":{},"不":{"docs":{},"完":{"docs":{},"整":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"没":{"docs":{},"有":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"不":{"docs":{},"能":{"docs":{},"定":{"docs":{},"义":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"等":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"需":{"docs":{},"要":{"docs":{},"来":{"docs":{},"完":{"docs":{},"善":{"docs":{},"。":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{},"分":{"docs":{},"两":{"docs":{},"个":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"是":{"docs":{},"响":{"docs":{},"应":{"docs":{},"头":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"部":{"docs":{},"分":{"docs":{},"是":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},"动":{"docs":{},"态":{"docs":{},"来":{"docs":{},"输":{"docs":{},"出":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"响":{"docs":{},"应":{"docs":{},"体":{"docs":{},"和":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"会":{"docs":{},"有":{"docs":{},"差":{"docs":{},"别":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"补":{"docs":{},"充":{"docs":{},"一":{"docs":{},"些":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"(":{"docs":{},"如":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"值":{"docs":{},"不":{"docs":{},"同":{"docs":{},"时":{"docs":{},"输":{"docs":{},"出":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"提":{"docs":{},"示":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"传":{"docs":{},"入":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{},"即":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"类":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},"以":{"docs":{},"及":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"出":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"只":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"都":{"docs":{},"做":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"最":{"docs":{},"接":{"docs":{},"近":{"docs":{},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"例":{"docs":{},"(":{"docs":{},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},")":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"使":{"docs":{},"这":{"docs":{},"种":{"docs":{},"映":{"docs":{},"射":{"docs":{},"起":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"根":{"docs":{},"据":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"docs":{},"饰":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"设":{"docs":{},"计":{"docs":{},"人":{"docs":{},"员":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"其":{"docs":{},"它":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"如":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"文":{"docs":{},"本":{"docs":{},"一":{"docs":{},"样":{"docs":{},"改":{"docs":{},"变":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"大":{"docs":{},"小":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"比":{"docs":{},"例":{"docs":{},"“":{"docs":{},"扩":{"docs":{},"伸":{"docs":{},"”":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"就":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"是":{"docs":{},"在":{"docs":{},"容":{"docs":{},"器":{"docs":{},"外":{"docs":{},"部":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"是":{"docs":{},"在":{"docs":{},"容":{"docs":{},"器":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"记":{"docs":{},"住":{"docs":{},"这":{"docs":{},"个":{"docs":{},"差":{"docs":{},"异":{"docs":{},"。":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"和":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"共":{"docs":{},"同":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"显":{"docs":{},"示":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},"确":{"docs":{},"保":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"大":{"docs":{},"小":{"docs":{},"不":{"docs":{},"要":{"docs":{},"超":{"docs":{},"出":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"最":{"docs":{},"终":{"docs":{},"也":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"和":{"docs":{},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"区":{"docs":{},"别":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"答":{"docs":{},"案":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"和":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},")":{"docs":{},"连":{"docs":{},"接":{"docs":{},"起":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"(":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"更":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"你":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"直":{"docs":{},"接":{"docs":{},"设":{"docs":{},"置":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"对":{"docs":{},"整":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"而":{"docs":{},"通":{"docs":{},"过":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"只":{"docs":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{},"请":{"docs":{},"求":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"是":{"docs":{},"无":{"docs":{},"法":{"docs":{},"通":{"docs":{},"过":{"docs":{},"现":{"docs":{},"有":{"docs":{},"组":{"docs":{},"件":{"docs":{},"组":{"docs":{},"合":{"docs":{},"而":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"方":{"docs":{},"式":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"送":{"docs":{},"与":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"、":{"docs":{},"两":{"docs":{},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"等":{"docs":{},"样":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"储":{"docs":{},"只":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"可":{"docs":{},"以":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"被":{"docs":{},"卸":{"docs":{},"载":{"docs":{},"时":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"才":{"docs":{},"会":{"docs":{},"清":{"docs":{},"除":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"应":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"。":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}},"选":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"视":{"docs":{},"化":{"docs":{},"调":{"docs":{},"试":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"让":{"docs":{},"您":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"带":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"矩":{"docs":{},"形":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/":{"ref":"chapter6/","tf":10}},"s":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":10}}}}},"简":{"docs":{},"介":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}},"见":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"读":{"docs":{},"者":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"它":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},",":{"docs":{},"已":{"docs":{},"有":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"称":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"和":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.014285714285714285},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},"目":{"docs":{},"前":{"docs":{},"是":{"docs":{},"在":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"中":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"但":{"docs":{},"将":{"docs":{},"来":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"采":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"两":{"docs":{},"种":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"。":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"和":{"docs":{},"这":{"docs":{},"两":{"docs":{},"层":{"docs":{},"打":{"docs":{},"交":{"docs":{},"道":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"要":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"构":{"docs":{},"建":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"程":{"docs":{},"序":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"安":{"docs":{},"装":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"功":{"docs":{},"能":{"docs":{},"和":{"docs":{},"用":{"docs":{},"法":{"docs":{},"是":{"docs":{},"一":{"docs":{},"模":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"已":{"docs":{},"经":{"docs":{},"了":{"docs":{},"解":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"本":{"docs":{},"节":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"并":{"docs":{},"重":{"docs":{},"写":{"docs":{},"了":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"管":{"docs":{},"理":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"举":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"它":{"docs":{},"地":{"docs":{},"方":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"稍":{"docs":{},"微":{"docs":{},"有":{"docs":{},"点":{"docs":{},"区":{"docs":{},"别":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"合":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"、":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"值":{"docs":{},"则":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"现":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"注":{"docs":{},"册":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"来":{"docs":{},"动":{"docs":{},"态":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"文":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"时":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"有":{"docs":{},"些":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"永":{"docs":{},"恒":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"—":{"docs":{},"—":{"docs":{},"“":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"”":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},"两":{"docs":{},"者":{"docs":{},"都":{"docs":{},"是":{"docs":{},"支":{"docs":{},"持":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},")":{"docs":{},"还":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"和":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"对":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"有":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"本":{"docs":{},"节":{"docs":{},"。":{"docs":{},"言":{"docs":{},"归":{"docs":{},"正":{"docs":{},"传":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"其":{"docs":{},"实":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"和":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"是":{"docs":{},"等":{"docs":{},"价":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"前":{"docs":{},"者":{"docs":{},"常":{"docs":{},"用":{"docs":{},"语":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"=":{"docs":{},"u":{"docs":{},"p":{"8":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"当":{"docs":{},"它":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"被":{"docs":{},"标":{"docs":{},"及":{"docs":{},"为":{"docs":{},"”":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"八":{"docs":{},"个":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"”":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"受":{"docs":{},"到":{"docs":{},"新":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"以":{"docs":{},"上":{"docs":{},"三":{"docs":{},"点":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"读":{"docs":{},"者":{"docs":{},"和":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"未":{"docs":{},"来":{"docs":{},"如":{"docs":{},"何":{"docs":{},",":{"docs":{},"心":{"docs":{},"中":{"docs":{},"自":{"docs":{},"有":{"docs":{},"定":{"docs":{},"论":{"docs":{},"。":{"docs":{},"到":{"docs":{},"现":{"docs":{},"在":{"docs":{},"为":{"docs":{},"止":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"对":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"有":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"全":{"docs":{},"面":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"便":{"docs":{},"要":{"docs":{},"进":{"docs":{},"入":{"docs":{},"本":{"docs":{},"书":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"你":{"docs":{},"准":{"docs":{},"备":{"docs":{},"好":{"docs":{},"了":{"docs":{},"吗":{"docs":{},"!":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"四":{"docs":{},"点":{"docs":{},",":{"docs":{},"尽":{"docs":{},"管":{"docs":{},"q":{"docs":{},"t":{"docs":{},"是":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"的":{"docs":{},"先":{"docs":{},"驱":{"docs":{},",":{"docs":{},"但":{"docs":{},"却":{"docs":{},"成":{"docs":{},"为":{"docs":{},"了":{"docs":{},"烈":{"docs":{},"士":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"的":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"发":{"docs":{},"周":{"docs":{},"期":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"采":{"docs":{},"用":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"每":{"docs":{},"次":{"docs":{},"改":{"docs":{},"动":{"docs":{},"都":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"节":{"docs":{},"省":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"间":{"docs":{},";":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"础":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter3/":{"ref":"chapter3/","tf":10.1},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"大":{"docs":{},"会":{"docs":{},"上":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"它":{"docs":{},"容":{"docs":{},"器":{"docs":{},"时":{"docs":{},"都":{"docs":{},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"了":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"但":{"docs":{},"有":{"docs":{},"两":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"都":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"有":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"(":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"以":{"docs":{},"及":{"docs":{},"底":{"docs":{},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"导":{"docs":{},"航":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"等":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"自":{"docs":{},"己":{"docs":{},"手":{"docs":{},"动":{"docs":{},"去":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"非":{"docs":{},"常":{"docs":{},"无":{"docs":{},"聊":{"docs":{},"的":{"docs":{},"事":{"docs":{},"。":{"docs":{},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"过":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"为":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"但":{"docs":{},"根":{"docs":{},"据":{"docs":{},"低":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"为":{"docs":{},"入":{"docs":{},"口":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"类":{"docs":{},"和":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"进":{"docs":{},"行":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"也":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}}},"将":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"原":{"docs":{},"生":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"终":{"docs":{},"端":{"docs":{},"会":{"docs":{},"话":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"解":{"docs":{},"决":{"docs":{},"办":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"修":{"docs":{},"改":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"能":{"docs":{},"再":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{},"解":{"docs":{},"压":{"docs":{},"到":{"docs":{},"你":{"docs":{},"想":{"docs":{},"安":{"docs":{},"装":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"栈":{"docs":{},"顶":{"docs":{},"路":{"docs":{},"由":{"docs":{},"出":{"docs":{},"栈":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"为":{"docs":{},"页":{"docs":{},"面":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"时":{"docs":{},"返":{"docs":{},"回":{"docs":{},"给":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"即":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},")":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"及":{"docs":{},"关":{"docs":{},"闭":{"docs":{},")":{"docs":{},"时":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"docs":{},"版":{"docs":{},"本":{"docs":{},")":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}},"其":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},",":{"docs":{},"并":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"每":{"docs":{},"种":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"密":{"docs":{},"度":{"docs":{},"(":{"docs":{},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},")":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},"图":{"docs":{},"标":{"docs":{},"大":{"docs":{},"小":{"docs":{},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"2":{"docs":{},".":{"7":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"率":{"docs":{},",":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"3":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"将":{"docs":{},"被":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"非":{"docs":{},"线":{"docs":{},"性":{"docs":{},"曲":{"docs":{},"线":{"docs":{},".":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"以":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"类":{"docs":{},"型":{"docs":{},"写":{"docs":{},"到":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"转":{"docs":{},"为":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"它":{"docs":{},"没":{"docs":{},"有":{"docs":{},"外":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"或":{"docs":{},"其":{"docs":{},"它":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"小":{"docs":{},"项":{"docs":{},"目":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{},"但":{"docs":{},"当":{"docs":{},"项":{"docs":{},"目":{"docs":{},"变":{"docs":{},"大":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"手":{"docs":{},"动":{"docs":{},"编":{"docs":{},"写":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"可":{"docs":{},"能":{"docs":{},"变":{"docs":{},"得":{"docs":{},"难":{"docs":{},"以":{"docs":{},"管":{"docs":{},"理":{"docs":{},"且":{"docs":{},"容":{"docs":{},"易":{"docs":{},"出":{"docs":{},"错":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"运":{"docs":{},"行":{"docs":{},"生":{"docs":{},"成":{"docs":{},"命":{"docs":{},"令":{"docs":{},"后":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"底":{"docs":{},"部":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"比":{"docs":{},"特":{"docs":{},"数":{"docs":{},"据":{"docs":{},"发":{"docs":{},"给":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/":{"ref":"chapter4/","tf":10},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}},"s":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":10}}}}},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},")":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"用":{"docs":{},"于":{"docs":{},"接":{"docs":{},"收":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"继":{"docs":{},"承":{"docs":{},"关":{"docs":{},"系":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"排":{"docs":{},"版":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},"方":{"docs":{},"式":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"前":{"docs":{},"面":{"docs":{},"说":{"docs":{},"过":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"才":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"树":{"docs":{},",":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"分":{"docs":{},"为":{"docs":{},"了":{"docs":{},"三":{"docs":{},"类":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"对":{"docs":{},"应":{"docs":{},"三":{"docs":{},"种":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"表":{"docs":{},":":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"组":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"(":{"docs":{},"或":{"docs":{},"包":{"docs":{},"含":{"docs":{},")":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"排":{"docs":{},"列":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"对":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"排":{"docs":{},"列":{"docs":{},";":{"docs":{},"而":{"docs":{},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"一":{"docs":{},"般":{"docs":{},"只":{"docs":{},"是":{"docs":{},"包":{"docs":{},"装":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"对":{"docs":{},"其":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"些":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"(":{"docs":{},"补":{"docs":{},"白":{"docs":{},"或":{"docs":{},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{},"等":{"docs":{},")":{"docs":{},"、":{"docs":{},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"或":{"docs":{},"剪":{"docs":{},"裁":{"docs":{},"等":{"docs":{},")":{"docs":{},"、":{"docs":{},"或":{"docs":{},"限":{"docs":{},"制":{"docs":{},"(":{"docs":{},"大":{"docs":{},"小":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"限":{"docs":{},"制":{"docs":{},"类":{"docs":{},"容":{"docs":{},"器":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"高":{"docs":{},";":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"必":{"docs":{},"须":{"docs":{},"维":{"docs":{},"护":{"docs":{},"不":{"docs":{},"同":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"人":{"docs":{},"力":{"docs":{},"成":{"docs":{},"本":{"docs":{},"随":{"docs":{},"之":{"docs":{},"变":{"docs":{},"大":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"、":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"版":{"docs":{},"本":{"docs":{},"等":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"之":{"docs":{},"一":{"docs":{},"(":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"它":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"或":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"讨":{"docs":{},"论":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"道":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"使":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"消":{"docs":{},"息":{"docs":{},"编":{"docs":{},"/":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"对":{"docs":{},"消":{"docs":{},"息":{"docs":{},"进":{"docs":{},"行":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"与":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"平":{"docs":{},"台":{"docs":{},"之":{"docs":{},"间":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"有":{"docs":{},"所":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"列":{"docs":{},"出":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"消":{"docs":{},"息":{"docs":{},"处":{"docs":{},"理":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"移":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}},"年":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},";":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"可":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"快":{"docs":{},"速":{"docs":{},"地":{"docs":{},"进":{"docs":{},"行":{"docs":{},"测":{"docs":{},"试":{"docs":{},"、":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"、":{"docs":{},"添":{"docs":{},"加":{"docs":{},"功":{"docs":{},"能":{"docs":{},"并":{"docs":{},"更":{"docs":{},"快":{"docs":{},"地":{"docs":{},"修":{"docs":{},"复":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"或":{"docs":{},"真":{"docs":{},"机":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"级":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"这":{"docs":{},"真":{"docs":{},"的":{"docs":{},"很":{"docs":{},"棒":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"我":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"是":{"docs":{},"一":{"docs":{},"名":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},",":{"docs":{},"体":{"docs":{},"验":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"流":{"docs":{},"后":{"docs":{},",":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"不":{"docs":{},"想":{"docs":{},"重":{"docs":{},"新":{"docs":{},"回":{"docs":{},"去":{"docs":{},"做":{"docs":{},"原":{"docs":{},"生":{"docs":{},"了":{"docs":{},",":{"docs":{},"毕":{"docs":{},"竟":{"docs":{},"很":{"docs":{},"少":{"docs":{},"有":{"docs":{},"人":{"docs":{},"不":{"docs":{},"吐":{"docs":{},"槽":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}},"者":{"docs":{},"只":{"docs":{},"需":{"docs":{},"关":{"docs":{},"注":{"docs":{},"状":{"docs":{},"态":{"docs":{},"转":{"docs":{},"移":{"docs":{},"(":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"框":{"docs":{},"架":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"根":{"docs":{},"据":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"需":{"docs":{},"求":{"docs":{},"来":{"docs":{},"定":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"人":{"docs":{},"员":{"docs":{},"选":{"docs":{},"项":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"只":{"docs":{},"会":{"docs":{},"关":{"docs":{},"心":{"docs":{},"该":{"docs":{},"框":{"docs":{},"是":{"docs":{},"否":{"docs":{},"处":{"docs":{},"于":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"在":{"docs":{},"乎":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"显":{"docs":{},"示":{"docs":{},"是":{"docs":{},"如":{"docs":{},"何":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"应":{"docs":{},"该":{"docs":{},"让":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"内":{"docs":{},"部":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"些":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.2},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":10}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}},"头":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"始":{"docs":{},"时":{"docs":{},"高":{"docs":{},"度":{"docs":{},"从":{"0":{"docs":{},"增":{"docs":{},"长":{"docs":{},"到":{"3":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"由":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},";":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"占":{"docs":{},"据":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"6":{"0":{"docs":{},"%":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}}}}},"一":{"docs":{},"直":{"docs":{},"向":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"找":{"docs":{},"到":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"是":{"docs":{},"华":{"docs":{},"为":{"docs":{},"、":{"docs":{},"小":{"docs":{},"米":{"docs":{},"、":{"docs":{},"o":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"、":{"docs":{},"魅":{"docs":{},"族":{"docs":{},"等":{"docs":{},"国":{"docs":{},"内":{"9":{"docs":{},"大":{"docs":{},"主":{"docs":{},"流":{"docs":{},"手":{"docs":{},"机":{"docs":{},"厂":{"docs":{},"商":{"docs":{},"共":{"docs":{},"同":{"docs":{},"制":{"docs":{},"定":{"docs":{},"的":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"应":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},",":{"docs":{},"目":{"docs":{},"标":{"docs":{},"直":{"docs":{},"指":{"docs":{},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"采":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"与":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"自":{"docs":{},"身":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"或":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"语":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"采":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"其":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"和":{"docs":{},"微":{"docs":{},"信":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},"很":{"docs":{},"像":{"docs":{},",":{"docs":{},"值":{"docs":{},"得":{"docs":{},"一":{"docs":{},"提":{"docs":{},"的":{"docs":{},"是":{"docs":{},"小":{"docs":{},"程":{"docs":{},"序":{"docs":{},"目":{"docs":{},"前":{"docs":{},"已":{"docs":{},"经":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"语":{"docs":{},"法":{"docs":{},"开":{"docs":{},"发":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"原":{"docs":{},"理":{"docs":{},"上":{"docs":{},"来":{"docs":{},"讲":{"docs":{},",":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"语":{"docs":{},"法":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"移":{"docs":{},"植":{"docs":{},"到":{"docs":{},"快":{"docs":{},"应":{"docs":{},"用":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"速":{"docs":{},"内":{"docs":{},"存":{"docs":{},"分":{"docs":{},"配":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}},"思":{"docs":{},"考":{"docs":{},"题":{"docs":{},":":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"操":{"docs":{},"作":{"docs":{},"和":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"批":{"docs":{},"量":{"docs":{},"更":{"docs":{},"新":{"docs":{},"难":{"docs":{},"道":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"职":{"docs":{},"责":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"去":{"docs":{},"做":{"docs":{},"合":{"docs":{},"不":{"docs":{},"合":{"docs":{},"适":{"docs":{},"?":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"既":{"docs":{},"然":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"多":{"docs":{},"次":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"那":{"docs":{},"能":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"?":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"后":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"为":{"docs":{},"灰":{"docs":{},"色":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"点":{"docs":{},"击":{"docs":{},"后":{"docs":{},"下":{"docs":{},"滑":{"docs":{},"线":{"docs":{},"也":{"docs":{},"变":{"docs":{},"色":{"docs":{},"呢":{"docs":{},"?":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"多":{"docs":{},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{},"的":{"docs":{},"策":{"docs":{},"略":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"不":{"docs":{},"定":{"docs":{},"义":{"docs":{},"成":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"而":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"成":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"高":{"docs":{},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"性":{"docs":{},"能":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"接":{"docs":{},"近":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"好":{"docs":{},";":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"以":{"docs":{},"及":{"docs":{},"位":{"docs":{},"置":{"docs":{},"调":{"docs":{},"整":{"docs":{},"非":{"docs":{},"常":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"用":{"docs":{},"转":{"docs":{},"换":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693},"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.03125},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"纯":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"主":{"docs":{},"要":{"docs":{},"面":{"docs":{},"临":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"和":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"而":{"docs":{},"针":{"docs":{},"对":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"诞":{"docs":{},"生":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}},"技":{"docs":{},"术":{"docs":{},"支":{"docs":{},"持":{"docs":{},";":{"docs":{},"现":{"docs":{},"在":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"正":{"docs":{},"在":{"docs":{},"大":{"docs":{},"力":{"docs":{},"推":{"docs":{},"广":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"作":{"docs":{},"者":{"docs":{},"中":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"都":{"docs":{},"是":{"docs":{},"来":{"docs":{},"自":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},"团":{"docs":{},"队":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"度":{"docs":{},"很":{"docs":{},"高":{"docs":{},"。":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"角":{"docs":{},"度":{"docs":{},",":{"docs":{},"从":{"docs":{},"今":{"docs":{},"年":{"docs":{},"上":{"docs":{},"半":{"docs":{},"年":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"发":{"docs":{},"布":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"投":{"docs":{},"入":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"不":{"docs":{},"小":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"官":{"docs":{},"方":{"docs":{},"技":{"docs":{},"术":{"docs":{},"支":{"docs":{},"持":{"docs":{},"这":{"docs":{},"方":{"docs":{},"面":{"docs":{},",":{"docs":{},"大":{"docs":{},"可":{"docs":{},"不":{"docs":{},"必":{"docs":{},"担":{"docs":{},"心":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"排":{"docs":{},"行":{"docs":{},"榜":{"docs":{},"前":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"文":{"docs":{},"档":{"docs":{},"对":{"docs":{},"象":{"docs":{},"模":{"docs":{},"型":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"件":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"中":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"该":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":10.005681818181818}},"与":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter10/":{"ref":"chapter10/","tf":10}}}}}}}}},"夹":{"docs":{},":":{"docs":{},"包":{"docs":{},"括":{"docs":{},"包":{"docs":{},"中":{"docs":{},"公":{"docs":{},"开":{"docs":{},"的":{"docs":{},"(":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},")":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"最":{"docs":{},"少":{"docs":{},"应":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"、":{"docs":{},"字":{"docs":{},"体":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/text.html":{"ref":"chapter3/text.html","tf":10}}}}}}},"及":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"映":{"docs":{},"射":{"docs":{},"为":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"树":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}},"是":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"应":{"docs":{},"用":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},",":{"docs":{},"作":{"docs":{},"用":{"docs":{},"和":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"j":{"docs":{},"s":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"都":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"解":{"docs":{},"释":{"docs":{},"器":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"构":{"docs":{},"建":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"图":{"docs":{},"片":{"docs":{},"数":{"docs":{},"据":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"从":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"获":{"docs":{},"取":{"docs":{},"图":{"docs":{},"片":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"必":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"式":{"docs":{},"创":{"docs":{},"建":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"学":{"docs":{},"习":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"芯":{"docs":{},"片":{"docs":{},"系":{"docs":{},"列":{"docs":{},",":{"docs":{},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"否":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"代":{"docs":{},"理":{"docs":{},"。":{"docs":{},"删":{"docs":{},"除":{"docs":{},"后":{"docs":{},"问":{"docs":{},"题":{"docs":{},"即":{"docs":{},"可":{"docs":{},"解":{"docs":{},"决":{"docs":{},"。":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"完":{"docs":{},"全":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"好":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"。":{"docs":{},"在":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"多":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"在":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"负":{"docs":{},"责":{"docs":{},"将":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"所":{"docs":{},"有":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"根":{"docs":{},"基":{"docs":{},"类":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"都":{"docs":{},"是":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"任":{"docs":{},"何":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"给":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"表":{"docs":{},"现":{"docs":{},"效":{"docs":{},"果":{"docs":{},"和":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"相":{"docs":{},"似":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"库":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}},"页":{"docs":{},"面":{"docs":{},"脚":{"docs":{},"手":{"docs":{},"架":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"和":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"以":{"docs":{},"及":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"话":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"与":{"docs":{},"平":{"docs":{},"台":{"docs":{},"页":{"docs":{},"面":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},"风":{"docs":{},"格":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"动":{"docs":{},"画":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"是":{"docs":{},"有":{"docs":{},"质":{"docs":{},"感":{"docs":{},"了":{"docs":{},"!":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"这":{"docs":{},"样":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"阴":{"docs":{},"影":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"布":{"docs":{},"局":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"到":{"docs":{},"了":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"每":{"docs":{},"次":{"docs":{},"单":{"docs":{},"击":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"或":{"docs":{},"保":{"docs":{},"存":{"docs":{},"项":{"docs":{},"目":{"docs":{},"时":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"随":{"docs":{},"机":{"docs":{},"选":{"docs":{},"择":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"单":{"docs":{},"词":{"docs":{},"对":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"与":{"docs":{},"在":{"docs":{},"本":{"docs":{},"机":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"或":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"更":{"docs":{},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"页":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"g":{"docs":{},"p":{"docs":{},"u":{"docs":{},"上":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"多":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"属":{"docs":{},"性":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"代":{"docs":{},"表":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"关":{"docs":{},"键":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"。":{"docs":{},"这":{"docs":{},"里":{"docs":{},"举":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"布":{"docs":{},"局":{"docs":{},"发":{"docs":{},"生":{"docs":{},"越":{"docs":{},"界":{"docs":{},"或":{"docs":{},"不":{"docs":{},"合":{"docs":{},"规":{"docs":{},"范":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"错":{"docs":{},"误":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"已":{"docs":{},"经":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"此":{"docs":{},"处":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"张":{"docs":{},"插":{"docs":{},"图":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"只":{"docs":{},"能":{"docs":{},"暂":{"docs":{},"时":{"docs":{},"针":{"docs":{},"对":{"docs":{},"当":{"docs":{},"前":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"设":{"docs":{},"置":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"要":{"docs":{},"想":{"docs":{},"永":{"docs":{},"久":{"docs":{},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"中":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"下":{"docs":{},"面":{"docs":{},"更":{"docs":{},"新":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"镜":{"docs":{},"像":{"docs":{},"为":{"docs":{},"临":{"docs":{},"时":{"docs":{},"镜":{"docs":{},"像":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"一":{"docs":{},"直":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"中":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"包":{"docs":{},"含":{"docs":{},"两":{"docs":{},"个":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}},"行":{"docs":{},"代":{"docs":{},"码":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"导":{"docs":{},"入":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"只":{"docs":{},"展":{"docs":{},"示":{"docs":{},"了":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"基":{"docs":{},"本":{"docs":{},"都":{"docs":{},"是":{"docs":{},"自":{"docs":{},"解":{"docs":{},"释":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"只":{"docs":{},"会":{"docs":{},"沿":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"移":{"docs":{},"动":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},"或":{"docs":{},"垂":{"docs":{},"直":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},"首":{"docs":{},"次":{"docs":{},"移":{"docs":{},"动":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"例":{"docs":{},"中":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"“":{"docs":{},"获":{"docs":{},"胜":{"docs":{},"”":{"docs":{},"条":{"docs":{},"件":{"docs":{},"是":{"docs":{},":":{"docs":{},"首":{"docs":{},"次":{"docs":{},"移":{"docs":{},"动":{"docs":{},"时":{"docs":{},"的":{"docs":{},"位":{"docs":{},"移":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"上":{"docs":{},"的":{"docs":{},"分":{"docs":{},"量":{"docs":{},"大":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"获":{"docs":{},"胜":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"、":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"和":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"由":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"docs":{},"h":{"5":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{},",":{"docs":{},"社":{"docs":{},"区":{"docs":{},"及":{"docs":{},"资":{"docs":{},"源":{"docs":{},"丰":{"docs":{},"富":{"docs":{},",":{"docs":{},"缺":{"docs":{},"点":{"docs":{},"是":{"docs":{},"性":{"docs":{},"能":{"docs":{},"不":{"docs":{},"好":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"或":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"不":{"docs":{},"堪":{"docs":{},"重":{"docs":{},"任":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"点":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"管":{"docs":{},"理":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"(":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},",":{"docs":{},"在":{"docs":{},"有":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"如":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"因":{"docs":{},"为":{"docs":{},"通":{"docs":{},"信":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"导":{"docs":{},"致":{"docs":{},"卡":{"docs":{},"顿":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"灵":{"docs":{},"活":{"docs":{},"、":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"易":{"docs":{},"维":{"docs":{},"护":{"docs":{},"、":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"保":{"docs":{},"真":{"docs":{},"度":{"docs":{},"和":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},"高":{"docs":{},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"u":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"根":{"docs":{},"据":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"单":{"docs":{},"独":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"套":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"代":{"docs":{},"码":{"docs":{},"容":{"docs":{},"易":{"docs":{},"维":{"docs":{},"护":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"、":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"组":{"docs":{},"件":{"docs":{},"显":{"docs":{},"示":{"docs":{},"外":{"docs":{},"观":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},"高":{"docs":{},"保":{"docs":{},"真":{"docs":{},"和":{"docs":{},"高":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},";":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"受":{"docs":{},"原":{"docs":{},"生":{"docs":{},"布":{"docs":{},"局":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"布":{"docs":{},"局":{"docs":{},"系":{"docs":{},"统":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"计":{"docs":{},"算":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"布":{"docs":{},"局":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"以":{"docs":{},"供":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"就":{"docs":{},"成":{"docs":{},"为":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"传":{"docs":{},"递":{"docs":{},"调":{"docs":{},"用":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"而":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"必":{"docs":{},"须":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"规":{"docs":{},"定":{"docs":{},"了":{"docs":{},"消":{"docs":{},"息":{"docs":{},"的":{"docs":{},"格":{"docs":{},"式":{"docs":{},"与":{"docs":{},"含":{"docs":{},"义":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"并":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"某":{"docs":{},"种":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"输":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"回":{"docs":{},"车":{"docs":{},"键":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311}},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}},",":{"docs":{},"转":{"docs":{},"到":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"声":{"docs":{},"明":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"类":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"位":{"docs":{},"于":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"只":{"docs":{},"需":{"docs":{},"包":{"docs":{},"含":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"像":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"你":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"⚡":{"docs":{},"️":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"输":{"docs":{},"出":{"docs":{},"日":{"docs":{},"志":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},",":{"docs":{},"日":{"docs":{},"志":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"出":{"docs":{},"现":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},"触":{"docs":{},"发":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"常":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"用":{"docs":{},"作":{"docs":{},"其":{"docs":{},"子":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"调":{"docs":{},"用":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"授":{"docs":{},"予":{"docs":{},"执":{"docs":{},"行":{"docs":{},"权":{"docs":{},"限":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"号":{"docs":{},"可":{"docs":{},"能":{"docs":{},"随":{"docs":{},"着":{"docs":{},"时":{"docs":{},"间":{"docs":{},"推":{"docs":{},"移":{"docs":{},"会":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"回":{"docs":{},"头":{"docs":{},"来":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},"无":{"docs":{},"非":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"中":{"docs":{},"预":{"docs":{},"先":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"供":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"让":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"有":{"docs":{},"访":{"docs":{},"问":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"我":{"docs":{},"相":{"docs":{},"信":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"混":{"docs":{},"合":{"docs":{},"开":{"docs":{},"发":{"docs":{},"框":{"docs":{},"架":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"答":{"docs":{},"之":{"docs":{},"前":{"docs":{},"提":{"docs":{},"出":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"中":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"和":{"docs":{},"q":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"将":{"docs":{},"整":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"串":{"docs":{},"起":{"docs":{},"来":{"docs":{},":":{"docs":{},"当":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"在":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"自":{"docs":{},"增":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"(":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"以":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"点":{"docs":{},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"决":{"docs":{},"定":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"响":{"docs":{},"应":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},",":{"docs":{},"有":{"docs":{},"三":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"点":{"docs":{},"击":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"还":{"docs":{},"是":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"左":{"docs":{},"右":{"docs":{},"滑":{"docs":{},"动":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"面":{"docs":{},"都":{"docs":{},"会":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},"面":{"docs":{},"始":{"docs":{},"终":{"docs":{},"保":{"docs":{},"持":{"docs":{},"同":{"docs":{},"步":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"!":{"docs":{},"正":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"切":{"docs":{},"换":{"docs":{},"和":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"状":{"docs":{},"态":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"移":{"docs":{},"到":{"docs":{},"了":{"docs":{},"模":{"docs":{},"型":{"docs":{},"本":{"docs":{},"身":{"docs":{},"内":{"docs":{},"部":{"docs":{},"。":{"docs":{},"采":{"docs":{},"用":{"docs":{},"这":{"docs":{},"种":{"docs":{},"新":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"地":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"选":{"docs":{},"择":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"?":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"根":{"docs":{},"据":{"docs":{},"官":{"docs":{},"方":{"docs":{},"解":{"docs":{},"释":{"docs":{},"以":{"docs":{},"及":{"docs":{},"自":{"docs":{},"己":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"总":{"docs":{},"结":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"条":{"docs":{},"(":{"docs":{},"由":{"docs":{},"于":{"docs":{},"其":{"docs":{},"它":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"都":{"docs":{},"将":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"开":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"主":{"docs":{},"要":{"docs":{},"将":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"比":{"docs":{},")":{"docs":{},":":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}},"来":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"线":{"docs":{},"程":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"所":{"docs":{},"示":{"docs":{},",":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"住":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"“":{"docs":{},"a":{"docs":{},"”":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"然":{"docs":{},"后":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"手":{"docs":{},"指":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"日":{"docs":{},"志":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"给":{"docs":{},"测":{"docs":{},"试":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"或":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"我":{"docs":{},"们":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"同":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"语":{"docs":{},"法":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"复":{"docs":{},"数":{"docs":{},"语":{"docs":{},"境":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"电":{"docs":{},"子":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"列":{"docs":{},"表":{"docs":{},"页":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"显":{"docs":{},"示":{"docs":{},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},",":{"docs":{},"在":{"docs":{},"未":{"docs":{},"读":{"docs":{},"数":{"docs":{},"量":{"docs":{},"不":{"docs":{},"同":{"docs":{},"事":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"不":{"docs":{},"同":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"包":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"提":{"docs":{},"取":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"名":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"图":{"docs":{},"片":{"docs":{},"上":{"docs":{},"双":{"docs":{},"指":{"docs":{},"张":{"docs":{},"开":{"docs":{},"、":{"docs":{},"收":{"docs":{},"缩":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"放":{"docs":{},"大":{"docs":{},"、":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"它":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"双":{"docs":{},"击":{"docs":{},"放":{"docs":{},"大":{"docs":{},"或":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"一":{"docs":{},"定":{"docs":{},"倍":{"docs":{},"数":{"docs":{},"、":{"docs":{},"双":{"docs":{},"指":{"docs":{},"张":{"docs":{},"开":{"docs":{},"离":{"docs":{},"开":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"减":{"docs":{},"速":{"docs":{},"放":{"docs":{},"大":{"docs":{},"动":{"docs":{},"画":{"docs":{},"等":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"动":{"docs":{},"画":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"布":{"docs":{},"有":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"最":{"docs":{},"后":{"docs":{},"还":{"docs":{},"缺":{"docs":{},"一":{"docs":{},"个":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"。":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},"画":{"docs":{},"笔":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"属":{"docs":{},"性":{"docs":{},"如":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"、":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"样":{"docs":{},"式":{"docs":{},"等":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"中":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"电":{"docs":{},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"电":{"docs":{},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"的":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"访":{"docs":{},"问":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"创":{"docs":{},"建":{"docs":{},"它":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"读":{"docs":{},"者":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"态":{"docs":{},"系":{"docs":{},"统":{"docs":{},"得":{"docs":{},"以":{"docs":{},"快":{"docs":{},"速":{"docs":{},"增":{"docs":{},"长":{"docs":{},",":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"见":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"中":{"docs":{},"受":{"docs":{},"到":{"docs":{},"了":{"docs":{},"热":{"docs":{},"烈":{"docs":{},"的":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},",":{"docs":{},"其":{"docs":{},"未":{"docs":{},"来":{"docs":{},"发":{"docs":{},"展":{"docs":{},"值":{"docs":{},"得":{"docs":{},"期":{"docs":{},"待":{"docs":{},"!":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"从":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"用":{"docs":{},"户":{"docs":{},"正":{"docs":{},"在":{"docs":{},"高":{"docs":{},"速":{"docs":{},"增":{"docs":{},"长":{"docs":{},"。":{"docs":{},"从":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"上":{"docs":{},"提":{"docs":{},"问":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"社":{"docs":{},"区":{"docs":{},"现":{"docs":{},"在":{"docs":{},"已":{"docs":{},"经":{"docs":{},"很":{"docs":{},"庞":{"docs":{},"大":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"、":{"docs":{},"资":{"docs":{},"源":{"docs":{},"也":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"丰":{"docs":{},"富":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"问":{"docs":{},"题":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"或":{"docs":{},"其":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"随":{"docs":{},"机":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}},"文":{"docs":{},"档":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"由":{"docs":{},"于":{"docs":{},"r":{"docs":{},"n":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"原":{"docs":{},"理":{"docs":{},"相":{"docs":{},"通":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"是":{"docs":{},"受":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"启":{"docs":{},"发":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"思":{"docs":{},"想":{"docs":{},"也":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"通":{"docs":{},"的":{"docs":{},",":{"docs":{},"万":{"docs":{},"丈":{"docs":{},"高":{"docs":{},"楼":{"docs":{},"平":{"docs":{},"地":{"docs":{},"起":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"原":{"docs":{},"理":{"docs":{},"。":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{},"两":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"树":{"docs":{},"与":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"是":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"旋":{"docs":{},"转":{"9":{"0":{"docs":{},"度":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"只":{"docs":{},"是":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},")":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"会":{"docs":{},"作":{"docs":{},"用":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"空":{"docs":{},"间":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"是":{"docs":{},"上":{"docs":{},"图":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"和":{"docs":{},"前":{"docs":{},"面":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"示":{"docs":{},"例":{"docs":{},"对":{"docs":{},"比":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"单":{"docs":{},"独":{"docs":{},"维":{"docs":{},"护":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"当":{"docs":{},"系":{"docs":{},"统":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{},"社":{"docs":{},"区":{"docs":{},"控":{"docs":{},"件":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"滞":{"docs":{},"后":{"docs":{},";":{"docs":{},"除":{"docs":{},"此":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"其":{"docs":{},"控":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"也":{"docs":{},"会":{"docs":{},"受":{"docs":{},"到":{"docs":{},"原":{"docs":{},"生":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"消":{"docs":{},"歧":{"docs":{},"规":{"docs":{},"则":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"人":{"docs":{},"写":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"时":{"docs":{},",":{"docs":{},"手":{"docs":{},"势":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"问":{"docs":{},"题":{"docs":{},"将":{"docs":{},"会":{"docs":{},"变":{"docs":{},"得":{"docs":{},"非":{"docs":{},"常":{"docs":{},"棘":{"docs":{},"手":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"是":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"测":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"编":{"docs":{},"译":{"docs":{},"前":{"docs":{},"发":{"docs":{},"现":{"docs":{},"一":{"docs":{},"些":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"并":{"docs":{},"排":{"docs":{},"除":{"docs":{},"潜":{"docs":{},"在":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"对":{"docs":{},"于":{"docs":{},"前":{"docs":{},"端":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"更":{"docs":{},"具":{"docs":{},"有":{"docs":{},"吸":{"docs":{},"引":{"docs":{},"力":{"docs":{},"。":{"docs":{},"与":{"docs":{},"之":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"也":{"docs":{},"因":{"docs":{},"此":{"docs":{},"前":{"docs":{},"端":{"docs":{},"社":{"docs":{},"区":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"给":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"添":{"docs":{},"加":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"检":{"docs":{},"测":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"微":{"docs":{},"软":{"docs":{},"的":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"以":{"docs":{},"及":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"。":{"docs":{},"相":{"docs":{},"比":{"docs":{},"之":{"docs":{},"下":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"支":{"docs":{},"持":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"它":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"重":{"docs":{},"要":{"docs":{},"优":{"docs":{},"势":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"同":{"docs":{},"时":{"docs":{},"构":{"docs":{},"建":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"两":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"同":{"docs":{},"时":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"国":{"docs":{},"内":{"docs":{},"访":{"docs":{},"问":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"有":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"受":{"docs":{},"到":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"方":{"docs":{},"为":{"docs":{},"中":{"docs":{},"国":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"了":{"docs":{},"临":{"docs":{},"时":{"docs":{},"镜":{"docs":{},"像":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"如":{"docs":{},"下":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"加":{"docs":{},"入":{"docs":{},"到":{"docs":{},"用":{"docs":{},"户":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"功":{"docs":{},"能":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"其":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"及":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{},"还":{"docs":{},"有":{"docs":{},",":{"docs":{},"请":{"docs":{},"记":{"docs":{},"住":{"docs":{},",":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"应":{"docs":{},"用":{"docs":{},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"放":{"docs":{},"大":{"docs":{},")":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"会":{"docs":{},"放":{"docs":{},"大":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"依":{"docs":{},"然":{"docs":{},"为":{"docs":{},"红":{"docs":{},"色":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"会":{"docs":{},"紧":{"docs":{},"挨":{"docs":{},"着":{"docs":{},"红":{"docs":{},"色":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"就":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"文":{"docs":{},"字":{"docs":{},"有":{"docs":{},"重":{"docs":{},"合":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"化":{"docs":{},"只":{"docs":{},"会":{"docs":{},"作":{"docs":{},"用":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"某":{"docs":{},"些":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"需":{"docs":{},"要":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"化":{"docs":{},"来":{"docs":{},"达":{"docs":{},"到":{"docs":{},"视":{"docs":{},"觉":{"docs":{},"上":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"去":{"docs":{},"重":{"docs":{},"新":{"docs":{},"触":{"docs":{},"发":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"节":{"docs":{},"省":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"性":{"docs":{},"能":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"好":{"docs":{},"。":{"docs":{},"如":{"docs":{},"之":{"docs":{},"前":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"要":{"docs":{},"保":{"docs":{},"持":{"docs":{},"全":{"docs":{},"局":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},"存":{"docs":{},"储":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"当":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"第":{"2":{"0":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"后":{"docs":{},",":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"“":{"docs":{},"返":{"docs":{},"回":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"会":{"docs":{},"在":{"docs":{},"返":{"docs":{},"回":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"执":{"docs":{},"行":{"docs":{},"一":{"docs":{},"个":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{},"是":{"2":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"是":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"动":{"docs":{},"画":{"docs":{},"”":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}}}}}},"手":{"docs":{},"势":{"docs":{},"竞":{"docs":{},"争":{"docs":{},"最":{"docs":{},"终":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"胜":{"docs":{},"出":{"docs":{},"者":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"左":{"docs":{},"右":{"docs":{},"拖":{"docs":{},"动":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"想":{"docs":{},"检":{"docs":{},"测":{"docs":{},"在":{"docs":{},"它":{"docs":{},"上":{"docs":{},"面":{"docs":{},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},"和":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"仅":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"直":{"docs":{},"到":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"值":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"图":{"docs":{},"形":{"docs":{},"计":{"docs":{},"算":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"都":{"docs":{},"是":{"docs":{},"由":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"而":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"的":{"docs":{},"指":{"docs":{},"令":{"docs":{},"通":{"docs":{},"常":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"通":{"docs":{},"常":{"docs":{},"不":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"面":{"docs":{},"对":{"docs":{},"硬":{"docs":{},"件":{"docs":{},",":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"底":{"docs":{},"层":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"些":{"docs":{},"封":{"docs":{},"装":{"docs":{},"后":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"供":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"上":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"对":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"和":{"docs":{},"低":{"docs":{},"效":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"往":{"docs":{},"往":{"docs":{},"比":{"docs":{},"较":{"docs":{},"基":{"docs":{},"础":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"需":{"docs":{},"要":{"docs":{},"了":{"docs":{},"解":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{},"正":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"所":{"docs":{},"有":{"docs":{},"用":{"docs":{},"于":{"docs":{},"开":{"docs":{},"发":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"之":{"docs":{},"上":{"docs":{},"再":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"将":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"封":{"docs":{},"装":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"编":{"docs":{},"程":{"docs":{},"框":{"docs":{},"架":{"docs":{},"和":{"docs":{},"模":{"docs":{},"型":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"种":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"规":{"docs":{},"则":{"docs":{},"来":{"docs":{},"开":{"docs":{},"发":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"一":{"docs":{},"层":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"正":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"所":{"docs":{},"说":{"docs":{},"的":{"docs":{},"“":{"docs":{},"u":{"docs":{},"i":{"docs":{},"”":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"如":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"必":{"docs":{},"要":{"docs":{},"基":{"docs":{},"础":{"docs":{},"。":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{},"作":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"值":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"请":{"docs":{},"检":{"docs":{},"查":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"进":{"docs":{},"行":{"docs":{},"链":{"docs":{},"式":{"docs":{},"调":{"docs":{},"用":{"docs":{},"”":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"存":{"docs":{},"档":{"docs":{},"中":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"读":{"docs":{},"取":{"docs":{},"它":{"docs":{},"们":{"docs":{},"(":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"修":{"docs":{},"改":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"私":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"例":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"]":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"“":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"”":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"职":{"docs":{},"责":{"docs":{},"都":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"语":{"docs":{},"言":{"docs":{},"载":{"docs":{},"体":{"docs":{},"和":{"docs":{},"底":{"docs":{},"层":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"不":{"docs":{},"同":{"docs":{},"而":{"docs":{},"已":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"可":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"种":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"针":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"上":{"docs":{},"接":{"docs":{},"口":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"对":{"docs":{},"下":{"docs":{},"适":{"docs":{},"配":{"docs":{},"不":{"docs":{},"同":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"打":{"docs":{},"包":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"层":{"docs":{},"代":{"docs":{},"码":{"docs":{},"?":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"到":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"套":{"docs":{},"代":{"docs":{},"码":{"docs":{},"编":{"docs":{},"写":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"了":{"docs":{},"。":{"docs":{},"而":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"正":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"套":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"来":{"docs":{},"看":{"docs":{},"它":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"就":{"docs":{},"比":{"docs":{},"较":{"docs":{},"明":{"docs":{},"显":{"docs":{},"了":{"docs":{},",":{"docs":{},"意":{"docs":{},"思":{"docs":{},"就":{"docs":{},"是":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"被":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"到":{"docs":{},"它":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"了":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"布":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},"概":{"docs":{},"念":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"反":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"致":{"docs":{},"性":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"避":{"docs":{},"免":{"docs":{},"对":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"而":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"及":{"docs":{},"高":{"docs":{},"昂":{"docs":{},"的":{"docs":{},"维":{"docs":{},"护":{"docs":{},"成":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"似":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"确":{"docs":{},"定":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"边":{"docs":{},"界":{"docs":{},"的":{"docs":{},",":{"docs":{},"与":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"获":{"docs":{},"取":{"docs":{},"手":{"docs":{},"机":{"docs":{},"型":{"docs":{},"号":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}},"五":{"docs":{},"子":{"docs":{},"棋":{"docs":{},"/":{"docs":{},"盘":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"中":{"docs":{},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"占":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"比":{"docs":{},"例":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"它":{"docs":{},"只":{"docs":{},"是":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},":":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},":":{"docs":{},"q":{"docs":{},"t":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"社":{"docs":{},"区":{"docs":{},"太":{"docs":{},"小":{"docs":{},",":{"docs":{},"学":{"docs":{},"习":{"docs":{},"资":{"docs":{},"料":{"docs":{},"不":{"docs":{},"足":{"docs":{},",":{"docs":{},"生":{"docs":{},"态":{"docs":{},"不":{"docs":{},"好":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"命":{"docs":{},"令":{"docs":{},"(":{"docs":{},"如":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter2/":{"ref":"chapter2/","tf":10}}}}}}}}}}}},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"举":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"来":{"docs":{},"重":{"docs":{},"点":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"举":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"必":{"docs":{},"要":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"三":{"docs":{},":":{"docs":{},"移":{"docs":{},"动":{"docs":{},"端":{"docs":{},"发":{"docs":{},"力":{"docs":{},"较":{"docs":{},"晚":{"docs":{},",":{"docs":{},"市":{"docs":{},"场":{"docs":{},"已":{"docs":{},"被":{"docs":{},"其":{"docs":{},"它":{"docs":{},"动":{"docs":{},"态":{"docs":{},"化":{"docs":{},"框":{"docs":{},"架":{"docs":{},"占":{"docs":{},"领":{"docs":{},"(":{"docs":{},"h":{"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"r":{"docs":{},"n":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},":":{"docs":{},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}},"二":{"docs":{},":":{"docs":{},"官":{"docs":{},"方":{"docs":{},"推":{"docs":{},"广":{"docs":{},"不":{"docs":{},"利":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"不":{"docs":{},"够":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}},"层":{"docs":{},"为":{"docs":{},"手":{"docs":{},"势":{"docs":{},",":{"docs":{},"描":{"docs":{},"述":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"多":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"移":{"docs":{},"动":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"动":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"、":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"等":{"docs":{},"。":{"docs":{},"本":{"docs":{},"章":{"docs":{},"将":{"docs":{},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"如":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"再":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"机":{"docs":{},"制":{"docs":{},"。":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"四":{"docs":{},":":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"栈":{"docs":{},"相":{"docs":{},"比":{"docs":{},"有":{"docs":{},"着":{"docs":{},"先":{"docs":{},"天":{"docs":{},"的":{"docs":{},"劣":{"docs":{},"势":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"结":{"docs":{},"果":{"docs":{},"就":{"docs":{},"是":{"docs":{},"q":{"docs":{},"t":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"太":{"docs":{},"低":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"五":{"docs":{},"步":{"docs":{},":":{"docs":{},"生":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"简":{"docs":{},"称":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}},"介":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216},"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"源":{"docs":{},"码":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"单":{"docs":{},"概":{"docs":{},"括":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"docs":{},"组":{"docs":{},"合":{"docs":{},"和":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"当":{"docs":{},"u":{"docs":{},"i":{"docs":{},"要":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"去":{"docs":{},"直":{"docs":{},"接":{"docs":{},"修":{"docs":{},"改":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"更":{"docs":{},"新":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"让":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"r":{"docs":{},"n":{"docs":{},"中":{"docs":{},"将":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"映":{"docs":{},"射":{"docs":{},"为":{"docs":{},"原":{"docs":{},"生":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"分":{"docs":{},"两":{"docs":{},"步":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"和":{"docs":{},"回":{"docs":{},"流":{"docs":{},"都":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"改":{"docs":{},"变":{"docs":{},"都":{"docs":{},"直":{"docs":{},"接":{"docs":{},"对":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"进":{"docs":{},"行":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"而":{"docs":{},"批":{"docs":{},"量":{"docs":{},"操":{"docs":{},"作":{"docs":{},"只":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"一":{"docs":{},"次":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"是":{"docs":{},"完":{"docs":{},"全":{"docs":{},"平":{"docs":{},"移":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"这":{"docs":{},"两":{"docs":{},"者":{"docs":{},":":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"连":{"docs":{},"名":{"docs":{},"字":{"docs":{},"都":{"docs":{},"没":{"docs":{},"改":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"和":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"如":{"docs":{},"何":{"docs":{},"消":{"docs":{},"除":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"来":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"都":{"docs":{},"在":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"。":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"至":{"docs":{},"此":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"写":{"docs":{},"好":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"移":{"docs":{},"进":{"docs":{},"去":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"最":{"docs":{},"终":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"句":{"docs":{},"命":{"docs":{},"令":{"docs":{},"即":{"docs":{},"可":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"对":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"进":{"docs":{},"行":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"完":{"docs":{},"了":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"和":{"docs":{},"第":{"docs":{},"二":{"docs":{},"步":{"docs":{},"只":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"最":{"docs":{},"后":{"docs":{},"两":{"docs":{},"步":{"docs":{},"在":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"每":{"docs":{},"次":{"docs":{},"也":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"最":{"docs":{},"后":{"docs":{},"两":{"docs":{},"步":{"docs":{},"放":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"里":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"完":{"docs":{},"成":{"docs":{},"第":{"docs":{},"三":{"docs":{},"步":{"docs":{},"或":{"docs":{},"完":{"docs":{},"成":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"后":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"分":{"docs":{},"别":{"docs":{},"执":{"docs":{},"行":{"docs":{},"该":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}},"真":{"docs":{},"相":{"docs":{},"大":{"docs":{},"白":{"docs":{},",":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"获":{"docs":{},"取":{"docs":{},"主":{"docs":{},"题":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"内":{"docs":{},"部":{"docs":{},"正":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"观":{"docs":{},"其":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"在":{"2":{"0":{"1":{"8":{"docs":{},"年":{"5":{"docs":{},"月":{"docs":{},"份":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"语":{"docs":{},"法":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"而":{"docs":{},"创":{"docs":{},"造":{"docs":{},"。":{"docs":{},"与":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"中":{"docs":{},"很":{"docs":{},"多":{"docs":{},"地":{"docs":{},"方":{"docs":{},"也":{"docs":{},"都":{"docs":{},"借":{"docs":{},"鉴":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"义":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"化":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"即":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"读":{"docs":{},"屏":{"docs":{},"软":{"docs":{},"件":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"机":{"docs":{},"器":{"docs":{},"理":{"docs":{},"解":{"docs":{},"页":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"有":{"docs":{},"视":{"docs":{},"力":{"docs":{},"障":{"docs":{},"碍":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"读":{"docs":{},"屏":{"docs":{},"软":{"docs":{},"件":{"docs":{},"来":{"docs":{},"理":{"docs":{},"解":{"docs":{},"u":{"docs":{},"i":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"渲":{"docs":{},"染":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"校":{"docs":{},"验":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"密":{"docs":{},"码":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":5}},"应":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"减":{"docs":{},"慢":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"请":{"docs":{},"将":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"在":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"库":{"docs":{},"中":{"docs":{},")":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"大":{"docs":{},"于":{"1":{"docs":{},".":{"0":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"5":{"0":{"docs":{},".":{"0":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"模":{"docs":{},"式":{"docs":{},"断":{"docs":{},"言":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"度":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"执":{"docs":{},"行":{"docs":{},"后":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"和":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"将":{"docs":{},"紧":{"docs":{},"接":{"docs":{},"着":{"docs":{},"会":{"docs":{},"在":{"docs":{},"合":{"docs":{},"适":{"docs":{},"时":{"docs":{},"机":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"技":{"docs":{},"术":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}},"自":{"docs":{},"绘":{"docs":{},"引":{"docs":{},"擎":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}},"进":{"docs":{},"入":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}},"了":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}},"正":{"docs":{},"式":{"docs":{},"版":{"docs":{},"(":{"1":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},"发":{"docs":{},"布":{"docs":{},"前":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}},"当":{"docs":{},"前":{"docs":{},"所":{"docs":{},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"行":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"在":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"转":{"docs":{},"换":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"联":{"docs":{},",":{"docs":{},"即":{"docs":{},"创":{"docs":{},"建":{"docs":{},"出":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"度":{"docs":{},"条":{"docs":{},"的":{"docs":{},"总":{"docs":{},"弧":{"docs":{},"度":{"docs":{},",":{"2":{"docs":{},"*":{"docs":{},"p":{"docs":{},"i":{"docs":{},"为":{"docs":{},"整":{"docs":{},"圆":{"docs":{},",":{"docs":{},"小":{"docs":{},"于":{"2":{"docs":{},"*":{"docs":{},"p":{"docs":{},"i":{"docs":{},"则":{"docs":{},"不":{"docs":{},"是":{"docs":{},"整":{"docs":{},"圆":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"阶":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}},"速":{"docs":{},"度":{"docs":{},"快":{"docs":{},"、":{"docs":{},"性":{"docs":{},"能":{"docs":{},"高":{"docs":{},"、":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"动":{"docs":{},"画":{"docs":{},"及":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"整":{"docs":{},"体":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"好":{"docs":{},";":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{},",":{"docs":{},"社":{"docs":{},"区":{"docs":{},"庞":{"docs":{},"大":{"docs":{},"、":{"docs":{},"上":{"docs":{},"手":{"docs":{},"快":{"docs":{},"、":{"docs":{},"开":{"docs":{},"发":{"docs":{},"成":{"docs":{},"本":{"docs":{},"相":{"docs":{},"对":{"docs":{},"较":{"docs":{},"低":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"开":{"docs":{},"发":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}},"针":{"docs":{},"对":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"面":{"docs":{},"临":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"人":{"docs":{},"们":{"docs":{},"一":{"docs":{},"直":{"docs":{},"都":{"docs":{},"在":{"docs":{},"努":{"docs":{},"力":{"docs":{},"寻":{"docs":{},"找":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"而":{"docs":{},"时":{"docs":{},"至":{"docs":{},"今":{"docs":{},"日":{"docs":{},",":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"框":{"docs":{},"架":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{},"“":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"”":{"docs":{},"若":{"docs":{},"无":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"即":{"docs":{},"特":{"docs":{},"指":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"两":{"docs":{},"个":{"docs":{},"平":{"docs":{},"台":{"docs":{},")":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"其":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"获":{"docs":{},"取":{"docs":{},"手":{"docs":{},"机":{"docs":{},"型":{"docs":{},"号":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"继":{"docs":{},"承":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"通":{"docs":{},"道":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"返":{"docs":{},"回":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"需":{"docs":{},"要":{"docs":{},"导":{"docs":{},"入":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}}}}},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"推":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"款":{"docs":{},"新":{"docs":{},"的":{"docs":{},"用":{"docs":{},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"、":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"移":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"框":{"docs":{},"架":{"docs":{},"—":{"docs":{},"—":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"高":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.007692307692307693}},"性":{"docs":{},"能":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.020833333333333332}}}},"度":{"docs":{},"增":{"docs":{},"长":{"docs":{},"到":{"3":{"0":{"0":{"docs":{},"后":{"docs":{},",":{"docs":{},"开":{"docs":{},"始":{"docs":{},"沿":{"docs":{},"x":{"docs":{},"轴":{"docs":{},"向":{"docs":{},"右":{"docs":{},"平":{"docs":{},"移":{"1":{"0":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},";":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"占":{"docs":{},"用":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"4":{"0":{"docs":{},"%":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"默":{"docs":{},"认":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"仅":{"docs":{},"提":{"docs":{},"供":{"docs":{},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"。":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"对":{"docs":{},"其":{"docs":{},"他":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"必":{"docs":{},"须":{"docs":{},"指":{"docs":{},"定":{"docs":{},"其":{"docs":{},"他":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"并":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"”":{"docs":{},"的":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"值":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"或":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"来":{"docs":{},"配":{"docs":{},"置":{"docs":{},"动":{"docs":{},"画":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"或":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"像":{"docs":{},"下":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"生":{"docs":{},"成":{"docs":{},"从":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"板":{"docs":{},"支":{"docs":{},"持":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"编":{"docs":{},"写":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"或":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"列":{"docs":{},"表":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"适":{"docs":{},"合":{"docs":{},"只":{"docs":{},"有":{"docs":{},"少":{"docs":{},"量":{"docs":{},"的":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"都":{"docs":{},"提":{"docs":{},"前":{"docs":{},"创":{"docs":{},"建":{"docs":{},"好":{"docs":{},"(":{"docs":{},"这":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"大":{"docs":{},"量":{"docs":{},"工":{"docs":{},"作":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"等":{"docs":{},"到":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"真":{"docs":{},"正":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"再":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"方":{"docs":{},"式":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"+":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"没":{"docs":{},"有":{"docs":{},"本":{"docs":{},"质":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"风":{"docs":{},"格":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"作":{"docs":{},"为":{"docs":{},"本":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"根":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}},"a":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}},"如":{"docs":{},"果":{"docs":{},"已":{"docs":{},"经":{"docs":{},"安":{"docs":{},"装":{"docs":{},"了":{"docs":{},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},",":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"此":{"docs":{},"步":{"docs":{},"骤":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},")":{"docs":{},",":{"docs":{},"后":{"docs":{},"者":{"docs":{},"被":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"变":{"docs":{},"体":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"更":{"docs":{},"具":{"docs":{},"体":{"docs":{},"地":{"docs":{},"说":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"不":{"docs":{},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"去":{"docs":{},"响":{"docs":{},"应":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"讨":{"docs":{},"论":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"非":{"docs":{},"首":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},")":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"将":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"功":{"docs":{},"能":{"docs":{},"都":{"docs":{},"是":{"docs":{},"h":{"5":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"其":{"docs":{},"为":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"在":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"中":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"该":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"依":{"docs":{},"次":{"docs":{},"向":{"docs":{},"下":{"docs":{},",":{"docs":{},"就":{"docs":{},"避":{"docs":{},"免":{"docs":{},"了":{"docs":{},"层":{"docs":{},"层":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"则":{"docs":{},"每":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"就":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"同":{"docs":{},"。":{"docs":{},"而":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"数":{"docs":{},"据":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"中":{"docs":{},",":{"docs":{},"其":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"属":{"docs":{},"性":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"从":{"docs":{},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"递":{"docs":{},"归":{"docs":{},"完":{"docs":{},"成":{"docs":{},"整":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"混":{"docs":{},"合":{"docs":{},"模":{"docs":{},"式":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"混":{"docs":{},"合":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"h":{"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/mobile_development_intro.html":{"ref":"chapter1/mobile_development_intro.html","tf":0.0038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"中":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"在":{"docs":{},"其":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},":":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"结":{"docs":{},"果":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"打":{"docs":{},"开":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"上":{"docs":{},"面":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}},"重":{"docs":{},"启":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"1":{"docs":{},"x":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},"会":{"docs":{},"在":{"2":{"docs":{},"x":{"docs":{},"中":{"docs":{},"找":{"docs":{},",":{"2":{"docs":{},"x":{"docs":{},"中":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},"就":{"docs":{},"在":{"3":{"docs":{},"x":{"docs":{},"中":{"docs":{},"找":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}},"当":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"函":{"docs":{},"数":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"当":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"发":{"docs":{},"生":{"docs":{},"更":{"docs":{},"改":{"docs":{},"时":{"docs":{},",":{"docs":{},"即":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"灰":{"docs":{},"色":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"三":{"docs":{},"态":{"docs":{},",":{"docs":{},"其":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"时":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"状":{"docs":{},"态":{"docs":{},"即":{"docs":{},"“":{"docs":{},"选":{"docs":{},"中":{"docs":{},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"不":{"docs":{},"选":{"docs":{},"中":{"docs":{},"”":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"其":{"docs":{},"他":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"使":{"docs":{},"用":{"docs":{},"它":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}},"它":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"/":{"docs":{},"监":{"docs":{},"听":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"生":{"docs":{},"成":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"底":{"docs":{},"部":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"栏":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"子":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"一":{"docs":{},"样":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"交":{"docs":{},"错":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"这":{"docs":{},"种":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"因":{"docs":{},"如":{"docs":{},"此":{"docs":{},",":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"才":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"粘":{"docs":{},"\"":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"共":{"docs":{},"用":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"实":{"docs":{},"现":{"docs":{},"统":{"docs":{},"一":{"docs":{},"的":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"以":{"docs":{},"就":{"docs":{},"会":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"放":{"docs":{},"大":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"动":{"docs":{},"画":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"要":{"docs":{},"释":{"docs":{},"放":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"(":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},"以":{"docs":{},"防":{"docs":{},"止":{"docs":{},"内":{"docs":{},"存":{"docs":{},"泄":{"docs":{},"漏":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"首":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"所":{"docs":{},"对":{"docs":{},"应":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"创":{"docs":{},"建":{"docs":{},"与":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"相":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"中":{"docs":{},"插":{"docs":{},"槽":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"不":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"的":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"时":{"docs":{},"才":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{},"。":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"后":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"就":{"docs":{},"处":{"docs":{},"于":{"docs":{},"“":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"处":{"docs":{},"于":{"docs":{},"“":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},"后":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"了":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"独":{"docs":{},"立":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"一":{"docs":{},"起":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"那":{"docs":{},"独":{"docs":{},"立":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"0":{"0":{"0":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"1":{"4":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"docs":{}},"docs":{}},"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"与":{"docs":{},"上":{"docs":{},"层":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"”":{"docs":{},"胶":{"docs":{},"水":{"docs":{},"“":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"受":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},"\"":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"\"":{"docs":{},"的":{"docs":{},"趋":{"docs":{},"势":{"docs":{},"不":{"docs":{},"断":{"docs":{},"的":{"docs":{},"触":{"docs":{},"发":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"说":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"6":{"0":{"docs":{},"f":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"回":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"混":{"docs":{},"入":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"查":{"docs":{},"看":{"docs":{},"这":{"docs":{},"些":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"桥":{"docs":{},"梁":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"支":{"docs":{},"持":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"又":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"将":{"docs":{},"图":{"docs":{},"像":{"docs":{},"画":{"docs":{},"在":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"{":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}},"d":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"会":{"docs":{},"被":{"docs":{},"禁":{"docs":{},"用":{"docs":{},",":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"接":{"docs":{},"收":{"docs":{},"输":{"docs":{},"入":{"docs":{},"和":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"显":{"docs":{},"示":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"态":{"docs":{},"样":{"docs":{},"式":{"docs":{},"(":{"docs":{},"在":{"docs":{},"其":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"d":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.021621621621621623},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"算":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"只":{"docs":{},"有":{"docs":{},"\"":{"docs":{},"g":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{},"\"":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"中":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"{":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.007974481658692184},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.05319148936170213}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.03597122302158273},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"{":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0171990171990172},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.015657620041753653},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.011428571428571429},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.024691358024691357},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.029940119760479042},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.019538188277087035},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.02531645569620253},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.0158311345646438},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.019417475728155338},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.024691358024691357},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0055762081784386614},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"未":{"docs":{},"滑":{"docs":{},"入":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},";":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"列":{"docs":{},"表":{"docs":{},"底":{"docs":{},"部":{"docs":{},"未":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"范":{"docs":{},"围":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},":":{"docs":{},"滑":{"docs":{},"出":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},";":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"方":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"内":{"docs":{},"部":{"docs":{},"长":{"docs":{},"度":{"docs":{},";":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"长":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.03361344537815126}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.013377926421404682},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"@":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"1":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"docs":{}}},"5":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"docs":{}}},"6":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}},"docs":{}}},"docs":{}},"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026845637583892617},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}},"docs":{}}},"docs":{}},"8":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},"docs":{}}},"docs":{}}}}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},")":{"docs":{},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"b":{"docs":{},"(":{"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{},".":{"0":{"docs":{},",":{"2":{"0":{"docs":{},".":{"0":{"docs":{},",":{"2":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"(":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"1":{"6":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},"y":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"e":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"设":{"docs":{},"置":{"docs":{},"补":{"docs":{},"白":{"docs":{},"的":{"docs":{},"便":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.010889292196007259}},"和":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/":{"ref":"chapter14/","tf":0.16666666666666666},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":10}}}}}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"具":{"docs":{},"体":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"只":{"docs":{},"有":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"但":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"如":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"类":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{},"最":{"docs":{},"终":{"docs":{},"所":{"docs":{},"有":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"构":{"docs":{},"成":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"树":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},",":{"docs":{},"即":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"]":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},",":{"docs":{},"即":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},")":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083}}},",":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"通":{"docs":{},"常":{"docs":{},"为":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"节":{"docs":{},"再":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"手":{"docs":{},"势":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}},"=":{"docs":{},">":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}},"始":{"docs":{},"终":{"docs":{},"返":{"docs":{},"回":{"docs":{},"都":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"应":{"docs":{},"该":{"docs":{},"理":{"docs":{},"解":{"docs":{},"并":{"docs":{},"掌":{"docs":{},"握":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}}}}}}}}}}}},"{":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"x":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"y":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},"即":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}},"“":{"docs":{},"即":{"docs":{},"时":{"docs":{},"编":{"docs":{},"译":{"docs":{},"”":{"docs":{},"。":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"典":{"docs":{},"型":{"docs":{},"代":{"docs":{},"表":{"docs":{},"是":{"docs":{},"用":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"前":{"docs":{},"编":{"docs":{},"译":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"而":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"表":{"docs":{},"则":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},",":{"docs":{},"如":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},",":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"语":{"docs":{},"言":{"docs":{},"都":{"docs":{},"支":{"docs":{},"持":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"模":{"docs":{},"式":{"docs":{},"。":{"docs":{},"但":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"程":{"docs":{},"序":{"docs":{},"运":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"和":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"并":{"docs":{},"非":{"docs":{},"强":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"语":{"docs":{},"言":{"docs":{},"既":{"docs":{},"可":{"docs":{},"以":{"docs":{},"以":{"docs":{},"j":{"docs":{},"i":{"docs":{},"t":{"docs":{},"方":{"docs":{},"式":{"docs":{},"运":{"docs":{},"行":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"以":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"方":{"docs":{},"式":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"如":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"编":{"docs":{},"译":{"docs":{},"成":{"docs":{},"中":{"docs":{},"间":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"、":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"之":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"执":{"docs":{},"行":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},",":{"docs":{},"也":{"docs":{},"许":{"docs":{},"有":{"docs":{},"人":{"docs":{},"会":{"docs":{},"说":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"并":{"docs":{},"非":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"在":{"docs":{},"程":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"需":{"docs":{},"要":{"docs":{},"动":{"docs":{},"态":{"docs":{},"将":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"转":{"docs":{},"为":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"是":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"没":{"docs":{},"有":{"docs":{},"错":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"通":{"docs":{},"常":{"docs":{},"我":{"docs":{},"们":{"docs":{},"区":{"docs":{},"分":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"就":{"docs":{},"是":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"之":{"docs":{},"前":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"需":{"docs":{},"要":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"其":{"docs":{},"编":{"docs":{},"译":{"docs":{},"产":{"docs":{},"物":{"docs":{},"是":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"还":{"docs":{},"是":{"docs":{},"机":{"docs":{},"器":{"docs":{},"码":{"docs":{},",":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"a":{"docs":{},"o":{"docs":{},"t":{"docs":{},"。":{"docs":{},"在":{"docs":{},"此":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"不":{"docs":{},"必":{"docs":{},"纠":{"docs":{},"结":{"docs":{},"于":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"概":{"docs":{},"念":{"docs":{},"就":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"传":{"docs":{},"达":{"docs":{},"精":{"docs":{},"神":{"docs":{},"而":{"docs":{},"发":{"docs":{},"明":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"读":{"docs":{},"者":{"docs":{},"能":{"docs":{},"够":{"docs":{},"理":{"docs":{},"解":{"docs":{},"其":{"docs":{},"原":{"docs":{},"理":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"得":{"docs":{},"其":{"docs":{},"神":{"docs":{},"忘":{"docs":{},"其":{"docs":{},"形":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"'":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"`":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},"”":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"在":{"docs":{},"”":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.002268308489954634},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.014767932489451477},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}},"p":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811}},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"在":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"b":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"才":{"docs":{},"知":{"docs":{},"道":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"名":{"docs":{},"称":{"docs":{},"与":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"。":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}}}}},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}}}}}}}}},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}}},"p":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}},"(":{"docs":{},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"b":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405}},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"c":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"(":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"{":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"将":{"docs":{},"其":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"导":{"docs":{},"出":{"docs":{},"到":{"docs":{},"其":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"内":{"docs":{},"部":{"docs":{},"管":{"docs":{},"理":{"docs":{},"其":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"对":{"docs":{},"象":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"和":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}}},"=":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"$":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"指":{"docs":{},"针":{"docs":{},"与":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"接":{"docs":{},"触":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"存":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"组":{"docs":{},"织":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}},"\"":{"1":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"连":{"docs":{},"续":{"docs":{},"按":{"docs":{},"两":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"键":{"docs":{},"退":{"docs":{},"出":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}},"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0427807486631016},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024390243902439025}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"*":{"1":{"0":{"0":{"docs":{},")":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.024489795918367346},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.023809523809523808},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.03424657534246575},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.026845637583892617}}}}}}},"i":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.023809523809523808},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.01744186046511628}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266}}}}}},"登":{"docs":{},"录":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"移":{"docs":{},"动":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.023809523809523808},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}},"你":{"docs":{},"好":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558}}}}}}},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016713091922005572},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},",":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"控":{"docs":{},"制":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"主":{"docs":{},"题":{"docs":{},"测":{"docs":{},"试":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"左":{"docs":{},"上":{"docs":{},"角":{"2":{"0":{"0":{"docs":{},"*":{"1":{"0":{"0":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"非":{"docs":{},"文":{"docs":{},"本":{"docs":{},"区":{"docs":{},"域":{"docs":{},"点":{"docs":{},"击":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}},"逆":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},"docs":{}}},"docs":{}}}}}},"顺":{"docs":{},"时":{"docs":{},"针":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},"docs":{}}},"docs":{}}}}}},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"内":{"docs":{},"容":{"docs":{},"回":{"docs":{},"显":{"docs":{},")":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},",":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}},"'":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}},"$":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"a":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}},"d":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"n":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"h":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"j":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},"l":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}},"m":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"b":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"i":{"docs":{},"\\":{"docs":{},"'":{"docs":{},"m":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}},"e":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},"文":{"docs":{},"件":{"docs":{},"操":{"docs":{},"作":{"docs":{},"'":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"了":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"e":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"c":{"docs":{},",":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"?":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},"?":{"docs":{},"?":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"(":{"docs":{},"是":{"docs":{},"从":{"docs":{},"左":{"docs":{},"往":{"docs":{},"右":{"docs":{},"还":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},")":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"当":{"docs":{},"前":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"方":{"docs":{},"向":{"docs":{},"(":{"docs":{},"如":{"docs":{},"中":{"docs":{},"文":{"docs":{},"、":{"docs":{},"英":{"docs":{},"语":{"docs":{},"都":{"docs":{},"是":{"docs":{},"从":{"docs":{},"左":{"docs":{},"往":{"docs":{},"右":{"docs":{},",":{"docs":{},"而":{"docs":{},"阿":{"docs":{},"拉":{"docs":{},"伯":{"docs":{},"语":{"docs":{},"是":{"docs":{},"从":{"docs":{},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"功":{"docs":{},"能":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"都":{"docs":{},"用":{"docs":{},"于":{"docs":{},"决":{"docs":{},"定":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"即":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"左":{"docs":{},",":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"代":{"docs":{},"表":{"docs":{},"右":{"docs":{},";":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{},"则":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"表":{"docs":{},"右":{"docs":{},",":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"代":{"docs":{},"表":{"docs":{},"左":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"系":{"docs":{},"统":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},"设":{"docs":{},"置":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"字":{"docs":{},"体":{"docs":{},"进":{"docs":{},"行":{"docs":{},"全":{"docs":{},"局":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"单":{"docs":{},"个":{"docs":{},"文":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"代":{"docs":{},"表":{"docs":{},"文":{"docs":{},"本":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"当":{"docs":{},"前":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"因":{"docs":{},"子":{"docs":{},",":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"去":{"docs":{},"设":{"docs":{},"置":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"调":{"docs":{},"整":{"docs":{},"字":{"docs":{},"体":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"快":{"docs":{},"捷":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"获":{"docs":{},"得":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"会":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"将":{"docs":{},"为":{"1":{"docs":{},".":{"0":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02040816326530612},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"e":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.02857142857142857},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"本":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"如":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"、":{"docs":{},"字":{"docs":{},"体":{"docs":{},"、":{"docs":{},"粗":{"docs":{},"细":{"docs":{},"、":{"docs":{},"背":{"docs":{},"景":{"docs":{},"等":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"{":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}}}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},":":{"docs":{},"该":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"\"":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},".":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},";":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"左":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"、":{"docs":{},"右":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"还":{"docs":{},"是":{"docs":{},"居":{"docs":{},"中":{"docs":{},"。":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"是":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"代":{"docs":{},"表":{"docs":{},"该":{"docs":{},"文":{"docs":{},"本":{"docs":{},"片":{"docs":{},"段":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"和":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"显":{"docs":{},"示":{"docs":{},"简":{"docs":{},"单":{"docs":{},"样":{"docs":{},"式":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"些":{"docs":{},"控":{"docs":{},"制":{"docs":{},"文":{"docs":{},"本":{"docs":{},"显":{"docs":{},"示":{"docs":{},"样":{"docs":{},"式":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.006830601092896175},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00546448087431694},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.015027322404371584}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"用":{"docs":{},"于":{"docs":{},"文":{"docs":{},"本":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"简":{"docs":{},"单":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"主":{"docs":{},"要":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"几":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"关":{"docs":{},"键":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"动":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"图":{"docs":{},"标":{"docs":{},"(":{"docs":{},"即":{"docs":{},"回":{"docs":{},"车":{"docs":{},"键":{"docs":{},"位":{"docs":{},"图":{"docs":{},"标":{"docs":{},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{},",":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"可":{"docs":{},"选":{"docs":{},"值":{"docs":{},",":{"docs":{},"全":{"docs":{},"部":{"docs":{},"的":{"docs":{},"取":{"docs":{},"值":{"docs":{},"列":{"docs":{},"表":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"当":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"时":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"系":{"docs":{},"统":{"docs":{},"下":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"样":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"e":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},")":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},";":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"s":{"docs":{},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},">":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},">":{"docs":{},"a":{"docs":{},"v":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}},"u":{"docs":{},"r":{"docs":{},",":{"docs":{},"就":{"docs":{},"开":{"docs":{},"始":{"docs":{},"动":{"docs":{},"手":{"docs":{},"写":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},")":{"docs":{},",":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"会":{"docs":{},"更":{"docs":{},"有":{"docs":{},"意":{"docs":{},"义":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"手":{"docs":{},"机":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"则":{"docs":{},"始":{"docs":{},"终":{"docs":{},"为":{"1":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"p":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},":":{"8":{"0":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"docs":{}},"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.009328358208955223}}}}}}}}},"r":{"docs":{},"i":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"e":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012605042016806723},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.00904977375565611},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.01366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.012269938650306749},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.009536784741144414}},"/":{"docs":{},"/":{"docs":{},"是":{"docs":{},"否":{"docs":{},"保":{"docs":{},"存":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}},")":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0012961762799740765},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}}},"则":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"仅":{"docs":{},"会":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"自":{"docs":{},"身":{"docs":{},"而":{"docs":{},"无":{"docs":{},"需":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"它":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"c":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"k":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"变":{"docs":{},"换":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"或":{"docs":{},"放":{"docs":{},"大":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"沿":{"docs":{},"x":{"docs":{},"、":{"docs":{},"y":{"docs":{},"轴":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"平":{"docs":{},"移":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"换":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"对":{"docs":{},"其":{"docs":{},"应":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"换":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"x":{"4":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"4":{"docs":{},"d":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"各":{"docs":{},"种":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"而":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"布":{"docs":{},"局":{"docs":{},"(":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"无":{"docs":{},"论":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"应":{"docs":{},"用":{"docs":{},"何":{"docs":{},"种":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"其":{"docs":{},"占":{"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"都":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"些":{"docs":{},"是":{"docs":{},"在":{"docs":{},"布":{"docs":{},"局":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"就":{"docs":{},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"具":{"docs":{},"体":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"u":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"当":{"docs":{},"点":{"docs":{},"击":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"透":{"docs":{},"明":{"docs":{},"区":{"docs":{},"域":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"自":{"docs":{},"身":{"docs":{},"边":{"docs":{},"界":{"docs":{},"内":{"docs":{},"及":{"docs":{},"底":{"docs":{},"部":{"docs":{},"可":{"docs":{},"视":{"docs":{},"区":{"docs":{},"域":{"docs":{},"都":{"docs":{},"进":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"这":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"点":{"docs":{},"击":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"透":{"docs":{},"明":{"docs":{},"区":{"docs":{},"域":{"docs":{},"时":{"docs":{},",":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"底":{"docs":{},"部":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"放":{"docs":{},"一":{"docs":{},"些":{"docs":{},"临":{"docs":{},"时":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"存":{"docs":{},"放":{"docs":{},"动":{"docs":{},"画":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"重":{"docs":{},"点":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}},"=":{"1":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.008438818565400843},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"n":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":5.00507614213198},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"1":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},"docs":{}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.02030456852791878},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"(":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}},"{":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"e":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"}":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"触":{"docs":{},"摸":{"docs":{},"事":{"docs":{},"件":{"docs":{},"取":{"docs":{},"消":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"手":{"docs":{},"指":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"浅":{"docs":{},"色":{"docs":{},"主":{"docs":{},"题":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"背":{"docs":{},"景":{"docs":{},"颜":{"docs":{},"色":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}}}}}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}},"e":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"模":{"docs":{},"式":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"容":{"docs":{},"器":{"docs":{},"外":{"docs":{},"补":{"docs":{},"白":{"docs":{},",":{"docs":{},"不":{"docs":{},"属":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"装":{"docs":{},"饰":{"docs":{},"范":{"docs":{},"围":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.016216216216216217},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533}}}},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"6":{"4":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"3":{"2":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"docs":{}},"6":{"4":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},"docs":{}},"docs":{}}}}}}}}}}}}},")":{"docs":{},"将":{"docs":{},"淡":{"docs":{},"出":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"这":{"docs":{},"个":{"docs":{},"层":{"docs":{},"面":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"和":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"是":{"docs":{},"差":{"docs":{},"不":{"docs":{},"多":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"单":{"docs":{},"从":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"并":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"什":{"docs":{},"么":{"docs":{},"明":{"docs":{},"显":{"docs":{},"优":{"docs":{},"势":{"docs":{},",":{"docs":{},"但":{"docs":{},"综":{"docs":{},"合":{"docs":{},"起":{"docs":{},"来":{"docs":{},"看":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"既":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"开":{"docs":{},"发":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"有":{"docs":{},"优":{"docs":{},"势":{"docs":{},"了":{"docs":{},"!":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},")":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}},")":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.016216216216216217}},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533}}}}}}}}},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"存":{"docs":{},"储":{"docs":{},"任":{"docs":{},"何":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"需":{"docs":{},"要":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"和":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"的":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"职":{"docs":{},"责":{"docs":{},"就":{"docs":{},"是":{"docs":{},"定":{"docs":{},"义":{"docs":{},"从":{"docs":{},"输":{"docs":{},"入":{"docs":{},"范":{"docs":{},"围":{"docs":{},"到":{"docs":{},"输":{"docs":{},"出":{"docs":{},"范":{"docs":{},"围":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"。":{"docs":{},"输":{"docs":{},"入":{"docs":{},"范":{"docs":{},"围":{"docs":{},"通":{"docs":{},"常":{"docs":{},"为":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{},"但":{"docs":{},"这":{"docs":{},"不":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"范":{"docs":{},"围":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"与":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"输":{"docs":{},"出":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"值":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"指":{"docs":{},"定":{"docs":{},"两":{"docs":{},"种":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"值":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"值":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"0":{"docs":{},"代":{"docs":{},"表":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"不":{"docs":{},"同":{"docs":{},"动":{"docs":{},"画":{"docs":{},"指":{"docs":{},"定":{"docs":{},"起":{"docs":{},"始":{"docs":{},"点":{"docs":{},"和":{"docs":{},"终":{"docs":{},"止":{"docs":{},"点":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"间":{"docs":{},"和":{"docs":{},"终":{"docs":{},"止":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},"(":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}},"{":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}},"e":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}},"初":{"docs":{},"识":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}},"始":{"docs":{},"化":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}},"官":{"docs":{},"网":{"docs":{},":":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"是":{"docs":{},"快":{"docs":{},"速":{"docs":{},"入":{"docs":{},"门":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"官":{"docs":{},"网":{"docs":{},"也":{"docs":{},"是":{"docs":{},"了":{"docs":{},"解":{"docs":{},"最":{"docs":{},"新":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"发":{"docs":{},"展":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"目":{"docs":{},"前":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"处":{"docs":{},"于":{"docs":{},"快":{"docs":{},"速":{"docs":{},"发":{"docs":{},"展":{"docs":{},"阶":{"docs":{},"段":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"建":{"docs":{},"议":{"docs":{},"读":{"docs":{},"者":{"docs":{},"还":{"docs":{},"是":{"docs":{},"时":{"docs":{},"不":{"docs":{},"时":{"docs":{},"的":{"docs":{},"去":{"docs":{},"官":{"docs":{},"网":{"docs":{},"看":{"docs":{},"看":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"动":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"下":{"docs":{},"两":{"docs":{},"层":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"在":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"视":{"docs":{},"频":{"docs":{},"中":{"docs":{},"被":{"docs":{},"合":{"docs":{},"并":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"栏":{"docs":{},"打":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"的":{"docs":{},"洞":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"高":{"docs":{},"度":{"docs":{},"都":{"docs":{},"为":{"5":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"掘":{"docs":{},"金":{"docs":{},":":{"docs":{},"掘":{"docs":{},"金":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"主":{"docs":{},"页":{"docs":{},"目":{"docs":{},"前":{"docs":{},"也":{"docs":{},"收":{"docs":{},"集":{"docs":{},"了":{"docs":{},"不":{"docs":{},"少":{"docs":{},"的":{"docs":{},"博":{"docs":{},"客":{"docs":{},"文":{"docs":{},"章":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"了":{"docs":{},"资":{"docs":{},"料":{"docs":{},"和":{"docs":{},"社":{"docs":{},"区":{"docs":{},"后":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"学":{"docs":{},"习":{"docs":{},"者":{"docs":{},"自":{"docs":{},"身":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"还":{"docs":{},"是":{"docs":{},"要":{"docs":{},"多":{"docs":{},"动":{"docs":{},"手":{"docs":{},"、":{"docs":{},"多":{"docs":{},"实":{"docs":{},"践":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"读":{"docs":{},"者":{"docs":{},"能":{"docs":{},"够":{"docs":{},"亲":{"docs":{},"自":{"docs":{},"动":{"docs":{},"手":{"docs":{},"写":{"docs":{},"一":{"docs":{},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},"。":{"docs":{},"准":{"docs":{},"备":{"docs":{},"好":{"docs":{},"了":{"docs":{},"吗":{"docs":{},",":{"docs":{},"下":{"docs":{},"一":{"docs":{},"章":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"正":{"docs":{},"式":{"docs":{},"进":{"docs":{},"入":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"世":{"docs":{},"界":{"docs":{},"!":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"将":{"docs":{},"生":{"docs":{},"成":{"docs":{},"用":{"docs":{},"于":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"和":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"字":{"docs":{},"段":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"上":{"docs":{},"述":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"阅":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"和":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"将":{"docs":{},"会":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"深":{"docs":{},"入":{"docs":{},"讨":{"docs":{},"论":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"现":{"docs":{},"在":{"docs":{},"只":{"docs":{},"需":{"docs":{},"知":{"docs":{},"道":{"docs":{},",":{"docs":{},"为":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"显":{"docs":{},"式":{"docs":{},"添":{"docs":{},"加":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"话":{"docs":{},"可":{"docs":{},"能":{"docs":{},"(":{"docs":{},"但":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},")":{"docs":{},"会":{"docs":{},"使":{"docs":{},"u":{"docs":{},"i":{"docs":{},"在":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"变":{"docs":{},"的":{"docs":{},"高":{"docs":{},"效":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"目":{"docs":{},"前":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"u":{"docs":{},"i":{"docs":{},"时":{"docs":{},"会":{"docs":{},"显":{"docs":{},"式":{"docs":{},"指":{"docs":{},"定":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"无":{"docs":{},"论":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"前":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"加":{"docs":{},"载":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"分":{"docs":{},"别":{"docs":{},"在":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"或":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"中":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"一":{"docs":{},"下":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"种":{"docs":{},"就":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"改":{"docs":{},"一":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"等":{"docs":{},"待":{"docs":{},"多":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"才":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"从":{"docs":{},"两":{"docs":{},"个":{"docs":{},"网":{"docs":{},"络":{"docs":{},"接":{"docs":{},"口":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"两":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"后":{"docs":{},"再":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{},"上":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"做":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"数":{"docs":{},"组":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"的":{"docs":{},"成":{"docs":{},"功":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"执":{"docs":{},"行":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"就":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"错":{"docs":{},"误":{"docs":{},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"动":{"docs":{},"画":{"docs":{},"可":{"docs":{},"能":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"序":{"docs":{},"列":{"docs":{},"或":{"docs":{},"重":{"docs":{},"叠":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"柱":{"docs":{},"状":{"docs":{},"图":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"高":{"docs":{},"度":{"docs":{},"增":{"docs":{},"长":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},"改":{"docs":{},"变":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"等":{"docs":{},"到":{"docs":{},"增":{"docs":{},"长":{"docs":{},"到":{"docs":{},"最":{"docs":{},"大":{"docs":{},"高":{"docs":{},"度":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"x":{"docs":{},"轴":{"docs":{},"上":{"docs":{},"平":{"docs":{},"移":{"docs":{},"一":{"docs":{},"段":{"docs":{},"距":{"docs":{},"离":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"很":{"docs":{},"多":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"次":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"都":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"构":{"docs":{},"建":{"docs":{},"时":{"docs":{},"读":{"docs":{},"取":{"docs":{},"状":{"docs":{},"态":{"docs":{},"将":{"docs":{},"会":{"docs":{},"很":{"docs":{},"不":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"试":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"真":{"docs":{},"的":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"必":{"docs":{},"须":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"大":{"docs":{},"概":{"docs":{},"是":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"点":{"docs":{},"击":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"当":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"提":{"docs":{},"供":{"docs":{},"该":{"docs":{},"回":{"docs":{},"调":{"docs":{},"则":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"会":{"docs":{},"处":{"docs":{},"于":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"响":{"docs":{},"应":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"底":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"器":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},",":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"切":{"docs":{},"换":{"docs":{},"时":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"帧":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"各":{"docs":{},"种":{"docs":{},"各":{"docs":{},"样":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"功":{"docs":{},"能":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"调":{"docs":{},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},"则":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"错":{"docs":{},"误":{"docs":{},"提":{"docs":{},"示":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},"时":{"docs":{},"代":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"也":{"docs":{},"启":{"docs":{},"用":{"docs":{},"了":{"docs":{},"身":{"docs":{},"份":{"docs":{},"验":{"docs":{},"证":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"认":{"docs":{},"证":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"认":{"docs":{},"证":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"及":{"docs":{},"注":{"docs":{},"释":{"docs":{},":":{"docs":{},"源":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{},"应":{"docs":{},"作":{"docs":{},"为":{"docs":{},"学":{"docs":{},"习":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"只":{"docs":{},"有":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"更":{"docs":{},"新":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"“":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"”":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"似":{"docs":{},"不":{"docs":{},"起":{"docs":{},"眼":{"docs":{},",":{"docs":{},"实":{"docs":{},"则":{"docs":{},"举":{"docs":{},"足":{"docs":{},"轻":{"docs":{},"重":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"有":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"团":{"docs":{},"队":{"docs":{},"的":{"docs":{},"积":{"docs":{},"极":{"docs":{},"投":{"docs":{},"入":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"团":{"docs":{},"队":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"得":{"docs":{},"更":{"docs":{},"多":{"docs":{},"、":{"docs":{},"更":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"所":{"docs":{},"述":{"docs":{},"“":{"docs":{},"我":{"docs":{},"们":{"docs":{},"正":{"docs":{},"与":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"社":{"docs":{},"区":{"docs":{},"进":{"docs":{},"行":{"docs":{},"密":{"docs":{},"切":{"docs":{},"合":{"docs":{},"作":{"docs":{},",":{"docs":{},"以":{"docs":{},"改":{"docs":{},"进":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"最":{"docs":{},"初":{"docs":{},"采":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"该":{"docs":{},"语":{"docs":{},"言":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"生":{"docs":{},"成":{"docs":{},"原":{"docs":{},"生":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"链":{"docs":{},"(":{"docs":{},"这":{"docs":{},"对":{"docs":{},"于":{"docs":{},"实":{"docs":{},"现":{"docs":{},"可":{"docs":{},"预":{"docs":{},"测":{"docs":{},"的":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"具":{"docs":{},"有":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"帮":{"docs":{},"助":{"docs":{},")":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"现":{"docs":{},"在":{"docs":{},"它":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"团":{"docs":{},"队":{"docs":{},"专":{"docs":{},"门":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{},"它":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"完":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"些":{"docs":{},"读":{"docs":{},"者":{"docs":{},"会":{"docs":{},"有":{"docs":{},"疑":{"docs":{},"问":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"会":{"docs":{},"直":{"docs":{},"接":{"docs":{},"操":{"docs":{},"作":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"对":{"docs":{},"于":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"就":{"docs":{},"行":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"已":{"docs":{},"经":{"docs":{},"将":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"映":{"docs":{},"射":{"docs":{},"到":{"docs":{},"了":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"极":{"docs":{},"大":{"docs":{},"的":{"docs":{},"降":{"docs":{},"低":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"开":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"了":{"docs":{},"解":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"理":{"docs":{},"解":{"docs":{},"整":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"社":{"docs":{},"区":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"一":{"docs":{},"旦":{"docs":{},"确":{"docs":{},"定":{"docs":{},"后":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"更":{"docs":{},"改":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},"似":{"docs":{},"于":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"任":{"docs":{},"何":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"但":{"docs":{},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"变":{"docs":{},"量":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"赋":{"docs":{},"值":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"便":{"docs":{},"会":{"docs":{},"确":{"docs":{},"定":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"改":{"docs":{},"变":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"设":{"docs":{},"备":{"docs":{},"加":{"docs":{},"载":{"docs":{},"适":{"docs":{},"合":{"docs":{},"其":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"中":{"docs":{},"已":{"docs":{},"经":{"docs":{},"有":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"正":{"docs":{},"如":{"docs":{},"上":{"docs":{},"面":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"必":{"docs":{},"须":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"记":{"docs":{},"为":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"提":{"docs":{},"供":{"docs":{},"给":{"docs":{},"其":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"其":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"能":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"三":{"docs":{},"个":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"许":{"docs":{},"多":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"曲":{"docs":{},"线":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":10.004926108374384}}}}}},"项":{"docs":{},"目":{"docs":{},"下":{"docs":{},"提":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter1/flutter_intro.html":{"ref":"chapter1/flutter_intro.html","tf":0.010416666666666666}}}}}}}}}}}},"$":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"e":{"docs":{},"。":{"docs":{},"文":{"docs":{},"件":{"docs":{},"路":{"docs":{},"径":{"docs":{},"和":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"可":{"docs":{},"能":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"电":{"docs":{},"脑":{"docs":{},"上":{"docs":{},"不":{"docs":{},"同":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"v":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308}}}}}}}}}},"{":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"}":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},"}":{"docs":{},".":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},"]":{"docs":{},"}":{"docs":{},"!":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"'":{"0":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"docs":{}}},"4":{"docs":{},".":{"3":{"docs":{},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"docs":{}}},"docs":{}}},"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"'":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}},"$":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"e":{"docs":{},"'":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}}}}}}}}},"{":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"}":{"docs":{},"'":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"}":{"docs":{},"'":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"'":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},";":{"docs":{},"到":{"docs":{},"相":{"docs":{},"关":{"docs":{},"文":{"docs":{},"件":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}},"i":{"docs":{},"o":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.012244897959183673}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}},"%":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}}},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"n":{"docs":{},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},":":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},":":{"2":{"3":{"docs":{},".":{"0":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"'":{"docs":{},")":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}},"z":{"docs":{},"h":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"=":{"docs":{},"$":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"[":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.010810810810810811},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.008174386920980926},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"*":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"*":{"docs":{},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"*":{"docs":{},"*":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},";":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},">":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.007974481658692184},"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.053763440860215055},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.08695652173913043},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.012578616352201259},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.029045643153526972},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.00929368029739777}},"=":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}},"[":{"0":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},".":{"0":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"docs":{}}},"1":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"2":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"3":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0427807486631016},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02158273381294964},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.015228426395939087},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012658227848101266},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.008356545961002786},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.008880994671403197},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.013285806869734284}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.005508749189889825}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"@":{"2":{"4":{"8":{"8":{"1":{"8":{"7":{"9":{"1":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"[":{"3":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}}}}}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"]":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},"\"":{"docs":{},"新":{"docs":{},"闻":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"]":{"docs":{},")":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"]":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"]":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0427807486631016},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.02158273381294964},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.015228426395939087},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012658227848101266},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"页":{"docs":{},"面":{"docs":{},"引":{"docs":{},"入":{"docs":{},"该":{"docs":{},"文":{"docs":{},"件":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},".":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}},"'":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"a":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}}}}}}},"f":{"docs":{},"t":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.007104795737122558}}},"、":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}},",":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}},"'":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}},"}":{"docs":{},"=":{"1":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}},"docs":{}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"}":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}},"n":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},"i":{"docs":{},"b":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"是":{"docs":{},"隐":{"docs":{},"含":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"它":{"docs":{},"不":{"docs":{},"应":{"docs":{},"该":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"资":{"docs":{},"产":{"docs":{},"路":{"docs":{},"径":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"路":{"docs":{},"径":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.011204481792717087}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"i":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"同":{"docs":{},"意":{"docs":{},"过":{"docs":{},"了":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}},")":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}},"{":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"[":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"[":{"7":{"0":{"0":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},",":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}},"s":{"docs":{},"t":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.022388059701492536},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.005449591280653951},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.003629764065335753}},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0032404406999351912}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"(":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03550295857988166},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"{":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.016713091922005572},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"3":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":10.002785515320335}},"(":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"{":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}}}}}}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.011142061281337047}}}}}}}}}}}}}},"{":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}},"适":{"docs":{},"合":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"无":{"docs":{},"限":{"docs":{},")":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"当":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"真":{"docs":{},"正":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"才":{"docs":{},"会":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"参":{"docs":{},"数":{"docs":{},"列":{"docs":{},"表":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}}},"可":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"分":{"docs":{},"割":{"docs":{},"器":{"docs":{},",":{"docs":{},"它":{"docs":{},"除":{"docs":{},"了":{"docs":{},"比":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"多":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"割":{"docs":{},"器":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{},"奇":{"docs":{},"数":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"条":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},",":{"docs":{},"偶":{"docs":{},"数":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"条":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"下":{"docs":{},"划":{"docs":{},"线":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"共":{"docs":{},"参":{"docs":{},"数":{"docs":{},"已":{"docs":{},"省":{"docs":{},"略":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"是":{"docs":{},"最":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"沿":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"线":{"docs":{},"性":{"docs":{},"排":{"docs":{},"布":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}},")":{"docs":{},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"f":{"docs":{},"e":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}},"o":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"*":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"c":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"s":{"docs":{},"了":{"docs":{},"查":{"docs":{},"看":{"docs":{},"它":{"docs":{},"(":{"docs":{},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"一":{"docs":{},"产":{"docs":{},"生":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"和":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.041379310344827586},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0016202203499675956}}}}}}},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}}},"z":{"docs":{},"h":{"docs":{},"'":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}}}}}}}},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"就":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"前":{"docs":{},"者":{"docs":{},"接":{"docs":{},"收":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"接":{"docs":{},"收":{"docs":{},"的":{"docs":{},"是":{"docs":{},"单":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}},"类":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},",":{"docs":{},"它":{"docs":{},"包":{"docs":{},"括":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"国":{"docs":{},"家":{"docs":{},"两":{"docs":{},"个":{"docs":{},"标":{"docs":{},"志":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"e":{"docs":{},";":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"发":{"docs":{},"生":{"docs":{},"变":{"docs":{},"化":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"是":{"docs":{},"生":{"docs":{},"成":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"集":{"docs":{},"合":{"docs":{},"的":{"docs":{},"工":{"docs":{},"厂":{"docs":{},"。":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.012295081967213115}}}}}}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"的":{"docs":{},"委":{"docs":{},"托":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}},"相":{"docs":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"子":{"docs":{},"类":{"docs":{},"需":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"它":{"docs":{},"们":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}},"x":{"5":{"0":{"9":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"证":{"docs":{},"书":{"docs":{},"除":{"docs":{},"私":{"docs":{},"钥":{"docs":{},"外":{"docs":{},"所":{"docs":{},"有":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"没":{"docs":{},"有":{"docs":{},"校":{"docs":{},"验":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"要":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"和":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"保":{"docs":{},"存":{"docs":{},"一":{"docs":{},"致":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"能":{"docs":{},"证":{"docs":{},"明":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"了":{"docs":{},"(":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"中":{"docs":{},"间":{"docs":{},"人":{"docs":{},")":{"docs":{},",":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"验":{"docs":{},"证":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"止":{"docs":{},"证":{"docs":{},"书":{"docs":{},"和":{"docs":{},"域":{"docs":{},"名":{"docs":{},"不":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"8":{"6":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"_":{"6":{"4":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"docs":{}},"docs":{}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"docs":{}},"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"~":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"v":{"0":{"docs":{},".":{"5":{"docs":{},".":{"1":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"‘":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"’":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"’":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"’":{"docs":{},",":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"’":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"•":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"✗":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"仔":{"docs":{},"细":{"docs":{},"检":{"docs":{},"查":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"输":{"docs":{},"出":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"软":{"docs":{},"件":{"docs":{},"或":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"启":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"获":{"docs":{},"得":{"docs":{},"有":{"docs":{},"关":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"动":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"、":{"docs":{},"一":{"docs":{},"条":{"docs":{},"曲":{"docs":{},"线":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{},"与":{"docs":{},"上":{"docs":{},"面":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"创":{"docs":{},"建":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"类":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"些":{"docs":{},"新":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},".":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"任":{"docs":{},"何":{"0":{"docs":{},".":{"4":{"docs":{},".":{"docs":{},"x":{"docs":{},"(":{"docs":{},"x":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"docs":{}}},"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"意":{"docs":{},"弧":{"docs":{},"度":{"docs":{},";":{"docs":{},"整":{"docs":{},"个":{"docs":{},"进":{"docs":{},"度":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"是":{"docs":{},"整":{"docs":{},"圆":{"docs":{},"。":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}},"体":{"docs":{},"验":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}},"积":{"docs":{},"小":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"小":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"分":{"docs":{},"隔":{"docs":{},"符":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"你":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"到":{"docs":{},"很":{"docs":{},"多":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"们":{"docs":{},"是":{"docs":{},"被":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},",":{"docs":{},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"工":{"docs":{},"程":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"手":{"docs":{},"动":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"通":{"docs":{},"过":{"docs":{},"向":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"包":{"docs":{},"的":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"性":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"声":{"docs":{},"明":{"docs":{},"来":{"docs":{},"处":{"docs":{},"理":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"强":{"docs":{},"制":{"docs":{},"使":{"docs":{},"用":{"docs":{},"特":{"docs":{},"定":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"多":{"docs":{},"次":{"docs":{},"看":{"docs":{},"到":{"docs":{},"过":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"u":{"docs":{},"s":{"docs":{},"b":{"docs":{},"将":{"docs":{},"手":{"docs":{},"机":{"docs":{},"插":{"docs":{},"入":{"docs":{},"电":{"docs":{},"脑":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"备":{"docs":{},"出":{"docs":{},"现":{"docs":{},"调":{"docs":{},"试":{"docs":{},"授":{"docs":{},"权":{"docs":{},"提":{"docs":{},"示":{"docs":{},",":{"docs":{},"请":{"docs":{},"授":{"docs":{},"权":{"docs":{},"你":{"docs":{},"的":{"docs":{},"电":{"docs":{},"脑":{"docs":{},"可":{"docs":{},"以":{"docs":{},"访":{"docs":{},"问":{"docs":{},"该":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"或":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"镜":{"docs":{},"像":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"消":{"docs":{},"除":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"简":{"docs":{},"化":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"消":{"docs":{},"除":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"也":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"包":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"随":{"docs":{},"机":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"包":{"docs":{},"含":{"docs":{},"你":{"docs":{},"想":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"块":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"包":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"也":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},"复":{"docs":{},"杂":{"docs":{},".":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/":{"ref":"chapter10/","tf":0.09090909090909091},"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":5}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"更":{"docs":{},"加":{"docs":{},"方":{"docs":{},"便":{"docs":{},"。":{"docs":{},"它":{"docs":{},"会":{"docs":{},"监":{"docs":{},"视":{"docs":{},"我":{"docs":{},"们":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"自":{"docs":{},"动":{"docs":{},"构":{"docs":{},"建":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"插":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.25},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":10.00280112044818}},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"非":{"docs":{},"常":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"文":{"docs":{},"本":{"docs":{},"分":{"docs":{},"离":{"docs":{},"成":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"和":{"docs":{},"翻":{"docs":{},"译":{"docs":{},"人":{"docs":{},"员":{"docs":{},"分":{"docs":{},"工":{"docs":{},"协":{"docs":{},"作":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"两":{"docs":{},"个":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"最":{"docs":{},"小":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"之":{"docs":{},"间":{"docs":{},"传":{"docs":{},"递":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"包":{"docs":{},"好":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"如":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"方":{"docs":{},"法":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"f":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"”":{"docs":{},"的":{"docs":{},"包":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"包":{"docs":{},"含":{"docs":{},"以":{"docs":{},"下":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"假":{"docs":{},"设":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"”":{"docs":{},"的":{"docs":{},"包":{"docs":{},",":{"docs":{},"它":{"docs":{},"具":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"有":{"docs":{},"以":{"docs":{},"下":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"转":{"docs":{},"储":{"docs":{},"中":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"4":{"1":{"1":{"docs":{},".":{"4":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"图":{"docs":{},"片":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"认":{"docs":{},"为":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"该":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"来":{"docs":{},"采":{"docs":{},"取":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"会":{"docs":{},"启":{"docs":{},"动":{"docs":{},"它":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"依":{"docs":{},"赖":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"包":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},"位":{"docs":{},"于":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"的":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"以":{"docs":{},"下":{"docs":{},"语":{"docs":{},"法":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"包":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"平":{"docs":{},"台":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"延":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},"(":{"docs":{},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},"会":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"耗":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"一":{"docs":{},"次":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},")":{"docs":{},",":{"docs":{},"即":{"2":{"docs":{},"秒":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"“":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"”":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"项":{"docs":{},"目":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"记":{"docs":{},"为":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"刷":{"docs":{},"新":{"docs":{},"当":{"docs":{},"前":{"docs":{},"终":{"docs":{},"端":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"将":{"docs":{},"在":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"工":{"docs":{},"具":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"按":{"docs":{},"时":{"docs":{},"间":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"排":{"docs":{},"列":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"升":{"docs":{},"级":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"去":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"下":{"docs":{},"载":{"docs":{},"其":{"docs":{},"最":{"docs":{},"新":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},",":{"docs":{},"官":{"docs":{},"网":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"网":{"docs":{},"查":{"docs":{},"看":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.004784688995215311},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}},"您":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"屏":{"docs":{},"幕":{"docs":{},"将":{"docs":{},"永":{"docs":{},"远":{"docs":{},"持":{"docs":{},"续":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"识":{"docs":{},"别":{"docs":{},"您":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"是":{"docs":{},"否":{"docs":{},"都":{"docs":{},"准":{"docs":{},"备":{"docs":{},"o":{"docs":{},"k":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}},"来":{"docs":{},"下":{"docs":{},"载":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}},"创":{"docs":{},"建":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}},"的":{"docs":{},"优":{"docs":{},"缺":{"docs":{},"点":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}},"最":{"docs":{},"大":{"docs":{},"优":{"docs":{},"点":{"docs":{},"是":{"docs":{},"直":{"docs":{},"观":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"路":{"docs":{},"由":{"docs":{},"。":{"docs":{},"但":{"docs":{},"其":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"明":{"docs":{},"显":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"点":{"docs":{},":":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"接":{"docs":{},"传":{"docs":{},"递":{"docs":{},"路":{"docs":{},"由":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"参":{"docs":{},"数":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"在":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"中":{"docs":{},"心":{"docs":{},"将":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"安":{"docs":{},"装":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"插":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"目":{"docs":{},"录":{"docs":{},"是":{"docs":{},"“":{"docs":{},"~":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"”":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"代":{"docs":{},"码":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遇":{"docs":{},"到":{"docs":{},"问":{"docs":{},"题":{"docs":{},"?":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"之":{"docs":{},"后":{"docs":{},"重":{"docs":{},"新":{"docs":{},"运":{"docs":{},"行":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}},"卓":{"docs":{},"包":{"docs":{},"配":{"docs":{},"置":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}},"定":{"docs":{},"位":{"docs":{},"到":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"您":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}},"义":{"docs":{},"函":{"docs":{},"数":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"{":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"1":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"docs":{}}}}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{},"确":{"docs":{},"定":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"的":{"docs":{},"布":{"docs":{},"尔":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"该":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"背":{"docs":{},"景":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"两":{"docs":{},"边":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{},"类":{"docs":{},",":{"docs":{},"要":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"类":{"docs":{},"f":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}},"\"":{"docs":{},"模":{"docs":{},"板":{"docs":{},"的":{"docs":{},"模":{"docs":{},"板":{"docs":{},"\"":{"docs":{},",":{"docs":{},"名":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"和":{"docs":{},"密":{"docs":{},"码":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"触":{"docs":{},"发":{"docs":{},"时":{"docs":{},",":{"docs":{},"各":{"docs":{},"自":{"docs":{},"保":{"docs":{},"存":{"docs":{},"一":{"docs":{},"下":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"就":{"docs":{},"是":{"docs":{},"无":{"docs":{},"需":{"docs":{},"重":{"docs":{},"启":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"就":{"docs":{},"能":{"docs":{},"实":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"修":{"docs":{},"改":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"对":{"docs":{},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"或":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"点":{"docs":{},"击":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"按":{"docs":{},"钮":{"docs":{},")":{"docs":{},",":{"docs":{},"你":{"docs":{},"就":{"docs":{},"会":{"docs":{},"在":{"docs":{},"你":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"或":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"更":{"docs":{},"改":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1}}}}},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},",":{"docs":{},"将":{"docs":{},"语":{"docs":{},"言":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"对":{"docs":{},"应":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"当":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"被":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"交":{"docs":{},"互":{"docs":{},"式":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.25},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":10.008771929824562}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}},"际":{"docs":{},"业":{"docs":{},"务":{"docs":{},"中":{"docs":{},",":{"docs":{},"在":{"docs":{},"正":{"docs":{},"式":{"docs":{},"向":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{},"前":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"对":{"docs":{},"各":{"docs":{},"个":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"数":{"docs":{},"据":{"docs":{},"进":{"docs":{},"行":{"docs":{},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},"校":{"docs":{},"验":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"对":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"都":{"docs":{},"分":{"docs":{},"别":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{},"将":{"docs":{},"会":{"docs":{},"是":{"docs":{},"一":{"docs":{},"件":{"docs":{},"很":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},"事":{"docs":{},"。":{"docs":{},"还":{"docs":{},"有":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"想":{"docs":{},"清":{"docs":{},"除":{"docs":{},"一":{"docs":{},"组":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"一":{"docs":{},"个":{"docs":{},"清":{"docs":{},"除":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"只":{"docs":{},"是":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"一":{"docs":{},"个":{"docs":{},"定":{"docs":{},"制":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}},":":{"docs":{},"无":{"docs":{},"限":{"docs":{},"加":{"docs":{},"载":{"docs":{},"列":{"docs":{},"表":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":10.004854368932039}}}}}}}}},"圆":{"docs":{},"形":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666}},"(":{"docs":{},"自":{"docs":{},"绘":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":10.001362397820163}}}}}}}}}}}}}},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}},"对":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"当":{"docs":{},"您":{"docs":{},"想":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"请":{"docs":{},"指":{"docs":{},"定":{"docs":{},"相":{"docs":{},"应":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"终":{"docs":{},"端":{"docs":{},"会":{"docs":{},"话":{"docs":{},"永":{"docs":{},"久":{"docs":{},"修":{"docs":{},"改":{"docs":{},"此":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"是":{"docs":{},"和":{"docs":{},"特":{"docs":{},"定":{"docs":{},"计":{"docs":{},"算":{"docs":{},"机":{"docs":{},"系":{"docs":{},"统":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},",":{"docs":{},"您":{"docs":{},"会":{"docs":{},"在":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"时":{"docs":{},"将":{"docs":{},"设":{"docs":{},"置":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"个":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"简":{"docs":{},"写":{"docs":{},"语":{"docs":{},"法":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"当":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"新":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"底":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"顶":{"docs":{},"部":{"docs":{},";":{"docs":{},"当":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"底":{"docs":{},"部":{"docs":{},"后":{"docs":{},"消":{"docs":{},"失":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"当":{"docs":{},"打":{"docs":{},"开":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"新":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"右":{"docs":{},"侧":{"docs":{},"边":{"docs":{},"缘":{"docs":{},"一":{"docs":{},"致":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"左":{"docs":{},"边":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},"全":{"docs":{},"部":{"docs":{},"显":{"docs":{},"示":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},",":{"docs":{},"而":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"则":{"docs":{},"会":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"而":{"docs":{},"消":{"docs":{},"失":{"docs":{},";":{"docs":{},"当":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"正":{"docs":{},"好":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"右":{"docs":{},"侧":{"docs":{},"滑":{"docs":{},"出":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"上":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"会":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"左":{"docs":{},"侧":{"docs":{},"滑":{"docs":{},"入":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"读":{"docs":{},"者":{"docs":{},"现":{"docs":{},"在":{"docs":{},"可":{"docs":{},"以":{"docs":{},"先":{"docs":{},"作":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"随":{"docs":{},"着":{"docs":{},"本":{"docs":{},"书":{"docs":{},"后":{"docs":{},"面":{"docs":{},"内":{"docs":{},"容":{"docs":{},"的":{"docs":{},"展":{"docs":{},"开":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"用":{"docs":{},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"对":{"docs":{},"其":{"docs":{},"有":{"docs":{},"个":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"认":{"docs":{},"识":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"再":{"docs":{},"深":{"docs":{},"入":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"混":{"docs":{},"合":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"非":{"docs":{},"常":{"docs":{},"有":{"docs":{},"用":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"自":{"docs":{},"身":{"docs":{},"管":{"docs":{},"理":{"docs":{},"一":{"docs":{},"些":{"docs":{},"内":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"管":{"docs":{},"理":{"docs":{},"一":{"docs":{},"些":{"docs":{},"其":{"docs":{},"他":{"docs":{},"外":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"复":{"docs":{},"杂":{"docs":{},"或":{"docs":{},"不":{"docs":{},"规":{"docs":{},"则":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"无":{"docs":{},"法":{"docs":{},"使":{"docs":{},"用":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"正":{"docs":{},"六":{"docs":{},"边":{"docs":{},"形":{"docs":{},"、":{"docs":{},"一":{"docs":{},"个":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"形":{"docs":{},"进":{"docs":{},"度":{"docs":{},"条":{"docs":{},"、":{"docs":{},"一":{"docs":{},"个":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"等":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},"有":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"图":{"docs":{},"片":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"动":{"docs":{},"态":{"docs":{},"交":{"docs":{},"互":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"静":{"docs":{},"态":{"docs":{},"图":{"docs":{},"片":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"了":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"手":{"docs":{},"写":{"docs":{},"输":{"docs":{},"入":{"docs":{},"面":{"docs":{},"板":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"来":{"docs":{},"自":{"docs":{},"己":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"并":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"何":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"通":{"docs":{},"常":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"好":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"有":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"之":{"docs":{},"分":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"布":{"docs":{},"局":{"docs":{},"是":{"docs":{},"沿":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"指":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"即":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"布":{"docs":{},"局":{"docs":{},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},",":{"docs":{},"而":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"就":{"docs":{},"是":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{},"在":{"docs":{},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},",":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"定":{"docs":{},"义":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"代":{"docs":{},"表":{"docs":{},"主":{"docs":{},"轴":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"和":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"其":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{},"证":{"docs":{},"书":{"docs":{},"信":{"docs":{},"任":{"docs":{},"链":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"证":{"docs":{},"书":{"docs":{},"验":{"docs":{},"证":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"走":{"docs":{},"到":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"请":{"docs":{},"求":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},"通":{"docs":{},"过":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"等":{"docs":{},"同":{"docs":{},"于":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"在":{"docs":{},"主":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},"内":{"docs":{},"或":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"功":{"docs":{},"能":{"docs":{},"即":{"docs":{},"可":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"1":{"docs":{},",":{"docs":{},"答":{"docs":{},"案":{"docs":{},"当":{"docs":{},"然":{"docs":{},"是":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"说":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"只":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"完":{"docs":{},"全":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"通":{"docs":{},"过":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"来":{"docs":{},"搭":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"i":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"举":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"2":{"docs":{},",":{"docs":{},"答":{"docs":{},"案":{"docs":{},"当":{"docs":{},"然":{"docs":{},"也":{"docs":{},"是":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"做":{"docs":{},"了":{"docs":{},"优":{"docs":{},"化":{"docs":{},",":{"docs":{},"使":{"docs":{},"重":{"docs":{},"新":{"docs":{},"执":{"docs":{},"行":{"docs":{},"变":{"docs":{},"的":{"docs":{},"很":{"docs":{},"快":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"任":{"docs":{},"何":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{},",":{"docs":{},"而":{"docs":{},"无":{"docs":{},"需":{"docs":{},"分":{"docs":{},"别":{"docs":{},"去":{"docs":{},"修":{"docs":{},"改":{"docs":{},"各":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"象":{"docs":{},"加":{"docs":{},"载":{"docs":{},":":{"docs":{},"每":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},"并":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{},";":{"docs":{},"另":{"docs":{},"外":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"(":{"docs":{},"来":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},")":{"docs":{},"显":{"docs":{},"示":{"docs":{},"为":{"docs":{},"黄":{"docs":{},"色":{"docs":{},"箭":{"docs":{},"头":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"队":{"docs":{},"列":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"中":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"都":{"docs":{},"将":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"础":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"如":{"docs":{},"用":{"docs":{},"于":{"2":{"docs":{},"d":{"docs":{},"图":{"docs":{},"形":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"套":{"docs":{},"规":{"docs":{},"则":{"docs":{},"来":{"docs":{},"描":{"docs":{},"述":{"docs":{},"u":{"docs":{},"i":{"docs":{},",":{"docs":{},"如":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"操":{"docs":{},"作":{"docs":{},"的":{"docs":{},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"原":{"docs":{},"则":{"docs":{},"等":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"来":{"docs":{},"为":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"生":{"docs":{},"成":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"做":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"文":{"docs":{},"档":{"docs":{},"注":{"docs":{},"释":{"docs":{},"语":{"docs":{},"法":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"文":{"docs":{},"档":{"docs":{},"注":{"docs":{},"释":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"生":{"docs":{},"成":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"网":{"docs":{},"站":{"docs":{},")":{"docs":{},"。":{"docs":{},"文":{"docs":{},"档":{"docs":{},"注":{"docs":{},"释":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"三":{"docs":{},"斜":{"docs":{},"线":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"/":{"docs":{},"/":{"docs":{},"\"":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"欲":{"docs":{},"善":{"docs":{},"其":{"docs":{},"事":{"docs":{},"必":{"docs":{},"先":{"docs":{},"利":{"docs":{},"其":{"docs":{},"器":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}}}}}},"带":{"docs":{},"\"":{"docs":{},"*":{"docs":{},"\"":{"docs":{},"号":{"docs":{},"的":{"docs":{},"分":{"docs":{},"支":{"docs":{},"即":{"docs":{},"你":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"规":{"docs":{},">":{"docs":{},"设":{"docs":{},"备":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"见":{"docs":{},"配":{"docs":{},"置":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":10.010752688172044}}}}}}},"用":{"docs":{},"于":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"读":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"如":{"docs":{},"网":{"docs":{},"络":{"docs":{},"内":{"docs":{},"容":{"docs":{},"下":{"docs":{},"载":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"写":{"docs":{},"等":{"docs":{},"。":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"信":{"docs":{},"任":{"docs":{},"您":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"在":{"docs":{},"那":{"docs":{},"里":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"每":{"docs":{},"次":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},"时":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"界":{"docs":{},"面":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"非":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"将":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"放":{"docs":{},"在":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}},"混":{"docs":{},"入":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"在":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"这":{"docs":{},"些":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"官":{"docs":{},"方":{"docs":{},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"当":{"docs":{},"您":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{},"进":{"docs":{},"行":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"时":{"docs":{},"信":{"docs":{},"任":{"docs":{},"你":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"和":{"docs":{},"该":{"docs":{},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{},"首":{"docs":{},"次":{"docs":{},"将":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"c":{"docs":{},"时":{"docs":{},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"对":{"docs":{},"话":{"docs":{},"框":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"先":{"docs":{},"自":{"docs":{},"增":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{},"被":{"docs":{},"按":{"docs":{},"下":{"docs":{},"变":{"docs":{},"为":{"docs":{},"被":{"docs":{},"释":{"docs":{},"放":{"docs":{},"时":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"同":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"、":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"、":{"docs":{},"或":{"docs":{},"者":{"docs":{},"取":{"docs":{},"消":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"不":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},"被":{"docs":{},"违":{"docs":{},"反":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"被":{"docs":{},"报":{"docs":{},"告":{"docs":{},"给":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},",":{"docs":{},"并":{"docs":{},"带":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"追":{"docs":{},"踪":{"docs":{},"问":{"docs":{},"题":{"docs":{},"的":{"docs":{},"根":{"docs":{},"源":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"将":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"个":{"docs":{},"网":{"docs":{},"格":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"原":{"docs":{},"生":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{},"通":{"docs":{},"过":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"传":{"docs":{},"递":{"docs":{},"到":{"docs":{},"原":{"docs":{},"生":{"docs":{},",":{"docs":{},"原":{"docs":{},"生":{"docs":{},"收":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{},"后":{"docs":{},"方":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"返":{"docs":{},"回":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"则":{"docs":{},"原":{"docs":{},"生":{"docs":{},"会":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"值":{"docs":{},"得":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"确":{"docs":{},"保":{"docs":{},"了":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"在":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"时":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"和":{"docs":{},"接":{"docs":{},"收":{"docs":{},"值":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"值":{"docs":{},"在":{"docs":{},"消":{"docs":{},"息":{"docs":{},"中":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"和":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"进":{"docs":{},"行":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"被":{"docs":{},"启":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"都":{"docs":{},"会":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"明":{"docs":{},"亮":{"docs":{},"的":{"docs":{},"深":{"docs":{},"青":{"docs":{},"色":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"来":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},"显":{"docs":{},"示":{"docs":{},"为":{"docs":{},"浅":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"周":{"docs":{},"围":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"深":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"框":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"试":{"docs":{},"布":{"docs":{},"局":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},",":{"docs":{},"关":{"docs":{},"键":{"docs":{},"要":{"docs":{},"看":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"字":{"docs":{},"段":{"docs":{},"。":{"docs":{},"约":{"docs":{},"束":{"docs":{},"沿":{"docs":{},"着":{"docs":{},"树":{"docs":{},"向":{"docs":{},"下":{"docs":{},"传":{"docs":{},"递":{"docs":{},",":{"docs":{},"尺":{"docs":{},"寸":{"docs":{},"向":{"docs":{},"上":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"一":{"docs":{},"些":{"docs":{},"跨":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"跨":{"docs":{},"路":{"docs":{},"由":{"docs":{},")":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"步":{"docs":{},"时":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"很":{"docs":{},"难":{"docs":{},"胜":{"docs":{},"任":{"docs":{},"了":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"应":{"docs":{},"用":{"docs":{},"语":{"docs":{},"言":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"了":{"docs":{},"让":{"docs":{},"设":{"docs":{},"置":{"docs":{},"实":{"docs":{},"时":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"在":{"docs":{},"语":{"docs":{},"言":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"检":{"docs":{},"测":{"docs":{},"到":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"改":{"docs":{},"变":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"盒":{"docs":{},"子":{"docs":{},"并":{"docs":{},"且":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"都":{"docs":{},"失":{"docs":{},"去":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"时":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"就":{"docs":{},"会":{"docs":{},"收":{"docs":{},"起":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"超":{"docs":{},"过":{"docs":{},"显":{"docs":{},"示":{"docs":{},"视":{"docs":{},"口":{"docs":{},"(":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"则":{"docs":{},"会":{"docs":{},"提":{"docs":{},"示":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"针":{"docs":{},"按":{"docs":{},"下":{"docs":{},"时":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"执":{"docs":{},"行":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"(":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"监":{"docs":{},"听":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"和":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"触":{"docs":{},"发":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"有":{"2":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"左":{"docs":{},"右":{"docs":{},"的":{"docs":{},"延":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"完":{"docs":{},"之":{"docs":{},"后":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"再":{"docs":{},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"以":{"docs":{},"触":{"docs":{},"发":{"docs":{},"双":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"会":{"docs":{},"等":{"docs":{},"一":{"docs":{},"断":{"docs":{},"时":{"docs":{},"间":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"双":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"只":{"docs":{},"监":{"docs":{},"听":{"docs":{},"了":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"没":{"docs":{},"有":{"docs":{},"监":{"docs":{},"听":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"没":{"docs":{},"有":{"docs":{},"延":{"docs":{},"时":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"传":{"docs":{},"递":{"docs":{},"一":{"docs":{},"个":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"职":{"docs":{},"责":{"docs":{},"是":{"docs":{},"创":{"docs":{},"建":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"无":{"docs":{},"法":{"docs":{},"满":{"docs":{},"足":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"了":{"docs":{},"共":{"docs":{},"享":{"docs":{},"代":{"docs":{},"码":{"docs":{},"需":{"docs":{},"要":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"些":{"docs":{},"通":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"有":{"docs":{},"三":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"、":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"和":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"分":{"docs":{},"别":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"三":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"特":{"docs":{},"点":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"章":{"docs":{},"节":{"docs":{},"中":{"docs":{},"则":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"点":{"docs":{},"击":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"时":{"docs":{},",":{"docs":{},"两":{"docs":{},"个":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"都":{"docs":{},"会":{"docs":{},"旋":{"docs":{},"转":{"1":{"docs":{},"/":{"5":{"docs":{},"圈":{"docs":{},",":{"docs":{},"但":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"的":{"docs":{},"速":{"docs":{},"度":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"己":{"docs":{},"运":{"docs":{},"行":{"docs":{},"一":{"docs":{},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"改":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"设":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"中":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"进":{"docs":{},"度":{"docs":{},",":{"docs":{},"取":{"docs":{},"值":{"docs":{},"范":{"docs":{},"围":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"字":{"docs":{},"体":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"语":{"docs":{},"言":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"d":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"即":{"docs":{},"一":{"docs":{},"个":{"docs":{},"物":{"docs":{},"理":{"docs":{},"相":{"docs":{},"许":{"docs":{},"显":{"docs":{},"示":{"docs":{},"多":{"docs":{},"少":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"数":{"docs":{},"字":{"docs":{},"越":{"docs":{},"大":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"就":{"docs":{},"越":{"docs":{},"精":{"docs":{},"细":{"docs":{},"保":{"docs":{},"真":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"\"":{"docs":{},"指":{"docs":{},"令":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"包":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"大":{"docs":{},"小":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"空":{"docs":{},"间":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"(":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},")":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"保":{"docs":{},"存":{"docs":{},"?":{"docs":{},"对":{"docs":{},"于":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"子":{"docs":{},"类":{"docs":{},"来":{"docs":{},"说":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"类":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"是":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"进":{"docs":{},"行":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"在":{"docs":{},"决":{"docs":{},"定":{"docs":{},"重":{"docs":{},"新":{"docs":{},"创":{"docs":{},"建":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"前":{"docs":{},"会":{"docs":{},"先":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"复":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"位":{"docs":{},"置":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"新":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"与":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"否":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"就":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"强":{"docs":{},"制":{"docs":{},"更":{"docs":{},"新":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"当":{"docs":{},"前":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"在":{"docs":{},"下":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"中":{"docs":{},"重":{"docs":{},"建":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"在":{"docs":{},"内":{"docs":{},"部":{"docs":{},"也":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"其":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"结":{"docs":{},"构":{"docs":{},"与":{"docs":{},"之":{"docs":{},"前":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"树":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"进":{"docs":{},"行":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"在":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"前":{"docs":{},"会":{"docs":{},"先":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"以":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"树":{"docs":{},"上":{"docs":{},"相":{"docs":{},"同":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"更":{"docs":{},"新":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"对":{"docs":{},"应":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"复":{"docs":{},"用":{"docs":{},"旧":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"新":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"。":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"判":{"docs":{},"断":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"与":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"和":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"否":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"时":{"docs":{},"相":{"docs":{},"等":{"docs":{},"就":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"这":{"docs":{},"个":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"强":{"docs":{},"制":{"docs":{},"更":{"docs":{},"新":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"避":{"docs":{},"免":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"祖":{"docs":{},"先":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"决":{"docs":{},"定":{"docs":{},"要":{"docs":{},"移":{"docs":{},"除":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}},"然":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"并":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"来":{"docs":{},"存":{"docs":{},"储":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"所":{"docs":{},"有":{"docs":{},"和":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"存":{"docs":{},"储":{"docs":{},"到":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"就":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"指":{"docs":{},"向":{"docs":{},"兄":{"docs":{},"弟":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"和":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"也":{"docs":{},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"它":{"docs":{},"们":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"对":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"。":{"docs":{},"再":{"docs":{},"比":{"docs":{},"如":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"区":{"docs":{},"域":{"docs":{},"大":{"docs":{},"小":{"docs":{},"改":{"docs":{},"变":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"您":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"您":{"docs":{},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"或":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"会":{"docs":{},"看":{"docs":{},"到":{"docs":{},"启":{"docs":{},"动":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"打":{"docs":{},"开":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"完":{"docs":{},"全":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"。":{"docs":{},"在":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"以":{"docs":{},"可":{"docs":{},"视":{"docs":{},"方":{"docs":{},"式":{"docs":{},"调":{"docs":{},"试":{"docs":{},"布":{"docs":{},"局":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"将":{"docs":{},"这":{"docs":{},"种":{"docs":{},"网":{"docs":{},"格":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"在":{"docs":{},"非":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"上":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"访":{"docs":{},"问":{"docs":{},"其":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"取":{"docs":{},"语":{"docs":{},"义":{"docs":{},"树":{"docs":{},"(":{"docs":{},"呈":{"docs":{},"现":{"docs":{},"给":{"docs":{},"系":{"docs":{},"统":{"docs":{},"可":{"docs":{},"访":{"docs":{},"问":{"docs":{},"性":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"树":{"docs":{},")":{"docs":{},"的":{"docs":{},"转":{"docs":{},"储":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},",":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"的":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"访":{"docs":{},"问":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"补":{"docs":{},"充":{"docs":{},"此":{"docs":{},"文":{"docs":{},"档":{"docs":{},"?":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"《":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"战":{"docs":{},"》":{"docs":{},"开":{"docs":{},"源":{"docs":{},"项":{"docs":{},"目":{"docs":{},"\"":{"docs":{},"贡":{"docs":{},"献":{"docs":{},"须":{"docs":{},"知":{"docs":{},"\"":{"docs":{},"。":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"找":{"docs":{},"到":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"者":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"它":{"docs":{},"是":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"打":{"docs":{},"开":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.021505376344086023}},"(":{"docs":{},"或":{"docs":{},"创":{"docs":{},"建":{"docs":{},")":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"`":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"`":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"首":{"docs":{},"选":{"docs":{},"项":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"终":{"docs":{},"端":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"这":{"docs":{},"些":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}},"包":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"指":{"docs":{},"定":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"放":{"docs":{},"置":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"按":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"的":{"docs":{},"确":{"docs":{},"定":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"针":{"docs":{},"按":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"以":{"docs":{},"及":{"docs":{},"该":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"事":{"docs":{},"件":{"docs":{},")":{"docs":{},"然":{"docs":{},"后":{"docs":{},"被":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"由":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},"发":{"docs":{},"现":{"docs":{},"的":{"docs":{},"最":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"从":{"docs":{},"那":{"docs":{},"里":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"从":{"docs":{},"最":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"分":{"docs":{},"发":{"docs":{},"到":{"docs":{},"到":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"根":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"上":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"机":{"docs":{},"制":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},",":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"对":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"法":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"将":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"与":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"要":{"docs":{},"的":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"读":{"docs":{},"者":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},"都":{"docs":{},"包":{"docs":{},"含":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"东":{"docs":{},"西":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"随":{"docs":{},"机":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"“":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"”":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"数":{"docs":{},"千":{"docs":{},"个":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"英":{"docs":{},"文":{"docs":{},"单":{"docs":{},"词":{"docs":{},"以":{"docs":{},"及":{"docs":{},"一":{"docs":{},"些":{"docs":{},"实":{"docs":{},"用":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"找":{"docs":{},"到":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"这":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"确":{"docs":{},"定":{"docs":{},"其":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"和":{"docs":{},"是":{"docs":{},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"在":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"将":{"docs":{},"路":{"docs":{},"由":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"1":{"0":{"docs":{},"n":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"用":{"docs":{},"于":{"docs":{},"保":{"docs":{},"存":{"docs":{},"从":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}},"将":{"docs":{},"通":{"docs":{},"过":{"docs":{},"创":{"docs":{},"建":{"docs":{},"三":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"示":{"docs":{},"例":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"、":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"b":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"通":{"docs":{},"道":{"docs":{},"上":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"通":{"docs":{},"过":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"标":{"docs":{},"识":{"docs":{},"符":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},"。":{"docs":{},"此":{"docs":{},"代":{"docs":{},"码":{"docs":{},"和":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"完":{"docs":{},"全":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"电":{"docs":{},"池":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"电":{"docs":{},"池":{"docs":{},"电":{"docs":{},"量":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"整":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"流":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}},"在":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"里":{"docs":{},"创":{"docs":{},"建":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"确":{"docs":{},"保":{"docs":{},"使":{"docs":{},"用":{"docs":{},"与":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}},"覆":{"docs":{},"盖":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"库":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"指":{"docs":{},"定":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"和":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"来":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},",":{"docs":{},"修":{"docs":{},"改":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"回":{"docs":{},"调":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"看":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"和":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"为":{"docs":{},"入":{"docs":{},"口":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"如":{"docs":{},"何":{"docs":{},"支":{"docs":{},"持":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"值":{"docs":{},":":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"了":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},".":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}},"语":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"到":{"docs":{},"原":{"docs":{},"理":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"从":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"原":{"docs":{},"理":{"docs":{},"谈":{"docs":{},"起":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"知":{"docs":{},"道":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"(":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},")":{"docs":{},"是":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"个":{"docs":{},"物":{"docs":{},"理":{"docs":{},"显":{"docs":{},"示":{"docs":{},"单":{"docs":{},"元":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"元":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"称":{"docs":{},"之":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"物":{"docs":{},"理":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"出":{"docs":{},"多":{"docs":{},"种":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"成":{"docs":{},"相":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"物":{"docs":{},"理":{"docs":{},"像":{"docs":{},"素":{"docs":{},"点":{"docs":{},"上":{"docs":{},"显":{"docs":{},"示":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"构":{"docs":{},"成":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"并":{"docs":{},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"种":{"docs":{},"平":{"docs":{},"台":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"访":{"docs":{},"问":{"docs":{},"设":{"docs":{},"备":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"docs":{},"的":{"docs":{},"常":{"docs":{},"用":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"该":{"docs":{},"类":{"docs":{},"当":{"docs":{},"前":{"docs":{},"支":{"docs":{},"持":{"docs":{},"访":{"docs":{},"问":{"docs":{},"两":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},"位":{"docs":{},"置":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.2},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":10}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.2},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":10}}}}}}}}}}},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"简":{"docs":{},"介":{"docs":{"chapter11/":{"ref":"chapter11/","tf":0.2},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":10.00438596491228}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}},"包":{"docs":{},":":{"docs":{},"一":{"docs":{},"种":{"docs":{},"专":{"docs":{},"用":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"包":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"用":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"针":{"docs":{},"对":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"或":{"docs":{},"k":{"docs":{},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"和":{"docs":{},"针":{"docs":{},"对":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"o":{"docs":{},"c":{"docs":{},"或":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"特":{"docs":{},"定":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"插":{"docs":{},"件":{"docs":{},"包":{"docs":{},"括":{"docs":{},"原":{"docs":{},"生":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"是":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"插":{"docs":{},"件":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"槽":{"docs":{},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"插":{"docs":{},"槽":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"预":{"docs":{},"留":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"和":{"docs":{},"位":{"docs":{},"置":{"docs":{},"是":{"docs":{},"由":{"docs":{},"其":{"docs":{},"它":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"接":{"docs":{},"入":{"docs":{},"或":{"docs":{},"占":{"docs":{},"据":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"位":{"docs":{},"置":{"docs":{},"在":{"docs":{},"软":{"docs":{},"件":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"预":{"docs":{},"留":{"docs":{},"变":{"docs":{},"量":{"docs":{},"来":{"docs":{},"表":{"docs":{},"示":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"正":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"预":{"docs":{},"留":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"它":{"docs":{},"正":{"docs":{},"是":{"docs":{},"由":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}},"绘":{"docs":{},"制":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"多":{"docs":{},"种":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}},"文":{"docs":{},"件":{"docs":{},"数":{"docs":{},"组":{"docs":{},"上":{"docs":{},"传":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}},"查":{"docs":{},"看":{"docs":{},"“":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"”":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"中":{"docs":{},"的":{"docs":{},"输":{"docs":{},"出":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"向":{"docs":{},"上":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"你":{"docs":{},"电":{"docs":{},"脑":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"高":{"docs":{},"清":{"docs":{},"屏":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"设":{"docs":{},"备":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"的":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"动":{"docs":{},"画":{"docs":{},"可":{"docs":{},"以":{"docs":{},"反":{"docs":{},"向":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"中":{"docs":{},"间":{"docs":{},"切":{"docs":{},"换":{"docs":{},"方":{"docs":{},"向":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"除":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"之":{"docs":{},"外":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"类":{"docs":{},"型":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\\":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"注":{"docs":{},"意":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"渠":{"docs":{},"道":{"docs":{},"版":{"docs":{},"本":{"docs":{},"会":{"docs":{},"不":{"docs":{},"停":{"docs":{},"变":{"docs":{},"动":{"docs":{},",":{"docs":{},"请":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"官":{"docs":{},"网":{"docs":{},"为":{"docs":{},"准":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"在":{"docs":{},"中":{"docs":{},"国":{"docs":{},"大":{"docs":{},"陆":{"docs":{},"地":{"docs":{},"区":{"docs":{},",":{"docs":{},"要":{"docs":{},"想":{"docs":{},"正":{"docs":{},"常":{"docs":{},"获":{"docs":{},"取":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"列":{"docs":{},"表":{"docs":{},"或":{"docs":{},"下":{"docs":{},"载":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"翻":{"docs":{},"墙":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"很":{"docs":{},"多":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"或":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"构":{"docs":{},"建":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"其":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"才":{"docs":{},"是":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"叙":{"docs":{},"述":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"说":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"属":{"docs":{},"于":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"么":{"docs":{},"描":{"docs":{},"述":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"才":{"docs":{},"是":{"docs":{},"本":{"docs":{},"质":{"docs":{},"。":{"docs":{},"读":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"其":{"docs":{},"实":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"就":{"docs":{},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"组":{"docs":{},"合":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"本":{"docs":{},"身":{"docs":{},"并":{"docs":{},"不":{"docs":{},"关":{"docs":{},"联":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"官":{"docs":{},"方":{"docs":{},"分":{"docs":{},"类":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"其":{"docs":{},"分":{"docs":{},"类":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"和":{"docs":{},"对":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"区":{"docs":{},"分":{"docs":{},"记":{"docs":{},"忆":{"docs":{},"。":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"示":{"docs":{},"例":{"docs":{},"可":{"docs":{},"能":{"docs":{},"随":{"docs":{},"着":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"版":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{},"而":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"会":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"全":{"docs":{},"部":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"对":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"产":{"docs":{},"生":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"不":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"为":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"所":{"docs":{},"指":{"docs":{},"定":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"向":{"docs":{},"根":{"docs":{},"去":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"而":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"是":{"docs":{},"在":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"行":{"docs":{},"。":{"docs":{},"正":{"docs":{},"确":{"docs":{},"的":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"回":{"docs":{},"调":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"除":{"docs":{},"了":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"认":{"docs":{},"证":{"docs":{},"之":{"docs":{},"外":{"docs":{},"还":{"docs":{},"有":{"docs":{},":":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},"、":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"认":{"docs":{},"证":{"docs":{},"、":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"格":{"docs":{},"式":{"docs":{},"必":{"docs":{},"须":{"docs":{},"为":{"docs":{},"p":{"docs":{},"e":{"docs":{},"m":{"docs":{},"或":{"docs":{},"p":{"docs":{},"k":{"docs":{},"c":{"docs":{},"s":{"1":{"2":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"证":{"docs":{},"书":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{},"p":{"docs":{},"k":{"docs":{},"c":{"docs":{},"s":{"1":{"2":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"密":{"docs":{},"码":{"docs":{},"传":{"docs":{},"入":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"则":{"docs":{},"会":{"docs":{},"在":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"证":{"docs":{},"书":{"docs":{},"密":{"docs":{},"码":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"k":{"docs":{},"c":{"docs":{},"s":{"1":{"2":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"会":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"内":{"docs":{},"部":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"此":{"docs":{},"回":{"docs":{},"调":{"docs":{},"配":{"docs":{},"置":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"会":{"docs":{},"对":{"docs":{},"整":{"docs":{},"个":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"想":{"docs":{},"针":{"docs":{},"对":{"docs":{},"某":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"请":{"docs":{},"求":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{},"或":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"和":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"是":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},",":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"是":{"docs":{},"原":{"docs":{},"生":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"只":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"封":{"docs":{},"装":{"docs":{},"库":{"docs":{},",":{"docs":{},"它":{"docs":{},"并":{"docs":{},"不":{"docs":{},"像":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"那":{"docs":{},"样":{"docs":{},"需":{"docs":{},"要":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"和":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"器":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"损":{"docs":{},"失":{"docs":{},"。":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"有":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"两":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"的":{"docs":{},"根":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"见":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"完":{"docs":{},"成":{"docs":{},"了":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"存":{"docs":{},"在":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"一":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"当":{"docs":{},"你":{"docs":{},"根":{"docs":{},"据":{"docs":{},"上":{"docs":{},"述":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"依":{"docs":{},"旧":{"docs":{},"无":{"docs":{},"法":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"并":{"docs":{},"有":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"本":{"docs":{},"书":{"docs":{},"并":{"docs":{},"非":{"docs":{},"专":{"docs":{},"门":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"书":{"docs":{},"籍":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"本":{"docs":{},"章":{"docs":{},"主":{"docs":{},"要":{"docs":{},"会":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"语":{"docs":{},"法":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"更":{"docs":{},"多":{"docs":{},"了":{"docs":{},"解":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"官":{"docs":{},"网":{"docs":{},"学":{"docs":{},"习":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"上":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"料":{"docs":{},"已":{"docs":{},"经":{"docs":{},"很":{"docs":{},"多":{"docs":{},"了":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"加":{"docs":{},"上":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"继":{"docs":{},"承":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"重":{"docs":{},"写":{"docs":{},"其":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"包":{"docs":{},"含":{"docs":{},"@":{"docs":{},"m":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"标":{"docs":{},"注":{"docs":{},"的":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"都":{"docs":{},"要":{"docs":{},"在":{"docs":{},"子":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"父":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"需":{"docs":{},"先":{"docs":{},"进":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"导":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"并":{"docs":{},"非":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"特":{"docs":{},"有":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"后":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"含":{"docs":{},"义":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"来":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"较":{"docs":{},"少":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"规":{"docs":{},"律":{"docs":{},",":{"docs":{},"并":{"docs":{},"非":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"像":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"也":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"后":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{},"(":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"取":{"docs":{},"消":{"docs":{},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{},"计":{"docs":{},"时":{"docs":{},"器":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},"单":{"docs":{},"例":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"做":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"变":{"docs":{},"量":{"docs":{},"+":{"docs":{},"工":{"docs":{},"厂":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"注":{"docs":{},"释":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"工":{"docs":{},"作":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"是":{"docs":{},"根":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"监":{"docs":{},"听":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"来":{"docs":{},"获":{"docs":{},"得":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"中":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"册":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"在":{"docs":{},"此":{"docs":{},"类":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"再":{"docs":{},"触":{"docs":{},"发":{"docs":{},"新":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"会":{"docs":{},"导":{"docs":{},"致":{"docs":{},"循":{"docs":{},"环":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}},"释":{"1":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"工":{"docs":{},"具":{"docs":{},"从":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"运":{"docs":{},"行":{"docs":{},"生":{"docs":{},"成":{"docs":{},"命":{"docs":{},"令":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"此":{"docs":{},"文":{"docs":{},"件":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{},"注":{"docs":{},"释":{"2":{"docs":{},"处":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"文":{"docs":{},"件":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"是":{"docs":{},"同":{"docs":{},"时":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},"处":{"docs":{},"和":{"docs":{},"上":{"docs":{},"一":{"docs":{},"节":{"docs":{},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"我":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"添":{"docs":{},"加":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"相":{"docs":{},"关":{"docs":{},"工":{"docs":{},"具":{"docs":{},"到":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"路":{"docs":{},"径":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"到":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"\"":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"\"":{"docs":{},"示":{"docs":{},"例":{"docs":{},"的":{"docs":{},"首":{"docs":{},"页":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"而":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"显":{"docs":{},"示":{"docs":{},"多":{"docs":{},"种":{"docs":{},"样":{"docs":{},"式":{"docs":{},"(":{"docs":{},"富":{"docs":{},"文":{"docs":{},"本":{"docs":{},")":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"表":{"docs":{},"头":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"后":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"点":{"docs":{},"击":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"从":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"挪":{"docs":{},"到":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"可":{"docs":{},"以":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"它":{"docs":{},"在":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"子":{"docs":{},"树":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"会":{"docs":{},"响":{"docs":{},"应":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"日":{"docs":{},"志":{"docs":{},"不":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{},"但":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"换":{"docs":{},"成":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"两":{"docs":{},"个":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"。":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"双":{"docs":{},"击":{"docs":{},"、":{"docs":{},"长":{"docs":{},"按":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"“":{"docs":{},"获":{"docs":{},"取":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"请":{"docs":{},"求":{"docs":{},"百":{"docs":{},"度":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"请":{"docs":{},"求":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"返":{"docs":{},"回":{"docs":{},"内":{"docs":{},"容":{"docs":{},"显":{"docs":{},"示":{"docs":{},"出":{"docs":{},"来":{"docs":{},"并":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"打":{"docs":{},"印":{"docs":{},"响":{"docs":{},"应":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"赏":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"请":{"docs":{},"作":{"docs":{},"者":{"docs":{},"喝":{"docs":{},"杯":{"docs":{},"咖":{"docs":{},"啡":{"docs":{},",":{"docs":{},"鼓":{"docs":{},"励":{"docs":{},"继":{"docs":{},"续":{"docs":{},"创":{"docs":{},"作":{"docs":{},"~":{"docs":{},"~":{"docs":{"todo.html":{"ref":"todo.html","tf":0.2}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},"则":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"本":{"docs":{},"会":{"docs":{},"随":{"docs":{},"机":{"docs":{},"排":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}},"或":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}},"热":{"docs":{},"重":{"docs":{},"载":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"再":{"docs":{},"次":{"docs":{},"点":{"docs":{},"击":{"docs":{},"“":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"任":{"docs":{},"何":{"docs":{},"文":{"docs":{},"本":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},"与":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"对":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"加":{"docs":{},"深":{"docs":{},"读":{"docs":{},"者":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"来":{"docs":{},"演":{"docs":{},"示":{"docs":{},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"。":{"docs":{},"在":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"加":{"1":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"要":{"docs":{},"保":{"docs":{},"存":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"的":{"docs":{},"数":{"docs":{},"值":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"应":{"docs":{},"继":{"docs":{},"承":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"硬":{"docs":{},"件":{"docs":{},"加":{"docs":{},"速":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"绘":{"docs":{},"图":{"docs":{},"基":{"docs":{},"本":{"docs":{},"原":{"docs":{},"理":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}},"确":{"docs":{},"保":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"许":{"docs":{},"可":{"docs":{},"协":{"docs":{},"议":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"打":{"docs":{},"开":{"docs":{},"一":{"docs":{},"次":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"或":{"docs":{},"通":{"docs":{},"过":{"docs":{},"命":{"docs":{},"令":{"docs":{},"s":{"docs":{},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"没":{"docs":{},"有":{"docs":{},"错":{"docs":{},"误":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.008298755186721992}}}}}}}}}}}}}}}}},"与":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"您":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{},"空":{"docs":{},"间":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}},"等":{"docs":{},"待":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"创":{"docs":{},"建":{"docs":{},"继":{"docs":{},"续":{"docs":{},",":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"回":{"docs":{},"调":{"docs":{},"。":{"docs":{},"它":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"是":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"与":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"要":{"docs":{},"求":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}},"可":{"docs":{},"随":{"docs":{},"时":{"docs":{},"清":{"docs":{},"除":{"docs":{},"的":{"docs":{},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},"(":{"docs":{},"缓":{"docs":{},"存":{"docs":{},")":{"docs":{},"。":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"应":{"docs":{},"于":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"力":{"docs":{},"调":{"docs":{},"用":{"docs":{"todo.html":{"ref":"todo.html","tf":10}}}}}},"字":{"docs":{},"体":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"变":{"docs":{},"化":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"简":{"docs":{},"单":{"docs":{},"演":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"库":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"和":{"docs":{},"其":{"docs":{},"他":{"docs":{},"值":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"由":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"其":{"docs":{},"它":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}},"是":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"组":{"docs":{},"件":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},",":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"优":{"docs":{},"先":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"通":{"docs":{},"过":{"docs":{},"组":{"docs":{},"合":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"而":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"和":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"本":{"docs":{},"质":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"后":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}},"一":{"docs":{},"下":{"docs":{},",":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}},"应":{"docs":{},"用":{"docs":{},"目":{"docs":{},"录":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"当":{"docs":{},"前":{"docs":{},"区":{"docs":{},"域":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"就":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"界":{"docs":{},"面":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"达":{"docs":{},"到":{"docs":{},"切":{"docs":{},"换":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"主":{"docs":{},"动":{"docs":{},"去":{"docs":{},"监":{"docs":{},"听":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"有":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"监":{"docs":{},"听":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"时":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"失":{"docs":{},"去":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"时":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"菜":{"docs":{},"单":{"docs":{},"下":{"docs":{},"设":{"docs":{},"置":{"docs":{},"设":{"docs":{},"备":{"docs":{},"比":{"docs":{},"例":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"正":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"6":{"4":{"docs":{},"位":{"docs":{},"设":{"docs":{},"备":{"docs":{},"(":{"docs":{},"i":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"图":{"docs":{},"标":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}},"文":{"docs":{},"本":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"要":{"docs":{},"为":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"准":{"docs":{},"备":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"并":{"docs":{},"测":{"docs":{},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"按":{"docs":{},"照":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"备":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"并":{"docs":{},"测":{"docs":{},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},"并":{"docs":{},"测":{"docs":{},"试":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"按":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"升":{"docs":{},"级":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"并":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"您":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"必":{"docs":{},"须":{"docs":{},"满":{"docs":{},"足":{"docs":{},"以":{"docs":{},"下":{"docs":{},"最":{"docs":{},"低":{"docs":{},"要":{"docs":{},"求":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.003189792663476874}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"安":{"docs":{},"装":{"docs":{},"到":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"些":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"帐":{"docs":{},"户":{"docs":{},",":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"(":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"启":{"docs":{},"动":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"(":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}},"字":{"docs":{},"体":{"docs":{},"打":{"docs":{},"文":{"docs":{},"件":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},",":{"docs":{},"和":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"它":{"docs":{},"资":{"docs":{},"源":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"要":{"docs":{},"先":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"它":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"您":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"开":{"docs":{},"发":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"您":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}},"看":{"docs":{},"您":{"docs":{},"的":{"docs":{},"更":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}},"想":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"必":{"docs":{},"须":{"docs":{},"先":{"docs":{},"提":{"docs":{},"供":{"docs":{},"并":{"docs":{},"注":{"docs":{},"册":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"表":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"称":{"docs":{},"来":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"给":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"包":{"docs":{},"含":{"docs":{},"第":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"像":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"它":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"常":{"docs":{},"规":{"docs":{},"和":{"docs":{},"两":{"docs":{},"个":{"docs":{},"开":{"docs":{},"发":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"。":{"docs":{},"简":{"docs":{},"而":{"docs":{},"言":{"docs":{},"之":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"是":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"工":{"docs":{},"具":{"docs":{},"、":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"和":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"项":{"docs":{},"相":{"docs":{},"似":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"解":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"导":{"docs":{},"致":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"或":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"别":{"docs":{},"设":{"docs":{},"置":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"和":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"首":{"docs":{},"先":{"docs":{},"启":{"docs":{},"用":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"启":{"docs":{},"用":{"docs":{},"系":{"docs":{},"统":{"docs":{},"辅":{"docs":{},"助":{"docs":{},"工":{"docs":{},"具":{"docs":{},"或":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"g":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"提":{"docs":{},"供":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"声":{"docs":{},"明":{"docs":{},"位":{"docs":{},"于":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"包":{"docs":{},"中":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"其":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"传":{"docs":{},"入":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"在":{"5":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"内":{"docs":{},"生":{"docs":{},"成":{"docs":{},"从":{"0":{"docs":{},"到":{"2":{"5":{"5":{"docs":{},"的":{"docs":{},"整":{"docs":{},"数":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"发":{"docs":{},"布":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"性":{"docs":{},"能":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"和":{"docs":{},"测":{"docs":{},"量":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"任":{"docs":{},"意":{"docs":{},"代":{"docs":{},"码":{"docs":{},"段":{"docs":{},"的":{"docs":{},"w":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"/":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"出":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"/":{"docs":{},"结":{"docs":{},"束":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"切":{"docs":{},"换":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"布":{"docs":{},"尔":{"docs":{},"值":{"docs":{},"以":{"docs":{},"将":{"docs":{},"帧":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"打":{"docs":{},"印":{"docs":{},"到":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"集":{"docs":{},"有":{"docs":{},"关":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"所":{"docs":{},"需":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"得":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"性":{"docs":{},"能":{"docs":{},"图":{"docs":{},",":{"docs":{},"请":{"docs":{},"将":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"'":{"docs":{},";":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"储":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"库":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"请":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"多":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"将":{"docs":{},"该":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"该":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"这":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"`":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"检":{"docs":{},"索":{"docs":{},"由":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"压":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"到":{"docs":{},"你":{"docs":{},"想":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}},"依":{"docs":{},"赖":{"docs":{},"冲":{"docs":{},"突":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}},"释":{"docs":{},":":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{},"居":{"docs":{},"中":{"docs":{},"对":{"docs":{},"齐":{"docs":{},";":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"值":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"两":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"是":{"docs":{},"无":{"docs":{},"意":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"从":{"docs":{},"左":{"docs":{},"往":{"docs":{},"右":{"docs":{},"显":{"docs":{},"示":{"docs":{},";":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"设":{"docs":{},"置":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"会":{"docs":{},"从":{"docs":{},"右":{"docs":{},"向":{"docs":{},"左":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"排":{"docs":{},"列":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"表":{"docs":{},"示":{"docs":{},"左":{"docs":{},"对":{"docs":{},"齐":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"显":{"docs":{},"示":{"docs":{},"结":{"docs":{},"果":{"docs":{},"就":{"docs":{},"是":{"docs":{},"图":{"docs":{},"中":{"docs":{},"第":{"docs":{},"三":{"docs":{},"行":{"docs":{},"的":{"docs":{},"样":{"docs":{},"子":{"docs":{},";":{"docs":{},"第":{"docs":{},"四":{"docs":{},"个":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"测":{"docs":{},"试":{"docs":{},"的":{"docs":{},"是":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"两":{"docs":{},"个":{"docs":{},"子":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"字":{"docs":{},"体":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"其":{"docs":{},"高":{"docs":{},"度":{"docs":{},"也":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"值":{"docs":{},"为":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"即":{"docs":{},"从":{"docs":{},"低":{"docs":{},"向":{"docs":{},"顶":{"docs":{},"排":{"docs":{},"列":{"docs":{},",":{"docs":{},"而":{"docs":{},"此":{"docs":{},"时":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"值":{"docs":{},"为":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"表":{"docs":{},"示":{"docs":{},"底":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"让":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"继":{"docs":{},"续":{"docs":{},"运":{"docs":{},"行":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"简":{"docs":{},"单":{"docs":{},"起":{"docs":{},"见":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"前":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"简":{"docs":{},"化":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{"chapter12/":{"ref":"chapter12/","tf":0.25},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":10.006896551724138}}}}}}}}}}},"该":{"docs":{},"命":{"docs":{},"令":{"docs":{},"会":{"docs":{},"同":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"你":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"并":{"docs":{},"在":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"报":{"docs":{},"告":{"docs":{},"。":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"每":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"带":{"docs":{},"“":{"docs":{},"➕":{"docs":{},"”":{"docs":{},"号":{"docs":{},"的":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"中":{"docs":{},"央":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},"就":{"docs":{},"会":{"docs":{},"加":{"1":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"该":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"来":{"docs":{},"填":{"docs":{},"充":{"docs":{},"小":{"docs":{},"部":{"docs":{},"件":{"docs":{},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"仅":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},"更":{"docs":{},"新":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"如":{"docs":{},"果":{"docs":{},"它":{"docs":{},"处":{"docs":{},"于":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"该":{"docs":{},"图":{"docs":{},"将":{"docs":{},"停":{"docs":{},"止":{"docs":{},"移":{"docs":{},"动":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},"用":{"docs":{},"橙":{"docs":{},"色":{"docs":{},"或":{"docs":{},"轮":{"docs":{},"廓":{"docs":{},"线":{"docs":{},"标":{"docs":{},"出":{"docs":{},"每":{"docs":{},"个":{"docs":{},"层":{"docs":{},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"标":{"docs":{},"志":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"根":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"有":{"docs":{},"用":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"它":{"docs":{},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"主":{"docs":{},"题":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"为":{"docs":{},"固":{"docs":{},"定":{"docs":{},"数":{"docs":{},"量":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"为":{"docs":{},"固":{"docs":{},"定":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"用":{"docs":{},"于":{"docs":{},"添":{"docs":{},"加":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"创":{"docs":{},"建":{"docs":{},"根":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"它":{"docs":{},"不":{"docs":{},"是":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"允":{"docs":{},"许":{"docs":{},"我":{"docs":{},"们":{"docs":{},"既":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"听":{"docs":{},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"又":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"类":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"础":{"docs":{},"类":{"docs":{},"。":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"监":{"docs":{},"听":{"docs":{},"来":{"docs":{},"自":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"与":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"单":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"响":{"docs":{},"应":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"着":{"docs":{},"时":{"docs":{},"间":{"docs":{},"推":{"docs":{},"移":{"docs":{},"传":{"docs":{},"递":{"docs":{},"很":{"docs":{},"多":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"延":{"docs":{},"长":{"docs":{},"这":{"docs":{},"一":{"docs":{},"点":{"docs":{},"以":{"docs":{},"保":{"docs":{},"持":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"电":{"docs":{},"量":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"可":{"docs":{},"能":{"docs":{},"失":{"docs":{},"败":{"docs":{},"(":{"docs":{},"平":{"docs":{},"台":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"平":{"docs":{},"台":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"在":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"调":{"docs":{},"用":{"docs":{},"包":{"docs":{},"装":{"docs":{},"在":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"跟":{"docs":{},"踪":{"docs":{},"的":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"要":{"docs":{},"切":{"docs":{},"换":{"docs":{},"分":{"docs":{},"支":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"性":{"docs":{},"能":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"输":{"docs":{},"出":{"docs":{},"保":{"docs":{},"存":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"工":{"docs":{},"程":{"docs":{},"目":{"docs":{},"录":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"。":{"docs":{},"输":{"docs":{},"出":{"docs":{},"列":{"docs":{},"出":{"docs":{},"了":{"docs":{},"从":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"这":{"docs":{},"些":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"事":{"docs":{},"件":{"docs":{},"(":{"docs":{},"以":{"docs":{},"微":{"docs":{},"秒":{"docs":{},"捕":{"docs":{},"获":{"docs":{},")":{"docs":{},"所":{"docs":{},"用":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"到":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"输":{"docs":{},"入":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.006379585326953748}},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"框":{"docs":{},"和":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":10}}}}},"内":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"文":{"docs":{},"本":{"docs":{},"在":{"docs":{},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},"及":{"docs":{},"表":{"docs":{},"单":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"运":{"docs":{},"行":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.009569377990430622}},"启":{"docs":{},"动":{"docs":{},"你":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.00816326530612245},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},"(":{"docs":{},"彩":{"docs":{},"色":{"docs":{},")":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}},"上":{"docs":{},"面":{"docs":{},"两":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"图":{"docs":{},"片":{"docs":{},"加":{"docs":{},"载":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"显":{"docs":{},"示":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"界":{"docs":{},"面":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}},"点":{"docs":{},"击":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"则":{"docs":{},"可":{"docs":{},"以":{"docs":{},"切":{"docs":{},"换":{"docs":{},"主":{"docs":{},"题":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}},"一":{"docs":{},"切":{"docs":{},"都":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"好":{"docs":{},"多":{"docs":{},"了":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"吗":{"docs":{},"?":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754}}}}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"程":{"docs":{},"序":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"此":{"docs":{},"命":{"docs":{},"令":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"将":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"通":{"docs":{},"过":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"真":{"docs":{},"机":{"docs":{},"设":{"docs":{},"备":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"的":{"docs":{},"设":{"docs":{},"备":{"docs":{},"名":{"docs":{},"是":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"设":{"docs":{},"备":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}},"不":{"docs":{},"上":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}},"到":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}},"追":{"docs":{},"加":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.007974481658692184},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.016597510373443983}},"一":{"docs":{},"个":{"docs":{},"设":{"docs":{},"备":{"docs":{},"并":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"运":{"docs":{},"行":{"docs":{},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"设":{"docs":{},"备":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"列":{"docs":{},"出":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"检":{"docs":{},"查":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"器":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},"中":{"docs":{},"再":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"能":{"docs":{},"避":{"docs":{},"免":{"docs":{},"层":{"docs":{},"层":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"还":{"docs":{},"是":{"docs":{},"有":{"docs":{},"一":{"docs":{},"层":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"一":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"能":{"docs":{},"够":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"像":{"docs":{},"写":{"docs":{},"同":{"docs":{},"步":{"docs":{},"代":{"docs":{},"码":{"docs":{},"那":{"docs":{},"样":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"而":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{},"回":{"docs":{},"调":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"肯":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"了":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"直":{"docs":{},"接":{"docs":{},"看":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"解":{"docs":{},"释":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"上":{"docs":{},"传":{"docs":{},"多":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"相":{"docs":{},"信":{"docs":{},"你":{"docs":{},"对":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"应":{"docs":{},"该":{"docs":{},"有":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"初":{"docs":{},"步":{"docs":{},"的":{"docs":{},"印":{"docs":{},"象":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"平":{"docs":{},"时":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"经":{"docs":{},"验":{"docs":{},",":{"docs":{},"结":{"docs":{},"合":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{},"谈":{"docs":{},"一":{"docs":{},"下":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"看":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"有":{"docs":{},"多":{"docs":{},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"是":{"docs":{},"取":{"docs":{},"父":{"docs":{},"子":{"docs":{},"中":{"docs":{},"相":{"docs":{},"应":{"docs":{},"数":{"docs":{},"值":{"docs":{},"较":{"docs":{},"大":{"docs":{},"的":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"这":{"docs":{},"样":{"docs":{},"才":{"docs":{},"能":{"docs":{},"保":{"docs":{},"证":{"docs":{},"父":{"docs":{},"限":{"docs":{},"制":{"docs":{},"与":{"docs":{},"子":{"docs":{},"限":{"docs":{},"制":{"docs":{},"不":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"节":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"网":{"docs":{},"络":{"docs":{},"请":{"docs":{},"求":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"麻":{"docs":{},"烦":{"docs":{},"的":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"事":{"docs":{},"情":{"docs":{},"得":{"docs":{},"我":{"docs":{},"们":{"docs":{},"手":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"再":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"文":{"docs":{},"件":{"docs":{},"上":{"docs":{},"传":{"docs":{},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},"管":{"docs":{},"理":{"docs":{},"等":{"docs":{},"就":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},"。":{"docs":{},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"社":{"docs":{},"区":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"库":{"docs":{},",":{"docs":{},"用":{"docs":{},"它":{"docs":{},"们":{"docs":{},"来":{"docs":{},"发":{"docs":{},"起":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"将":{"docs":{},"会":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"多":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"目":{"docs":{},"前":{"docs":{},"人":{"docs":{},"气":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"库":{"docs":{},"。":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"封":{"docs":{},"装":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"过":{"docs":{},"渡":{"docs":{},"效":{"docs":{},"果":{"docs":{},"来":{"docs":{},"复":{"docs":{},"用":{"docs":{},"动":{"docs":{},"画":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},"放":{"docs":{},"大":{"docs":{},"动":{"docs":{},"画":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"轻":{"docs":{},"松":{"docs":{},"访":{"docs":{},"问":{"docs":{},"主":{"docs":{},"资":{"docs":{},"源":{"docs":{},"包":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},"全":{"docs":{},"局":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"来":{"docs":{},"加":{"docs":{},"载":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"图":{"docs":{},"标":{"docs":{},"就":{"docs":{},"像":{"docs":{},"使":{"docs":{},"用":{"docs":{},"文":{"docs":{},"本":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"需":{"docs":{},"要":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"供":{"docs":{},"每":{"docs":{},"个":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"码":{"docs":{},"点":{"docs":{},",":{"docs":{},"这":{"docs":{},"并":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"不":{"docs":{},"友":{"docs":{},"好":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"专":{"docs":{},"门":{"docs":{},"显":{"docs":{},"示":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"定":{"docs":{},"义":{"docs":{},"背":{"docs":{},"景":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"等":{"docs":{},"。":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"了":{"docs":{},",":{"docs":{},"再":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"失":{"docs":{},"去":{"docs":{},"了":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"静":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{},"语":{"docs":{},"言":{"docs":{},"特":{"docs":{},"性":{"docs":{},":":{"docs":{},"类":{"docs":{},"型":{"docs":{},"安":{"docs":{},"全":{"docs":{},"、":{"docs":{},"自":{"docs":{},"动":{"docs":{},"补":{"docs":{},"全":{"docs":{},"和":{"docs":{},"最":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"变":{"docs":{},"得":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"出":{"docs":{},"错":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"访":{"docs":{},"问":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"或":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"字":{"docs":{},"段":{"docs":{},"时":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"很":{"docs":{},"快":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"字":{"docs":{},"段":{"docs":{},"名":{"docs":{},"打":{"docs":{},"错":{"docs":{},"了":{"docs":{},"。":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"不":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"个":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{},"字":{"docs":{},"段":{"docs":{},"名":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"不":{"docs":{},"会":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"它":{"docs":{},"们":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"与":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"是":{"docs":{},"否":{"docs":{},"选":{"docs":{},"中":{"docs":{},")":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},",":{"docs":{},"但":{"docs":{},"它":{"docs":{},"们":{"docs":{},"却":{"docs":{},"不":{"docs":{},"是":{"docs":{},"自":{"docs":{},"己":{"docs":{},"来":{"docs":{},"维":{"docs":{},"护":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},",":{"docs":{},"再":{"docs":{},"通":{"docs":{},"过":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"给":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"是":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"是":{"docs":{},"否":{"docs":{},"选":{"docs":{},"中":{"docs":{},"本":{"docs":{},"就":{"docs":{},"和":{"docs":{},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},"关":{"docs":{},"联":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"些":{"docs":{},"用":{"docs":{},"户":{"docs":{},"数":{"docs":{},"据":{"docs":{},"也":{"docs":{},"不":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"私":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},"也":{"docs":{},"应":{"docs":{},"该":{"docs":{},"思":{"docs":{},"考":{"docs":{},"一":{"docs":{},"下":{"docs":{},"哪":{"docs":{},"种":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},"最":{"docs":{},"为":{"docs":{},"合":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"所":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"真":{"docs":{},"正":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"直":{"docs":{},"接":{"docs":{},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"获":{"docs":{},"取":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"可":{"docs":{},"以":{"docs":{},"取":{"docs":{},"到":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"再":{"docs":{},"提":{"docs":{},"交":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"能":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"去":{"docs":{},"监":{"docs":{},"听":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"的":{"docs":{},"切":{"docs":{},"换":{"docs":{},"去":{"docs":{},"切":{"docs":{},"换":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"从":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"作":{"docs":{},"为":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"见":{"docs":{},"到":{"docs":{},"。":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"现":{"docs":{},"有":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{"chapter13/":{"ref":"chapter13/","tf":0.16666666666666666},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":10}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"写":{"docs":{},"界":{"docs":{},"面":{"docs":{},"并":{"docs":{},"无":{"docs":{},"差":{"docs":{},"异":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"在":{"docs":{},"抽":{"docs":{},"离":{"docs":{},"出":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"代":{"docs":{},"码":{"docs":{},"规":{"docs":{},"范":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"必":{"docs":{},"要":{"docs":{},"参":{"docs":{},"数":{"docs":{},"要":{"docs":{},"用":{"docs":{},"@":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"起":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}},"了":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"响":{"docs":{},"应":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"认":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"没":{"docs":{},"有":{"docs":{},"命":{"docs":{},"中":{"docs":{},"。":{"docs":{},"在":{"docs":{},"继":{"docs":{},"承":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"重":{"docs":{},"写":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"重":{"docs":{},"写":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"来":{"docs":{},"间":{"docs":{},"接":{"docs":{},"加":{"docs":{},"载":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"文":{"docs":{},"件":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"或":{"docs":{},"其":{"docs":{},"它":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"句":{"docs":{},"柄":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"直":{"docs":{},"接":{"docs":{},"加":{"docs":{},"载":{"docs":{},"这":{"docs":{},"些":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"知":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":10}}}}}}}},"道":{"docs":{},"的":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"和":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"通":{"docs":{},"过":{"docs":{},"通":{"docs":{},"道":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"进":{"docs":{},"行":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"单":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"通":{"docs":{},"道":{"docs":{},"名":{"docs":{},"称":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{},";":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遵":{"docs":{},"循":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"签":{"docs":{},"名":{"docs":{},"流":{"docs":{},"程":{"docs":{},"来":{"docs":{},"配":{"docs":{},"置":{"docs":{},"您":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}},"配":{"docs":{},"置":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"工":{"docs":{},"具":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"新":{"docs":{},"安":{"docs":{},"装":{"docs":{},"的":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}},"重":{"docs":{},"启":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"以":{"docs":{},"应":{"docs":{},"用":{"docs":{},"此":{"docs":{},"更":{"docs":{},"改":{"docs":{},".":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}},"新":{"docs":{},"启":{"docs":{},"动":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},"再":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},"都":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{},"可":{"docs":{},"能":{"docs":{},"有":{"docs":{},"些":{"docs":{},"人":{"docs":{},"会":{"docs":{},"担":{"docs":{},"心":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"话":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"用":{"docs":{},"户":{"docs":{},"再":{"docs":{},"改":{"docs":{},"变":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"时":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"资":{"docs":{},"源":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"加":{"docs":{},"载":{"docs":{},"。":{"docs":{},"事":{"docs":{},"实":{"docs":{},"上":{"docs":{},",":{"docs":{},"每":{"docs":{},"当":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"都":{"docs":{},"会":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"加":{"docs":{},"载":{"docs":{},"新":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"还":{"docs":{},"是":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"两":{"docs":{},"个":{"docs":{},"插":{"docs":{},"件":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"而":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"它":{"docs":{},"的":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"看":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"重":{"docs":{},"写":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"三":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"a":{"docs":{},"v":{"docs":{},"d":{"docs":{},"配":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"确":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"选":{"docs":{},"择":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}},"“":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"”":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}},"无":{"docs":{},"误":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"发":{"docs":{},"布":{"docs":{},"命":{"docs":{},"令":{"docs":{},"了":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"~":{"docs":{},"/":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}}}}},"z":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"c":{"docs":{"chapter1/install_flutter.html":{"ref":"chapter1/install_flutter.html","tf":0.001594896331738437}}}}}}}}}},"&":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"&":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},"#":{"docs":{},"x":{"docs":{},"e":{"0":{"0":{"0":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"1":{"4":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"docs":{}},"docs":{}},"docs":{}}}}},"{":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.03225806451612903},"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.027426160337552744},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0343980343980344},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.04035874439461883},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.013888888888888888},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.07692307692307693},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0511482254697286},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.06944444444444445},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.020491803278688523},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.02197802197802198},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.027426160337552744},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.03125},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.055710306406685235},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.02040816326530612},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.026845637583892617},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.04857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.07407407407407407},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.059880239520958084},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.025380710659898477},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.07282415630550622},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05970149253731343},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.06329113924050633},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.016216216216216217},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.06596306068601583},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.03680981595092025},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.05454545454545454},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.046610169491525424},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.023255813953488372},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.06796116504854369},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.01809954751131222},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.031335149863760216},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.06818181818181818},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.02534562211981567},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.05},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.03544776119402985},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.026595744680851064},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.02631578947368421},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.07232704402515723},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.07053941908713693},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.043859649122807015},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.05322128851540616},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.043209876543209874},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.06505576208178439},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.06170598911070781}},"}":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},",":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04065040650406504}}},")":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"'":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"}":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}},"中":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"即":{"docs":{},"可":{"docs":{},"解":{"docs":{},"决":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}},"。":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}},"\"":{"docs":{},"漂":{"docs":{},"浮":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"它":{"docs":{},"默":{"docs":{},"认":{"docs":{},"带":{"docs":{},"有":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"和":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"背":{"docs":{},"景":{"docs":{},"。":{"docs":{},"按":{"docs":{},"下":{"docs":{},"后":{"docs":{},",":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"会":{"docs":{},"变":{"docs":{},"大":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"和":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"声":{"docs":{},"明":{"docs":{},"了":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"它":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"和":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"以":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"正":{"docs":{},"常":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"库":{"docs":{},"造":{"docs":{},"成":{"docs":{},"的":{"docs":{},",":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"都":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"相":{"docs":{},"同":{"docs":{},"点":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"下":{"docs":{},"面":{"docs":{},"这":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"并":{"docs":{},"加":{"docs":{},"上":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}}}}}}}},"无":{"docs":{},"法":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}},"论":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"其":{"docs":{},"实":{"docs":{},"只":{"docs":{},"是":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"如":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"会":{"docs":{},"传":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"少":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"库":{"docs":{},"问":{"docs":{},"题":{"docs":{"chapter1/configuration.html":{"ref":"chapter1/configuration.html","tf":0.010752688172043012}}}}}}}},"点":{"docs":{},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}},"!":{"docs":{},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.006329113924050633},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.01486988847583643},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0054446460980036296}}},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"b":{"docs":{},"t":{"docs":{},"n":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}},"\"":{"0":{"docs":{},"%":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},"1":{"2":{"3":{"4":{"5":{"6":{"7":{"8":{"9":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"1":{"8":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}},"docs":{}},"docs":{}},"docs":{}},"5":{"docs":{},".":{"2":{"0":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}},"docs":{}},"docs":{}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.008403361344537815}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"\"":{"docs":{},";":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"i":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.016877637130801686}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}},"w":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"b":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"2":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"u":{"docs":{},"/":{"2":{"0":{"4":{"1":{"1":{"6":{"4":{"8":{"docs":{},"?":{"docs":{},"s":{"docs":{},"=":{"4":{"6":{"0":{"docs":{},"&":{"docs":{},"v":{"docs":{},"=":{"4":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.013059701492537313}}}}}},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"u":{"docs":{},"m":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"_":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"=":{"docs":{},">":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"内":{"docs":{},"容":{"docs":{},"固":{"docs":{},"定":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"b":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"\"":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"1":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"2":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"[":{"docs":{},"]":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"[":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}},"\"":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"z":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"/":{"5":{"docs":{},".":{"0":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}}},"docs":{}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}},"p":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"2":{"docs":{},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"docs":{}}}}},"m":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"*":{"4":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"6":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"docs":{}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}},"2":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}},"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},",":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}},"r":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"\"":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},")":{"docs":{},")":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"\\":{"docs":{},"u":{"docs":{},"e":{"9":{"1":{"4":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"docs":{}},"docs":{}},"docs":{}}}},"密":{"docs":{},"码":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}},"不":{"docs":{},"能":{"docs":{},"少":{"docs":{},"于":{"6":{"docs":{},"位":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"docs":{}}}}}}},"您":{"docs":{},"的":{"docs":{},"登":{"docs":{},"录":{"docs":{},"密":{"docs":{},"码":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"或":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.004098360655737705}}}}}}}}}},"电":{"docs":{},"子":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"地":{"docs":{},"址":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"池":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}},")":{"docs":{},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.058823529411764705}}},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}},",":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}},"w":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}}}}}},"历":{"docs":{},"史":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"图":{"docs":{},"片":{"docs":{},"\"":{"docs":{},"]":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"g":{"docs":{},"h":{"docs":{},"i":{"docs":{},"j":{"docs":{},"k":{"docs":{},"l":{"docs":{},"m":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"q":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"v":{"docs":{},"w":{"docs":{},"x":{"docs":{},"y":{"docs":{},"z":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.01818181818181818}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}}}}}}}},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.014084507042253521}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}},"#":{"docs":{},"#":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"#":{"docs":{},"#":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}},".":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"{":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"好":{"docs":{},"世":{"docs":{},"界":{"docs":{},"\"":{"docs":{},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}}}}}},"点":{"docs":{},"我":{"docs":{},"变":{"docs":{},"色":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}},"原":{"docs":{},"图":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.014005602240896359}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"d":{"docs":{},"\"":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"请":{"docs":{},"求":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"失":{"docs":{},"败":{"docs":{},":":{"docs":{},"$":{"docs":{},"e":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}},"+":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"不":{"docs":{},"通":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"$":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"o":{"docs":{},"h":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.007462686567164179}},"@":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.005597014925373134}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"\"":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}},";":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},",":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"h":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}},"@":{"docs":{},"@":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"z":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815}}}}}}}}}},"{":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},",":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}}}}}}}}}},"=":{"0":{"docs":{},"{":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"没":{"docs":{},"有":{"docs":{},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"}":{"docs":{},"=":{"1":{"docs":{},"{":{"docs":{},"有":{"docs":{},"{":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"}":{"docs":{},"封":{"docs":{},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"}":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"{":{"docs":{},"有":{"docs":{},"{":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"}":{"docs":{},"封":{"docs":{},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"}":{"docs":{},"}":{"docs":{},"\"":{"docs":{},",":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.016877637130801686},"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.008968609865470852},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.030100334448160536},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.011482254697286013},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0163265306122449},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.024390243902439025},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.02185792349726776},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.026737967914438502},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.06091370558375635},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.031746031746031744},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.023391812865497075},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.023809523809523808},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.012658227848101266},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.046875},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.022284122562674095},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.053061224489795916},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.025714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.02030456852791878},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.023090586145648313},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.05970149253731343},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.05405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.023746701846965697},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.024539877300613498},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.01694915254237288},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.02912621359223301},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.07239819004524888},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.039509536784741145},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.022727272727272728},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.03686635944700461},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.04929577464788732},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.02727272727272727},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.020522388059701493},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.02631578947368421},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.040880503144654086},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.03734439834024896},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.018518518518518517},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.022304832713754646},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.023593466424682397}},">":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.007306889352818371},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.04065040650406504},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.023952095808383235},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.03550295857988166},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.012658227848101266},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.016791044776119403},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.017543859649122806},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.008403361344537815},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.023593466424682397}}},"=":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.04477611940298507},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.006811989100817439},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.016597510373443983},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.009074410163339383}}},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}},"_":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"s":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}},"e":{"docs":{},"s":{"docs":{},"[":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"6":{"1":{"6":{"0":{"6":{"3":{"8":{"2":{"2":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"4":{"2":{"7":{"7":{"4":{"2":{"3":{"5":{"0":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"5":{"5":{"2":{"1":{"6":{"0":{"7":{"3":{"2":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"1":{"4":{"7":{"2":{"6":{"4":{"9":{"5":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"5":{"4":{"3":{"2":{"9":{"5":{"8":{"9":{"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.010899182561307902}}}}}}}}},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281}},"e":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}},"确":{"docs":{},"定":{"docs":{},"颜":{"docs":{},"色":{"docs":{},":":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.007371007371007371},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},"=":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}},".":{"0":{"docs":{},",":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}},"docs":{}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"s":{"docs":{},")":{"docs":{},",":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{},"/":{"docs":{},"/":{"docs":{},"维":{"docs":{},"护":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}},"k":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.00816326530612245}},",":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"+":{"docs":{},"=":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"?":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},";":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},";":{"docs":{},"\\":{"docs":{},"r":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914}}}}},"类":{"docs":{},"是":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"类":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"类":{"docs":{},"。":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"和":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"1":{"0":{"0":{"9":{"8":{"0":{"3":{"1":{"4":{"8":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"5":{"9":{"1":{"0":{"6":{"0":{"3":{"4":{"docs":{},")":{"docs":{},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"3":{"9":{"8":{"7":{"2":{"4":{"0":{"9":{"0":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"7":{"8":{"0":{"1":{"1":{"4":{"9":{"9":{"7":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"8":{"7":{"5":{"5":{"1":{"0":{"6":{"4":{"5":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"u":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},"+":{"docs":{},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"+":{"docs":{},"\"":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.004536616979909268}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"3":{"3":{"1":{"4":{"8":{"7":{"6":{"7":{"4":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"3":{"9":{"5":{"8":{"4":{"4":{"4":{"8":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"=":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},")":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"$":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}},",":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"{":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0035644847699287103}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"2":{"7":{"9":{"9":{"7":{"1":{"2":{"4":{"0":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"3":{"9":{"1":{"3":{"7":{"4":{"5":{"3":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.004087193460490463}},")":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"e":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},";":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}},":":{"docs":{},"在":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"d":{"docs":{},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"从":{"docs":{},"异":{"docs":{},"步":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"需":{"docs":{},"要":{"2":{"0":{"0":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"将":{"docs":{},"新":{"docs":{},"数":{"docs":{},"据":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"chapter10/socket.html":{"ref":"chapter10/socket.html","tf":0.03125}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0035644847699287103}}}}},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.015228426395939087}},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}},",":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.01015228426395939}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"点":{"docs":{},"击":{"docs":{},"链":{"docs":{},"接":{"docs":{},"后":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},"(":{"docs":{},"代":{"docs":{},"码":{"docs":{},"已":{"docs":{},"省":{"docs":{},"略":{"docs":{},")":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{},"的":{"docs":{},"更":{"docs":{},"多":{"docs":{},"内":{"docs":{},"容":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"单":{"docs":{},"独":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"其":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},";":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"在":{"docs":{},"其":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.009216589861751152},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.013636363636363636}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}},"p":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.014563106796116505}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.009708737864077669}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"5":{"5":{"2":{"9":{"0":{"2":{"1":{"5":{"8":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}},"]":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0019442644199611147}},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},")":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"=":{"2":{"0":{"0":{"docs":{},"*":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},".":{"8":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.00909090909090909}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.003552397868561279}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.003131524008350731}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.005219206680584551}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0020876826722338203}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"c":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.027777777777777776}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"/":{"docs":{},"/":{"docs":{},"当":{"docs":{},"前":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.004219409282700422}},",":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}},",":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00847457627118644}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}},"=":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}},";":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0053285968028419185}}},"b":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.009216589861751152}}}}}},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.011976047904191617}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"[":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"]":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}},";":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}},",":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.008771929824561403}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}},"e":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"docs":{}}}}}}}}}}}}}},"$":{"docs":{},"%":{"docs":{},"s":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}}}}}}}}}}}}}}}}}}}},"…":{"docs":{},"}":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"/":{"2":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"docs":{}}},"3":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"docs":{}}},"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"1":{"docs":{},".":{"5":{"docs":{},"x":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"x":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"docs":{}}},"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"1":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"2":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"3":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"x":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.014778325123152709}}}}}},"会":{"docs":{},"输":{"docs":{},"出":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"(":{"docs":{},"精":{"docs":{},"确":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"、":{"docs":{},"设":{"docs":{},"备":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"等":{"docs":{},"等":{"docs":{},"而":{"docs":{},"变":{"docs":{},"化":{"docs":{},")":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"+":{"docs":{},"+":{"docs":{},"、":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"了":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"首":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{},"有":{"docs":{},"无":{"docs":{},"溢":{"docs":{},"出":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},":":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"中":{"docs":{},"打":{"docs":{},"开":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"可":{"docs":{},"以":{"docs":{},"获":{"docs":{},"取":{"docs":{},"父":{"docs":{},"级":{"docs":{},"最":{"docs":{},"近":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"照":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"的":{"docs":{},"注":{"docs":{},"释":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"故":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"从":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"异":{"docs":{},"步":{"docs":{},"获":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"包":{"docs":{},"的":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"每":{"docs":{},"次":{"docs":{},"生":{"docs":{},"成":{"2":{"0":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},"。":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"包":{"docs":{},"装":{"docs":{},"(":{"docs":{},"组":{"docs":{},"合":{"docs":{},")":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"部":{"docs":{},"分":{"docs":{},":":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}},"说":{"docs":{},"明":{"docs":{},"已":{"docs":{},"经":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"注":{"docs":{},"释":{"docs":{},"里":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"释":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}},"大":{"docs":{},"致":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"是":{"docs":{},"先":{"docs":{},"判":{"docs":{},"断":{"docs":{},"自":{"docs":{},"身":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"理":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"保":{"docs":{},"存":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"其":{"docs":{},"实":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"还":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"都":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"语":{"docs":{},"法":{"docs":{},"糖":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"或":{"docs":{},"解":{"docs":{},"释":{"docs":{},"器":{"docs":{},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"会":{"docs":{},"将":{"docs":{},"其":{"docs":{},"转":{"docs":{},"化":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},")":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"链":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},"都":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},",":{"docs":{},"而":{"docs":{},"也":{"docs":{},"早":{"docs":{},"就":{"docs":{},"有":{"docs":{},"了":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{},"即":{"docs":{},"“":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"正":{"docs":{},"是":{"docs":{},"操":{"docs":{},"作":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"所":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"也":{"docs":{},"都":{"docs":{},"是":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"关":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"更":{"docs":{},"多":{"docs":{},"内":{"docs":{},"容":{"docs":{},"会":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"高":{"docs":{},"级":{"docs":{},"部":{"docs":{},"分":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"“":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"”":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"读":{"docs":{},"者":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"确":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"方":{"docs":{},"式":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}},"异":{"docs":{},"常":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"与":{"docs":{},"日":{"docs":{},"志":{"docs":{},"收":{"docs":{},"集":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}},"的":{"docs":{},"值":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}},"中":{"docs":{},"m":{"docs":{},"和":{"docs":{},"n":{"docs":{},"是":{"docs":{},"数":{"docs":{},"字":{"docs":{},"标":{"docs":{},"识":{"docs":{},"符":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"于":{"docs":{},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"的":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"同":{"docs":{},"设":{"docs":{},"备":{"docs":{},"像":{"docs":{},"素":{"docs":{},"比":{"docs":{},"例":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"都":{"docs":{},"是":{"docs":{},"自":{"docs":{},"解":{"docs":{},"释":{"docs":{},"的":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"构":{"docs":{},"建":{"docs":{},"器":{"docs":{},"。":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\"":{"docs":{},"为":{"docs":{},"认":{"docs":{},"证":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"角":{"docs":{},"色":{"docs":{},"的":{"docs":{},"分":{"docs":{},"组":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"添":{"docs":{},"加":{"docs":{},"分":{"docs":{},"组":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"变":{"docs":{},"量":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"内":{"docs":{},"部":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"包":{"docs":{},"装":{"docs":{},"一":{"docs":{},"组":{"docs":{},"函":{"docs":{},"数":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"[":{"docs":{},"]":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":10.006944444444445}}}},"含":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},"路":{"docs":{},"由":{"docs":{},"名":{"docs":{},"称":{"docs":{},"、":{"docs":{},"是":{"docs":{},"否":{"docs":{},"初":{"docs":{},"始":{"docs":{},"路":{"docs":{},"由":{"docs":{},"(":{"docs":{},"首":{"docs":{},"页":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"等":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{},"如":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"等":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"在":{"docs":{},"其":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"未":{"docs":{},"在":{"docs":{},"其":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"要":{"docs":{},"打":{"docs":{},"包":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"必":{"docs":{},"须":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"指":{"docs":{},"定":{"docs":{},"包":{"docs":{},"含":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"图":{"docs":{},"像":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"插":{"docs":{},"件":{"docs":{"chapter11/":{"ref":"chapter11/","tf":10.2}}}}},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"主":{"docs":{},"要":{"docs":{},"主":{"docs":{},"要":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"从":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"提":{"docs":{},"取":{"docs":{},"要":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"到":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"和":{"docs":{},"根":{"docs":{},"据":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"生":{"docs":{},"成":{"docs":{},"对":{"docs":{},"应":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"包":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"引":{"docs":{},"用":{"docs":{},"和":{"docs":{},"加":{"docs":{},"载":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"生":{"docs":{},"成":{"docs":{},"后":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"一":{"docs":{},"步":{"docs":{},"步":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"如":{"docs":{},"何":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"只":{"docs":{},"能":{"docs":{},"被":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"编":{"docs":{},"译":{"docs":{},"时":{"docs":{},"常":{"docs":{},"量":{"docs":{},",":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"变":{"docs":{},"量":{"docs":{},"在":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"被":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"。":{"docs":{},"被":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"或":{"docs":{},"者":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"修":{"docs":{},"饰":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"变":{"docs":{},"量":{"docs":{},"类":{"docs":{},"型":{"docs":{},"可":{"docs":{},"以":{"docs":{},"省":{"docs":{},"略":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"体":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}},"换":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":10}}}}}}}}}}}}},"后":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"等":{"docs":{},"待":{"docs":{},"该":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"异":{"docs":{},"步":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"才":{"docs":{},"会":{"docs":{},"往":{"docs":{},"下":{"docs":{},"走":{"docs":{},";":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"必":{"docs":{},"须":{"docs":{},"出":{"docs":{},"现":{"docs":{},"在":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"地":{"docs":{},"狱":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}},"中":{"docs":{},"打":{"docs":{},"印":{"docs":{},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"绑":{"docs":{},"定":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"手":{"docs":{},"势":{"docs":{},"子":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"是":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"事":{"docs":{},"件":{"docs":{},"模":{"docs":{},"型":{"docs":{},"与":{"docs":{},"底":{"docs":{},"层":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"调":{"docs":{},"用":{"docs":{},"完":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"行":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"观":{"docs":{},"的":{"docs":{},"来":{"docs":{},"讲":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"在":{"docs":{},"语":{"docs":{},"法":{"docs":{},"层":{"docs":{},"面":{"docs":{},"确":{"docs":{},"实":{"docs":{},"比":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"更":{"docs":{},"有":{"docs":{},"表":{"docs":{},"现":{"docs":{},"力":{"docs":{},";":{"docs":{},"在":{"docs":{},"v":{"docs":{},"m":{"docs":{},"层":{"docs":{},"面":{"docs":{},",":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"户":{"docs":{},"端":{"docs":{},"发":{"docs":{},"送":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"给":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"验":{"docs":{},"证":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"登":{"docs":{},"录":{"docs":{},"验":{"docs":{},"证":{"docs":{},"过":{"docs":{},"了":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"得":{"docs":{},"到":{"docs":{},"响":{"docs":{},"应":{"docs":{},"码":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"和":{"docs":{},"密":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"编":{"docs":{},"码":{"docs":{},"(":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},":":{"docs":{},"密":{"docs":{},"码":{"docs":{},")":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"请":{"docs":{},"求":{"docs":{},"头":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"继":{"docs":{},"续":{"docs":{},"访":{"docs":{},"问":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"支":{"docs":{},"持":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}},"执":{"docs":{},"行":{"docs":{},"上":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"4":{"docs":{},"秒":{"docs":{},"后":{"docs":{},"你":{"docs":{},"会":{"docs":{},"在":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"“":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"循":{"docs":{},"环":{"docs":{},"机":{"docs":{},"制":{"docs":{},"便":{"docs":{},"启":{"docs":{},"动":{"docs":{},"了":{"docs":{},"。":{"docs":{},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"当":{"docs":{},"所":{"docs":{},"有":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"后":{"docs":{},"便":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"事":{"docs":{},"件":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"事":{"docs":{},"件":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"后":{"docs":{},"再":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"如":{"docs":{},"此":{"docs":{},"循":{"docs":{},"环":{"docs":{},"往":{"docs":{},"复":{"docs":{},",":{"docs":{},"生":{"docs":{},"生":{"docs":{},"不":{"docs":{},"息":{"docs":{},"。":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"矩":{"docs":{},"形":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"整":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}},"抛":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"常":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}},"来":{"docs":{},"模":{"docs":{},"拟":{"docs":{},"两":{"docs":{},"个":{"docs":{},"数":{"docs":{},"据":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"等":{"docs":{},"两":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"执":{"docs":{},"行":{"docs":{},"成":{"docs":{},"功":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"两":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},"拼":{"docs":{},"接":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"两":{"docs":{},"个":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"创":{"docs":{},"建":{"docs":{},"两":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},";":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}},"。":{"docs":{},"并":{"docs":{},"且":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"说":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"职":{"docs":{},"责":{"docs":{},"是":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"和":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"会":{"docs":{},"组":{"docs":{},"成":{"docs":{},"一":{"docs":{},"棵":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"位":{"docs":{},"他":{"docs":{},"们":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"左":{"docs":{},"右":{"docs":{},"四":{"docs":{},"条":{"docs":{},"边":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"u":{"docs":{},"i":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},"都":{"docs":{},"加":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"句":{"docs":{},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},"的":{"docs":{},"。":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"并":{"docs":{},"允":{"docs":{},"许":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"重":{"docs":{},"构":{"docs":{},"后":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"具":{"docs":{},"体":{"docs":{},"内":{"docs":{},"容":{"docs":{},"将":{"docs":{},"其":{"docs":{},"转":{"docs":{},"为":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"或":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"他":{"docs":{},"们":{"docs":{},"来":{"docs":{},"查":{"docs":{},"找":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}},"执":{"docs":{},"行":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}},"保":{"docs":{},"存":{"docs":{},"子":{"docs":{},"节":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"记":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"的":{"docs":{},"。":{"docs":{},"在":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}},"绘":{"docs":{},"制":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"部":{"docs":{},"分":{"docs":{},"提":{"docs":{},"示":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"就":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"看":{"docs":{},"到":{"docs":{},"的":{"docs":{},"溢":{"docs":{},"出":{"docs":{},"提":{"docs":{},"示":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"子":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"存":{"docs":{},"储":{"docs":{},"一":{"docs":{},"些":{"docs":{},"和":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"布":{"docs":{},"局":{"docs":{},"中":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"就":{"docs":{},"会":{"docs":{},"将":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"子":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"中":{"docs":{},"(":{"docs":{},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"如":{"docs":{},"上":{"docs":{},"文":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"除":{"docs":{},"布":{"docs":{},"局":{"docs":{},"或":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"外":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"般":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"从":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"综":{"docs":{},"上":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"笔":{"docs":{},"者":{"docs":{},"还":{"docs":{},"是":{"docs":{},"很":{"docs":{},"看":{"docs":{},"好":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"将":{"docs":{},"来":{"docs":{},",":{"docs":{},"之":{"docs":{},"所":{"docs":{},"以":{"docs":{},"表":{"docs":{},"这":{"docs":{},"个":{"docs":{},"态":{"docs":{},",":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{},"新":{"docs":{},"技":{"docs":{},"术":{"docs":{},"发":{"docs":{},"展":{"docs":{},"初":{"docs":{},"期":{"docs":{},",":{"docs":{},"很":{"docs":{},"多":{"docs":{},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"还":{"docs":{},"有":{"docs":{},"所":{"docs":{},"摇":{"docs":{},"摆":{"docs":{},",":{"docs":{},"有":{"docs":{},"所":{"docs":{},"犹":{"docs":{},"豫":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"给":{"docs":{},"大":{"docs":{},"家":{"docs":{},"打":{"docs":{},"一":{"docs":{},"剂":{"docs":{},"强":{"docs":{},"心":{"docs":{},"针":{"docs":{},",":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"见":{"docs":{},"仁":{"docs":{},"见":{"docs":{},"智":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"各":{"docs":{},"抒":{"docs":{},"己":{"docs":{},"见":{"docs":{},"。":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"开":{"docs":{},"发":{"docs":{},"带":{"docs":{},"来":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"当":{"docs":{},"路":{"docs":{},"由":{"docs":{},"需":{"docs":{},"要":{"docs":{},"参":{"docs":{},"数":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"则":{"docs":{},"不":{"docs":{},"够":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{},"=":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},")":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}},"=":{"docs":{},">":{"docs":{"chapter1/dart.html":{"ref":"chapter1/dart.html","tf":0.002109704641350211}}}},"是":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"官":{"docs":{},"方":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"间":{"docs":{},"调":{"docs":{},"用":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter2/":{"ref":"chapter2/","tf":0.1},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":10.004484304932735}}}},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"在":{"docs":{},"移":{"docs":{},"动":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"指":{"docs":{},"页":{"docs":{},"面":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"跟":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"概":{"docs":{},"念":{"docs":{},"意":{"docs":{},"义":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"指":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"中":{"docs":{},"指":{"docs":{},"一":{"docs":{},"个":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"所":{"docs":{},"谓":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"就":{"docs":{},"是":{"docs":{},"管":{"docs":{},"理":{"docs":{},"页":{"docs":{},"面":{"docs":{},"之":{"docs":{},"间":{"docs":{},"如":{"docs":{},"何":{"docs":{},"跳":{"docs":{},"转":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"也":{"docs":{},"可":{"docs":{},"被":{"docs":{},"称":{"docs":{},"为":{"docs":{},"导":{"docs":{},"航":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{},"这":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"开":{"docs":{},"发":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"还":{"docs":{},"是":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"导":{"docs":{},"航":{"docs":{},"管":{"docs":{},"理":{"docs":{},"都":{"docs":{},"会":{"docs":{},"维":{"docs":{},"护":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"栈":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"入":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{},"操":{"docs":{},"作":{"docs":{},"对":{"docs":{},"应":{"docs":{},"打":{"docs":{},"开":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},"操":{"docs":{},"作":{"docs":{},"对":{"docs":{},"应":{"docs":{},"页":{"docs":{},"面":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"而":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"指":{"docs":{},"如":{"docs":{},"何":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"路":{"docs":{},"由":{"docs":{},"栈":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}},"a":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}},"b":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}},"径":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"相":{"docs":{},"对":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}},")":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.032520325203252036},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.025210084033613446},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.015027322404371584},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.01015228426395939},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.05263157894736842},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.03571428571428571},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0273972602739726},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.010548523206751054},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.01775147928994083},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.010657193605683837},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0027247956403269754},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.013793103448275862}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.0343980343980344},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.026905829596412557},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.018789144050104383},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.0326530612244898},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.040983606557377046},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0481283422459893},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.10071942446043165},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.02030456852791878},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.047619047619047616},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.03296703296703297},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.017543859649122806},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0547945205479452},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.06040268456375839},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.0379746835443038},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.046875},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.005571030640668524},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.012244897959183673},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.06040268456375839},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.017142857142857144},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.017964071856287425},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.050761421319796954},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.05917159763313609},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.023090586145648313},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.03164556962025317},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.010554089709762533},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.05454545454545454},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.05084745762711865},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.05813953488372093},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.019417475728155338},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.039509536784741145},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.011363636363636364},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.02727272727272727},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.013157894736842105},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.012345679012345678},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0037174721189591076}}},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.009828009828009828},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.013452914798206279},"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382},"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.036734693877551024},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.02100840336134454},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00819672131147541},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0106951871657754},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.014388489208633094},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.011695906432748537},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0136986301369863},"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.008438818565400843},"chapter6/intro.html":{"ref":"chapter6/intro.html","tf":0.027777777777777776},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625},"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.013927576601671309},"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.0163265306122449},"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.020134228187919462},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.014285714285714285},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.0189873417721519},"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.018469656992084433},"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.018404907975460124},"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.03636363636363636},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.029661016949152543},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.019417475728155338},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.008174386920980926},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.0069124423963133645},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.013636363636363636},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},")":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},";":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}},";":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.008425145819831496},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.012526096033402923},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.004608294930875576},"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.006263048016701462},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},")":{"docs":{},";":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},"{":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.004914004914004914},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0041753653444676405},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.006329113924050633},"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.005277044854881266},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},":":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}},";":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"}":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"设":{"docs":{},"置":{"docs":{},"该":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"输":{"docs":{},"入":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"取":{"docs":{},"值":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"e":{"docs":{},"p":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}},"n":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}},"o":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}},"分":{"docs":{},"析":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"器":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"别":{"docs":{},"指":{"docs":{},"定":{"docs":{},"四":{"docs":{},"个":{"docs":{},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}},"发":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"将":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"会":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"边":{"docs":{},"界":{"docs":{},"。":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"、":{"docs":{},"标":{"docs":{},"题":{"docs":{},"和":{"docs":{},"包":{"docs":{},"含":{"docs":{},"主":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"的":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"。":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"可":{"docs":{},"以":{"docs":{},"很":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"的":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"器":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"生":{"docs":{},"成":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"再":{"docs":{},"由":{"docs":{},"我":{"docs":{},"们":{"docs":{},"手":{"docs":{},"写":{"docs":{},"和":{"docs":{},"维":{"docs":{},"护":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"产":{"docs":{},"生":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"异":{"docs":{},"常":{"docs":{},"的":{"docs":{},"风":{"docs":{},"险":{"docs":{},"降":{"docs":{},"至":{"docs":{},"最":{"docs":{},"低":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},"你":{"docs":{},"可":{"docs":{},"能":{"docs":{},"期":{"docs":{},"望":{"docs":{},"直":{"docs":{},"接":{"docs":{},"得":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"显":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"被":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"定":{"docs":{},"义":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"统":{"docs":{},"(":{"docs":{},"如":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"定":{"docs":{},"位":{"docs":{},"是":{"docs":{},"在":{"docs":{},"笛":{"docs":{},"卡":{"docs":{},"尔":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"中":{"docs":{},"还":{"docs":{},"是":{"docs":{},"极":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"?":{"docs":{},")":{"docs":{},"和":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"协":{"docs":{},"议":{"docs":{},"(":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"还":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"?":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"是":{"docs":{},"否":{"docs":{},"由":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"布":{"docs":{},"局":{"docs":{},"之":{"docs":{},"前":{"docs":{},"或":{"docs":{},"之":{"docs":{},"后":{"docs":{},"设":{"docs":{},"置":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"位":{"docs":{},"置":{"docs":{},"等":{"docs":{},")":{"docs":{},"。":{"docs":{},"为":{"docs":{},"此":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"布":{"docs":{},"局":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"统":{"docs":{},"采":{"docs":{},"用":{"docs":{},"笛":{"docs":{},"卡":{"docs":{},"尔":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"原":{"docs":{},"生":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"的":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"、":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"是":{"docs":{},"原":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"分":{"docs":{},"宽":{"docs":{},"高":{"docs":{},"两":{"docs":{},"个":{"docs":{},"轴":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"布":{"docs":{},"局":{"docs":{},"模":{"docs":{},"型":{"docs":{},"或":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"入":{"docs":{},"包":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},";":{"docs":{},"这":{"docs":{},"一":{"docs":{},"步":{"docs":{},"和":{"docs":{},"导":{"docs":{},"入":{"docs":{},"字":{"docs":{},"体":{"docs":{},"文":{"docs":{},"件":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{},"文":{"docs":{},"件":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},",":{"docs":{},"路":{"docs":{},"径":{"docs":{},"为":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"t":{"docs":{},"f":{"docs":{},"\"":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"创":{"docs":{},"建":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}},"航":{"docs":{},"栏":{"docs":{},"右":{"docs":{},"侧":{"docs":{},"菜":{"docs":{},"单":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"边":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"享":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}},"底":{"docs":{},"部":{"docs":{},"菜":{"docs":{},"单":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"为":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}},"阴":{"docs":{},"影":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}},"返":{"docs":{},"回":{"docs":{},"拦":{"docs":{},"截":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":5}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},",":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}},"或":{"docs":{},"包":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"、":{"docs":{},"简":{"docs":{},"介":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"部":{"docs":{},"分":{"docs":{},"通":{"docs":{},"过":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"(":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"在":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},"中":{"docs":{},"做":{"docs":{},"什":{"docs":{},"么":{"docs":{},"?":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"。":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"通":{"docs":{},"知":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"收":{"docs":{},"到":{"docs":{},"通":{"docs":{},"知":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"根":{"docs":{},"据":{"docs":{},"新":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"重":{"docs":{},"新":{"docs":{},"构":{"docs":{},"建":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"它":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"它":{"docs":{},"是":{"docs":{},"m":{"docs":{},"y":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"类":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"该":{"docs":{},"参":{"docs":{},"数":{"docs":{},"代":{"docs":{},"表":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"。":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"理":{"docs":{},"解":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"类":{"docs":{},"比":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"码":{"docs":{},"执":{"docs":{},"行":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"的":{"docs":{},"之":{"docs":{},"间":{"docs":{},"是":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"的":{"docs":{},",":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"可":{"docs":{},"以":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"、":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"或":{"docs":{},"修":{"docs":{},"改":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"如":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"、":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"微":{"docs":{},"任":{"docs":{},"务":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"所":{"docs":{},"有":{"docs":{},"未":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"生":{"docs":{},"成":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"系":{"docs":{},"列":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"这":{"docs":{},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"为":{"docs":{},"每":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"值":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"时":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"变":{"docs":{},"为":{"docs":{},"“":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"。":{"docs":{},"每":{"docs":{},"次":{"docs":{},"热":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},",":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"页":{"docs":{},"切":{"docs":{},"换":{"docs":{},"语":{"docs":{},"言":{"docs":{},"后":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"触":{"docs":{},"发":{"docs":{},"语":{"docs":{},"言":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"被":{"docs":{},"修":{"docs":{},"改":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"完":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"也":{"docs":{},"必":{"docs":{},"须":{"docs":{},"完":{"docs":{},"成":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"父":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"全":{"docs":{},"部":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"布":{"docs":{},"局":{"docs":{},"流":{"docs":{},"程":{"docs":{},"才":{"docs":{},"算":{"docs":{},"真":{"docs":{},"正":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"将":{"docs":{},"会":{"docs":{},"变":{"docs":{},"成":{"docs":{},":":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"下":{"docs":{},"方":{"docs":{},":":{"docs":{"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.006289308176100629}}}}},"来":{"docs":{},"移":{"docs":{},"除":{"docs":{},"它":{"docs":{},",":{"docs":{},"移":{"docs":{},"除":{"docs":{},"后":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"从":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"树":{"docs":{},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"用":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"该":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"实":{"docs":{},"现":{"docs":{},"(":{"docs":{},"省":{"docs":{},"略":{"docs":{},"了":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{},")":{"docs":{},":":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"u":{"docs":{},"i":{"docs":{},"界":{"docs":{},"面":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"创":{"docs":{},"建":{"docs":{},"时":{"docs":{},",":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"会":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"当":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"构":{"docs":{},"建":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"将":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"到":{"docs":{},"设":{"docs":{},"备":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"_":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"都":{"docs":{},"干":{"docs":{},"了":{"docs":{},"什":{"docs":{},"么":{"docs":{},"事":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"支":{"docs":{},"持":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"变":{"docs":{},"体":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{},"不":{"docs":{},"同":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"信":{"docs":{},"息":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"的":{"docs":{},"各":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},":":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}},":":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}},",":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}},"访":{"docs":{},"问":{"docs":{},"不":{"docs":{},"便":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}},"管":{"docs":{},"理":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"用":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"重":{"docs":{},"构":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"动":{"docs":{},"画":{"docs":{},"中":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{},"程":{"docs":{},"(":{"docs":{},"即":{"docs":{},"设":{"docs":{},"置":{"docs":{},"宽":{"docs":{},"高":{"docs":{},")":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"再":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"透":{"docs":{},"明":{"docs":{},"度":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"优":{"docs":{},"雅":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"能":{"docs":{},"把":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"过":{"docs":{},"程":{"docs":{},"也":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"会":{"docs":{},"好":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"而":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"正":{"docs":{},"是":{"docs":{},"将":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}},"从":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"构":{"docs":{},"造":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"绑":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"消":{"docs":{},"息":{"docs":{},"通":{"docs":{},"道":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}},"户":{"docs":{},"名":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"提":{"docs":{},"示":{"docs":{},"“":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"指":{"docs":{},"按":{"docs":{},"下":{"docs":{},":":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"2":{"6":{"docs":{},".":{"3":{"docs":{},",":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"途":{"docs":{"chapter4/intro.html":{"ref":"chapter4/intro.html","tf":0.043478260869565216}}}},"继":{"docs":{},"承":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"不":{"docs":{},"便":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"所":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"都":{"docs":{},"由":{"docs":{},"其":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"应":{"docs":{},"用":{"docs":{},"示":{"docs":{},"例":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}},"示":{"docs":{},"例":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":10}}}}}}},"设":{"docs":{},"置":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"自":{"docs":{},"增":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"其":{"docs":{},"孩":{"docs":{},"子":{"docs":{},"的":{"docs":{},"约":{"docs":{},"束":{"docs":{},"为":{"docs":{},":":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"0":{"docs":{},".":{"0":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"它":{"docs":{},"在":{"docs":{},"其":{"docs":{},"内":{"docs":{},"容":{"docs":{},"上":{"docs":{},"设":{"docs":{},"置":{"docs":{},"最":{"docs":{},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"为":{"8":{"8":{"docs":{},"像":{"docs":{},"素":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"设":{"docs":{},"置":{"docs":{},"高":{"docs":{},"度":{"docs":{},"为":{"3":{"6":{"docs":{},".":{"0":{"docs":{},"像":{"docs":{},"素":{"docs":{},"(":{"docs":{},"这":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"的":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"在":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}},"给":{"docs":{},"了":{"docs":{},"子":{"docs":{},"树":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"节":{"docs":{},"点":{"docs":{},"处":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"来":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"子":{"docs":{},"孙":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"默":{"docs":{},"认":{"docs":{},"都":{"docs":{},"会":{"docs":{},"继":{"docs":{},"承":{"docs":{},"该":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"显":{"docs":{},"示":{"docs":{},"指":{"docs":{},"定":{"docs":{},"不":{"docs":{},"继":{"docs":{},"承":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"如":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"注":{"docs":{},"释":{"2":{"docs":{},"。":{"docs":{},"示":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"从":{"docs":{},"第":{"docs":{},"三":{"docs":{},"个":{"docs":{},"字":{"docs":{},"符":{"docs":{},"开":{"docs":{},"始":{"docs":{},"选":{"docs":{},"中":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"规":{"docs":{},"范":{"docs":{},"中":{"docs":{},"有":{"docs":{},"些":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"只":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"可":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},",":{"docs":{},"由":{"docs":{},"此":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}},"试":{"docs":{},"想":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}},"?":{"docs":{},"这":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"性":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"将":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"则":{"docs":{},"会":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"chapter2/first_flutter_app.html":{"ref":"chapter2/first_flutter_app.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426},"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.012711864406779662},"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}},"所":{"docs":{},"谓":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"即":{"docs":{},"指":{"docs":{},"沿":{"docs":{},"水":{"docs":{},"平":{"docs":{},"或":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"排":{"docs":{},"布":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"控":{"docs":{},"件":{"docs":{},"。":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"都":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"“":{"docs":{},"平":{"docs":{},"台":{"docs":{},"特":{"docs":{},"定":{"docs":{},"”":{"docs":{},"或":{"docs":{},"“":{"docs":{},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{},"”":{"docs":{},",":{"docs":{},"平":{"docs":{},"台":{"docs":{},"指":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"如":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"或":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"认":{"docs":{},"为":{"docs":{},"就":{"docs":{},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"原":{"docs":{},"生":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},"正":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"之":{"docs":{},"间":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"桥":{"docs":{},"梁":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},"的":{"docs":{},"底":{"docs":{},"层":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"这":{"docs":{},"些":{"docs":{},"标":{"docs":{},"志":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"下":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"中":{"docs":{},"以":{"docs":{},"“":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"”":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"向":{"docs":{},"均":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"数":{"docs":{},"值":{"docs":{},"的":{"docs":{},"补":{"docs":{},"白":{"docs":{},"。":{"docs":{"chapter5/padding.html":{"ref":"chapter5/padding.html","tf":0.01098901098901099}}}}}}}}}}}}}}},"动":{"docs":{},"画":{"docs":{},"都":{"docs":{},"由":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"驱":{"docs":{},"动":{"docs":{},",":{"docs":{},"无":{"docs":{},"论":{"docs":{},"动":{"docs":{},"画":{"docs":{},"实":{"docs":{},"时":{"docs":{},"持":{"docs":{},"续":{"docs":{},"多":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"器":{"docs":{},"的":{"docs":{},"值":{"docs":{},"必":{"docs":{},"须":{"docs":{},"介":{"docs":{},"于":{"0":{"docs":{},".":{"0":{"docs":{},"和":{"1":{"docs":{},".":{"0":{"docs":{},"之":{"docs":{},"间":{"docs":{},",":{"docs":{},"而":{"docs":{},"每":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},"介":{"docs":{},"于":{"0":{"docs":{},".":{"0":{"docs":{},"和":{"1":{"docs":{},".":{"0":{"docs":{},"之":{"docs":{},"间":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"在":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"动":{"docs":{},"画":{"docs":{},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"请":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"路":{"docs":{},"由":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"界":{"docs":{},"面":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"在":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},"间":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"句":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}},"还":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},"其":{"docs":{},"它":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"、":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"等":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"或":{"docs":{},"s":{"docs":{},"d":{"docs":{},"k":{"docs":{},"源":{"docs":{},"码":{"docs":{},"注":{"docs":{},"释":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"路":{"docs":{},"由":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"概":{"docs":{},"念":{"docs":{},"“":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"了":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"还":{"docs":{},"有":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"等":{"docs":{},"其":{"docs":{},"他":{"docs":{},"管":{"docs":{},"理":{"docs":{},"命":{"docs":{},"名":{"docs":{},"路":{"docs":{},"由":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter2/flutter_router.html":{"ref":"chapter2/flutter_router.html","tf":0.004484304932735426}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"用":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"重":{"docs":{},"点":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"两":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},":":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"部":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"如":{"docs":{},"何":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"通":{"docs":{},"知":{"docs":{},":":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"它":{"docs":{},"支":{"docs":{},"持":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"消":{"docs":{},"息":{"docs":{},"编":{"docs":{},"解":{"docs":{},"码":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"异":{"docs":{},"步":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"递":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"#":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444},"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895},"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.015957446808510637}},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"体":{"docs":{},"名":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}},"\"":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"的":{"docs":{},"最":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213},"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"项":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0056022408963585435}}}}}}}}}}},"^":{"0":{"docs":{},".":{"1":{"5":{"docs":{},".":{"7":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},"docs":{}}},"7":{"docs":{},".":{"2":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}},"docs":{}}},"docs":{},".":{"0":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"2":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}},"4":{"docs":{},".":{"1":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}},"2":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.010638297872340425}}},"docs":{}}},"docs":{}}},"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}}},"docs":{}}},"docs":{}}},"3":{"docs":{},".":{"1":{"docs":{},".":{"3":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}},"docs":{}}},"docs":{}}},"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"y":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"直":{"docs":{},"观":{"docs":{},"、":{"docs":{},"可":{"docs":{},"读":{"docs":{},"性":{"docs":{},"高":{"docs":{},"并":{"docs":{},"且":{"docs":{},"容":{"docs":{},"易":{"docs":{},"被":{"docs":{},"人":{"docs":{},"类":{"docs":{},"阅":{"docs":{},"读":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"它":{"docs":{},"和":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"或":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"它":{"docs":{},"语":{"docs":{},"法":{"docs":{},"简":{"docs":{},"单":{"docs":{},"并":{"docs":{},"非":{"docs":{},"常":{"docs":{},"容":{"docs":{},"易":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"是":{"docs":{},"用":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"目":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}},"x":{"docs":{},"x":{"docs":{},"f":{"docs":{},"i":{"docs":{},"s":{"docs":{},"d":{"docs":{},"j":{"docs":{},"f":{"docs":{},"i":{"docs":{},"s":{"docs":{},"j":{"docs":{},"f":{"docs":{},"g":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{},"j":{"docs":{},"g":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter11/ios_implement.html":{"ref":"chapter11/ios_implement.html","tf":0.004149377593360996}}}}}},"引":{"docs":{},"入":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"包":{"docs":{},"。":{"docs":{"chapter2/flutter_package_mgr.html":{"ref":"chapter2/flutter_package_mgr.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"插":{"docs":{},"件":{"docs":{},";":{"docs":{},"在":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"如":{"docs":{},"下":{"docs":{},"声":{"docs":{},"明":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}},"加":{"docs":{},"载":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.009852216748768473}}}},"文":{"docs":{},"本":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"时":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"等":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"处":{"docs":{},"理":{"docs":{},"对":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"是":{"docs":{},"无":{"docs":{},"感":{"docs":{},"知":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}},"该":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}},"只":{"docs":{},"需":{"docs":{},"将":{"docs":{},"它":{"docs":{},"们":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"适":{"docs":{},"当":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{},"。":{"docs":{},"保":{"docs":{},"留":{"docs":{},"原":{"docs":{},"始":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"称":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"照":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"开":{"docs":{},"发":{"docs":{},"人":{"docs":{},"员":{"docs":{},"指":{"docs":{},"南":{"docs":{},"中":{"docs":{},"的":{"docs":{},"说":{"docs":{},"明":{"docs":{},",":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"或":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"即":{"docs":{},"可":{"docs":{},"完":{"docs":{},"成":{"docs":{},"注":{"docs":{},"册":{"docs":{},":":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"他":{"docs":{},"们":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"会":{"docs":{},"使":{"docs":{},"该":{"docs":{},"层":{"docs":{},"被":{"docs":{},"一":{"docs":{},"组":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"色":{"docs":{},"所":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"已":{"docs":{},"经":{"docs":{},"构":{"docs":{},"建":{"docs":{},"了":{"docs":{},"至":{"docs":{},"少":{"docs":{},"一":{"docs":{},"次":{"docs":{},"(":{"docs":{},"即":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"时":{"docs":{},"间":{"docs":{},")":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"未":{"docs":{},"处":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"(":{"docs":{},"即":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"内":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"设":{"docs":{},"置":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"布":{"docs":{},"局":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"次":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{},"那":{"docs":{},"么":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},"?":{"docs":{},"其":{"docs":{},"实":{"docs":{},"他":{"docs":{},"就":{"docs":{},"是":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"声":{"docs":{},"明":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}},"分":{"docs":{},"辨":{"docs":{},"率":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}},"拖":{"docs":{},"入":{"docs":{},"图":{"docs":{},"片":{"docs":{},",":{"docs":{},"并":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"@":{"2":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"@":{"3":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"、":{"docs":{},"滑":{"docs":{},"动":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}},"时":{"docs":{},"你":{"docs":{},"会":{"docs":{},"注":{"docs":{},"意":{"docs":{},"到":{"docs":{},"有":{"docs":{},"与":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},")":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}},"则":{"docs":{},"不":{"docs":{},"会":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}},",":{"docs":{},"则":{"docs":{},"冒":{"docs":{},"泡":{"docs":{},"继":{"docs":{},"续":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}},"才":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"便":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"局":{"docs":{},"部":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{},"当":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"如":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},"发":{"docs":{},"生":{"docs":{},"了":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"被":{"docs":{},"移":{"docs":{},"除":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"该":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"便":{"docs":{},"会":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"通":{"docs":{},"过":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"所":{"docs":{},"在":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"显":{"docs":{},"式":{"docs":{},"路":{"docs":{},"径":{"docs":{},"进":{"docs":{},"行":{"docs":{},"标":{"docs":{},"识":{"docs":{},"。":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"是":{"docs":{},"无":{"docs":{},"关":{"docs":{},"紧":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"目":{"docs":{},"录":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"任":{"docs":{},"意":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"(":{"docs":{},"在":{"docs":{},"本":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"是":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"都":{"docs":{},"有":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}},"委":{"docs":{},"托":{"docs":{},"必":{"docs":{},"须":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"盒":{"docs":{},"被":{"docs":{},"要":{"docs":{},"求":{"docs":{},"重":{"docs":{},"新":{"docs":{},"布":{"docs":{},"局":{"docs":{},"和":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"都":{"docs":{},"会":{"docs":{},"将":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"记":{"docs":{},"录":{"docs":{},"到":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"法":{"docs":{},"对":{"docs":{},"您":{"docs":{},"有":{"docs":{},"用":{"docs":{},",":{"docs":{},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"按":{"docs":{},"需":{"docs":{},"打":{"docs":{},"印":{"docs":{},"堆":{"docs":{},"栈":{"docs":{},"痕":{"docs":{},"迹":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"提":{"docs":{},"取":{"docs":{},"命":{"docs":{},"令":{"docs":{},"时":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"都":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"代":{"docs":{},"码":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"他":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"不":{"docs":{},"会":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"的":{"docs":{},"字":{"docs":{},"段":{"docs":{},"或":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"增":{"docs":{},"量":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"担":{"docs":{},"心":{"docs":{},"会":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"。":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"计":{"docs":{},"数":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"增":{"docs":{},",":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"就":{"docs":{},"会":{"docs":{},"打":{"docs":{},"印":{"docs":{},"一":{"docs":{},"句":{"docs":{},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"定":{"docs":{},"平":{"docs":{},"台":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}},"殊":{"docs":{},"情":{"docs":{},"况":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}},"请":{"docs":{},"导":{"docs":{},"航":{"docs":{},"至":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"。":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"启":{"docs":{},"动":{"docs":{},"界":{"docs":{},"面":{"docs":{},"(":{"docs":{},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"换":{"docs":{},"一":{"docs":{},"张":{"docs":{},"图":{"docs":{},"片":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"保":{"docs":{},"运":{"docs":{},"行":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"阅":{"docs":{},"读":{"docs":{},"下":{"docs":{},"面":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"想":{"docs":{},"象":{"docs":{},"一":{"docs":{},"下":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}},"求":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}},"那":{"docs":{},"么":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"和":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"方":{"docs":{},"法":{"docs":{},"可":{"docs":{},"以":{"docs":{},"彻":{"docs":{},"底":{"docs":{},"去":{"docs":{},"除":{"docs":{},"父":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"吗":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"否":{"docs":{},"定":{"docs":{},"的":{"docs":{},"!":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"此":{"docs":{},"提":{"docs":{},"示":{"docs":{},"读":{"docs":{},"者":{"docs":{},",":{"docs":{},"在":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"对":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"指":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},"时":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"指":{"docs":{},"定":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"相":{"docs":{},"关":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"大":{"docs":{},"小":{"docs":{},"时":{"docs":{},"将":{"docs":{},"可":{"docs":{},"能":{"docs":{},"非":{"docs":{},"常":{"docs":{},"困":{"docs":{},"难":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"在":{"docs":{},"不":{"docs":{},"更":{"docs":{},"改":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"无":{"docs":{},"法":{"docs":{},"彻":{"docs":{},"底":{"docs":{},"去":{"docs":{},"除":{"docs":{},"其":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{},"。":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"@":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"标":{"docs":{},"注":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"到":{"docs":{},"底":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"呢":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"其":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"其":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"接":{"docs":{},"口":{"docs":{},"类":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"有":{"docs":{},"潜":{"docs":{},"在":{"docs":{},"的":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{},"避":{"docs":{},"免":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"的":{"docs":{},"最":{"docs":{},"好":{"docs":{},"方":{"docs":{},"法":{"docs":{},"是":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"时":{"docs":{},",":{"docs":{},"程":{"docs":{},"序":{"docs":{},"包":{"docs":{},"作":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"版":{"docs":{},"本":{"docs":{},"范":{"docs":{},"围":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"特":{"docs":{},"定":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"类":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"顺":{"docs":{},"藤":{"docs":{},"摸":{"docs":{},"瓜":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"发":{"docs":{},"生":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},",":{"docs":{},"以":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"将":{"docs":{},"包":{"docs":{},"含":{"docs":{},"在":{"docs":{},"您":{"docs":{},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter2/flutter_assets_mgr.html":{"ref":"chapter2/flutter_assets_mgr.html","tf":0.0049261083743842365}}}}}}}}}}}}}},"←":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.08360337005832794}}},"→":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}},"⋯":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.006804925469863901}}},"│":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.09267660401814647}},"└":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"└":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"8":{"8":{"docs":{},".":{"0":{"docs":{},"(":{"3":{"6":{"9":{"1":{"6":{"0":{"2":{"6":{"7":{"docs":{},")":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{},"b":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"b":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"2":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"3":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"4":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"(":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"─":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0009721322099805574}},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.005832793259883344}}}}}}}}}},"├":{"docs":{},"_":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"[":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"1":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"docs":{}}}}}}}}}}}}}}},"─":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}},"╎":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.059300064808814}}},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{},"▀":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{},"▄":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}}}}}}}}}},"另":{"docs":{},"一":{"docs":{},"种":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},"每":{"docs":{},"个":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"描":{"docs":{},"述":{"docs":{},"的":{"docs":{},"”":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"”":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"它":{"docs":{},"告":{"docs":{},"诉":{"docs":{},"你":{"docs":{},"有":{"docs":{},"多":{"docs":{},"少":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"以":{"docs":{},"某":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"将":{"docs":{},"高":{"docs":{},"亮":{"docs":{},"状":{"docs":{},"态":{"docs":{},"导":{"docs":{},"出":{"docs":{},"到":{"docs":{},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"保":{"docs":{},"持":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},"为":{"docs":{},"内":{"docs":{},"部":{"docs":{},",":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"要":{"docs":{},"将":{"docs":{},"该":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"给":{"docs":{},"其":{"docs":{},"它":{"docs":{},"人":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"意":{"docs":{},"义":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"外":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"最":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"不":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"相":{"docs":{},"反":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"通":{"docs":{},"过":{"docs":{},"继":{"docs":{},"承":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"来":{"docs":{},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"也":{"docs":{},"正":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"类":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"引":{"docs":{},"入":{"docs":{},"了":{"docs":{},"两":{"docs":{},"种":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"重":{"docs":{},"点":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"场":{"docs":{},"景":{"docs":{},"中":{"docs":{},",":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"很":{"docs":{},"少":{"docs":{},"会":{"docs":{},"这":{"docs":{},"么":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"并":{"docs":{},"不":{"docs":{},"罕":{"docs":{},"见":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"能":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"动":{"docs":{},"处":{"docs":{},"理":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},",":{"docs":{},"那":{"docs":{},"将":{"docs":{},"会":{"docs":{},"非":{"docs":{},"常":{"docs":{},"好":{"docs":{},"。":{"docs":{},"幸":{"docs":{},"运":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"有":{"docs":{},"!":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"分":{"docs":{},"析":{"docs":{},"、":{"docs":{},"检":{"docs":{},"查":{"docs":{},"堆":{"docs":{},"等":{"docs":{},"。":{"docs":{},"有":{"docs":{},"关":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"更":{"docs":{},"多":{"docs":{},"信":{"docs":{},"息":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"允":{"docs":{},"许":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"数":{"docs":{},"量":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}},"包":{"docs":{},"中":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"文":{"docs":{},"件":{"docs":{},"之":{"docs":{},"间":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"对":{"docs":{},"路":{"docs":{},"径":{"docs":{},"来":{"docs":{},"导":{"docs":{},"入":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"将":{"docs":{},"出":{"docs":{},"现":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"问":{"docs":{},"题":{"docs":{},"将":{"docs":{},"是":{"docs":{},"调":{"docs":{},"试":{"docs":{},"断":{"docs":{},"言":{"docs":{},",":{"docs":{},"以":{"docs":{},"验":{"docs":{},"证":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"不":{"docs":{},"变":{"docs":{},"量":{"docs":{},"(":{"docs":{},"请":{"docs":{},"参":{"docs":{},"阅":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"“":{"docs":{},"调":{"docs":{},"试":{"docs":{},"模":{"docs":{},"式":{"docs":{},"断":{"docs":{},"言":{"docs":{},"”":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"中":{"docs":{},"的":{"docs":{},"白":{"docs":{},"线":{"docs":{},"以":{"1":{"6":{"docs":{},"m":{"docs":{},"s":{"docs":{},"增":{"docs":{},"量":{"docs":{},"沿":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"显":{"docs":{},"示":{"docs":{},";":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},"和":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":10}}}}}}},"及":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}},"完":{"docs":{},"成":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"框":{"docs":{},"架":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}},"整":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}},"例":{"docs":{},"子":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}},"层":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0006480881399870382}},"叠":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":10}}}}}}}}}}}}},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"中":{"docs":{},"的":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"、":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"布":{"docs":{},"局":{"docs":{},"是":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"到":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},"允":{"docs":{},"许":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"堆":{"docs":{},"叠":{"docs":{},"(":{"docs":{},"按":{"docs":{},"照":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},")":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"定":{"docs":{},"位":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"允":{"docs":{},"许":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"堆":{"docs":{},"叠":{"docs":{},",":{"docs":{},"而":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"可":{"docs":{},"以":{"docs":{},"给":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"定":{"docs":{},"位":{"docs":{},"(":{"docs":{},"根":{"docs":{},"据":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"四":{"docs":{},"个":{"docs":{},"角":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"展":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"帧":{"docs":{},"时":{"docs":{},".":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},",":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}},"注":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"可":{"docs":{},"选":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"场":{"docs":{},"景":{"docs":{},"需":{"docs":{},"要":{"docs":{},"判":{"docs":{},"空":{"docs":{},"或":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"等":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"由":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"者":{"docs":{},"大":{"docs":{},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"了":{"docs":{},"解":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"代":{"docs":{},"码":{"docs":{},"健":{"docs":{},"壮":{"docs":{},"性":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"用":{"docs":{},"户":{"docs":{},"错":{"docs":{},"误":{"docs":{},"地":{"docs":{},"使":{"docs":{},"用":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},"能":{"docs":{},"够":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"或":{"docs":{},"报":{"docs":{},"错":{"docs":{},"提":{"docs":{},"示":{"docs":{},"(":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"断":{"docs":{},"言":{"docs":{},"函":{"docs":{},"数":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"树":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"类":{"docs":{},"也":{"docs":{},"具":{"docs":{},"有":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},",":{"docs":{},"从":{"docs":{},"该":{"docs":{},"点":{"docs":{},"返":{"docs":{},"回":{"docs":{},"整":{"docs":{},"个":{"docs":{},"子":{"docs":{},"树":{"docs":{},"的":{"docs":{},"多":{"docs":{},"行":{"docs":{},"描":{"docs":{},"述":{"docs":{},"。":{"docs":{},"已":{"docs":{},"一":{"docs":{},"些":{"docs":{},"具":{"docs":{},"有":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"类":{"docs":{},"会":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"只":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"或":{"docs":{},"其":{"docs":{},"他":{"docs":{},"非":{"docs":{},"常":{"docs":{},"简":{"docs":{},"短":{"docs":{},"的":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"或":{"docs":{},"两":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},")":{"docs":{},"描":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{},"语":{"docs":{},"句":{"docs":{},"级":{"docs":{},"单":{"docs":{},"步":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{},",":{"docs":{},"则":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"内":{"docs":{},"置":{"docs":{},"的":{"docs":{},"调":{"docs":{},"试":{"docs":{},"器":{"docs":{},"来":{"docs":{},"调":{"docs":{},"试":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"空":{"docs":{},"白":{"docs":{},"(":{"docs":{},"如":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},"以":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"束":{"docs":{},"条":{"docs":{},"件":{"docs":{},"为":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}},"衡":{"docs":{},"量":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"间":{"docs":{"chapter2/flutter_app_debug.html":{"ref":"chapter2/flutter_app_debug.html","tf":0.0003240440699935191}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.010033444816053512}},"\"":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},".":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.006688963210702341}}},":":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"些":{"docs":{},"代":{"docs":{},"码":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"行":{"docs":{},"为":{"docs":{},"等":{"docs":{},",":{"docs":{},"举":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}},"中":{"docs":{},"发":{"docs":{},"生":{"docs":{},"未":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},"(":{"docs":{},"无":{"docs":{},"论":{"docs":{},"同":{"docs":{},"步":{"docs":{},"还":{"docs":{},"是":{"docs":{},"异":{"docs":{},"步":{"docs":{},")":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"发":{"docs":{},"生":{"docs":{},"的":{"docs":{},"错":{"docs":{},"误":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"跨":{"docs":{},"越":{"docs":{},"当":{"docs":{},"前":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"边":{"docs":{},"界":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"跨":{"docs":{},"越":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}},"边":{"docs":{},"界":{"docs":{},"去":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"共":{"docs":{},"同":{"docs":{},"的":{"docs":{},"“":{"docs":{},"源":{"docs":{},"”":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"来":{"docs":{},"捕":{"docs":{},"获":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"该":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter2/thread_model_and_error_report.html":{"ref":"chapter2/thread_model_and_error_report.html","tf":0.0033444816053511705}}}}}}}}}}}},"沿":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"空":{"docs":{},"间":{"docs":{},"不":{"docs":{},"够":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{},":":{"docs":{"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},":":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"单":{"docs":{},"选":{"docs":{},"框":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":10}}}}}}},"开":{"docs":{},"关":{"docs":{},"和":{"docs":{},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}},"一":{"docs":{},"方":{"docs":{},"向":{"docs":{},"拖":{"docs":{},"动":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"按":{"docs":{},"钮":{"docs":{"chapter3/":{"ref":"chapter3/","tf":0.1},"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":10.008130081300813}},"外":{"docs":{},"观":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"其":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"属":{"docs":{},"性":{"docs":{},"大":{"docs":{},"同":{"docs":{},"小":{"docs":{},"异":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"以":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"宽":{"docs":{},"高":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093}}}}},"照":{"docs":{},"惯":{"docs":{},"例":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"应":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"参":{"docs":{},"数":{"docs":{},"中":{"docs":{},"的":{"docs":{},"必":{"docs":{},"要":{"docs":{},"参":{"docs":{},"数":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"@":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"标":{"docs":{},"注":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"有":{"docs":{},"利":{"docs":{},"于":{"docs":{},"静":{"docs":{},"态":{"docs":{},"代":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},"器":{"docs":{},"进":{"docs":{},"行":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"另":{"docs":{},"外":{"docs":{},",":{"docs":{},"在":{"docs":{},"继":{"docs":{},"承":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"时":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"通":{"docs":{},"常":{"docs":{},"应":{"docs":{},"该":{"docs":{},"是":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"接":{"docs":{},"受":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"通":{"docs":{},"常":{"docs":{},"应":{"docs":{},"该":{"docs":{},"将":{"docs":{},"它":{"docs":{},"放":{"docs":{},"在":{"docs":{},"参":{"docs":{},"数":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"惯":{"docs":{},"例":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"应":{"docs":{},"被":{"docs":{},"声":{"docs":{},"明":{"docs":{},"为":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"被":{"docs":{},"意":{"docs":{},"外":{"docs":{},"改":{"docs":{},"变":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"时":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"“":{"docs":{},"水":{"docs":{},"波":{"docs":{},"动":{"docs":{},"画":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}},"+":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}},"+":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":0.005988023952095809}}}}}}}}}},"=":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.012605042016806723},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.012433392539964476},"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}},"x":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}},"?":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.008350730688935281},"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.00273224043715847},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857},"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545},"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403},"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717},"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}},"?":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.011627906976744186},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}},"=":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}},"—":{"docs":{},"—":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"盒":{"docs":{},"子":{"docs":{},",":{"docs":{},"当":{"docs":{},"点":{"docs":{},"击":{"docs":{},"它":{"docs":{},"时":{"docs":{},",":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"背":{"docs":{},"景":{"docs":{},"会":{"docs":{},"在":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"与":{"docs":{},"灰":{"docs":{},"色":{"docs":{},"之":{"docs":{},"间":{"docs":{},"切":{"docs":{},"换":{"docs":{},"。":{"docs":{},"状":{"docs":{},"态":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":10}}}}}}}},"取":{"docs":{},"代":{"docs":{},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}},"堆":{"docs":{},"叠":{"docs":{},",":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"处":{"docs":{},"理":{"docs":{},"抬":{"docs":{},"起":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"按":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}},"包":{"docs":{},"的":{"docs":{},"相":{"docs":{},"互":{"docs":{},"依":{"docs":{},"赖":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}},"复":{"docs":{},"写":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"设":{"docs":{},"置":{"docs":{},"诊":{"docs":{},"断":{"docs":{},"树":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}},"杂":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"往":{"docs":{},"往":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"标":{"docs":{},"志":{"docs":{},"来":{"docs":{},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"后":{"docs":{},"面":{"docs":{},"举":{"docs":{},"例":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"概":{"docs":{},"念":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}},"父":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"管":{"docs":{},"理":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"的":{"docs":{},"s":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"对":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"该":{"docs":{},"值":{"docs":{},"根":{"docs":{},"据":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"确":{"docs":{},"定":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"a":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}},"自":{"docs":{},"身":{"docs":{},"状":{"docs":{},"态":{"docs":{},".":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}},"对":{"docs":{},"象":{"docs":{},"表":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}},"读":{"docs":{},"者":{"docs":{},"应":{"docs":{},"该":{"docs":{},"将":{"docs":{},"这":{"docs":{},"两":{"docs":{},"点":{"docs":{},"牢":{"docs":{},"记":{"docs":{},"在":{"docs":{},"心":{"docs":{},"中":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"运":{"docs":{},"行":{"docs":{},"示":{"docs":{},"例":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678}}}}}}}}}}}}}},"取":{"docs":{},"点":{"docs":{},"击":{"docs":{},"次":{"docs":{},"数":{"docs":{},"(":{"docs":{},"以":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},")":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}},"响":{"docs":{},"应":{"docs":{},"内":{"docs":{},"容":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"与":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},"(":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},"。":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"中":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"多":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},"(":{"docs":{},"作":{"docs":{},"为":{"docs":{},"其":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},"。":{"docs":{"chapter3/flutter_widget_intro.html":{"ref":"chapter3/flutter_widget_intro.html","tf":0.0010438413361169101}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"​":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788},"chapter11/android_implement.html":{"ref":"chapter11/android_implement.html","tf":0.0031446540880503146}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"内":{"docs":{},"容":{"docs":{},"超":{"docs":{},"过":{"docs":{},"一":{"docs":{},"行":{"docs":{},",":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"等":{"docs":{},"于":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"宽":{"docs":{},"度":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"行":{"docs":{},"文":{"docs":{},"本":{"docs":{},"便":{"docs":{},"会":{"docs":{},"居":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"体":{"docs":{},"主":{"docs":{},"题":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"标":{"docs":{},"题":{"docs":{},"、":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"等":{"docs":{},"文":{"docs":{},"字":{"docs":{},"样":{"docs":{},"式":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}},"段":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}},":":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.0273972602739726},"chapter6/single_child_scrollview.html":{"ref":"chapter6/single_child_scrollview.html","tf":0.015625}}}}},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"默":{"docs":{},"认":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"集":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"字":{"docs":{},"体":{"docs":{},"时":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"先":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"平":{"docs":{},"台":{"docs":{},"测":{"docs":{},"试":{"docs":{},"一":{"docs":{},"下":{"docs":{},"。":{"docs":{"chapter3/text.html":{"ref":"chapter3/text.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"代":{"docs":{},"表":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"文":{"docs":{},"本":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"长":{"docs":{},"度":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"后":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"计":{"docs":{},"数":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"决":{"docs":{},"定":{"docs":{},"当":{"docs":{},"输":{"docs":{},"入":{"docs":{},"文":{"docs":{},"本":{"docs":{},"长":{"docs":{},"度":{"docs":{},"超":{"docs":{},"过":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"时":{"docs":{},"是":{"docs":{},"否":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},"不":{"docs":{},"会":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"输":{"docs":{},"入":{"docs":{},"但":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"会":{"docs":{},"变":{"docs":{},"红":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"数":{"docs":{},"组":{"docs":{},"。":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},"吧":{"docs":{},",":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"主":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"其":{"docs":{},"外":{"docs":{},"形":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"背":{"docs":{},"景":{"docs":{},"是":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"(":{"docs":{},"深":{"docs":{},"色":{"docs":{},")":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"指":{"docs":{},"定":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"主":{"docs":{},"题":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"为":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"保":{"docs":{},"证":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"字":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"为":{"docs":{},"浅":{"docs":{},"色":{"docs":{},"。":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"时":{"docs":{},"候":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"给":{"docs":{},"列":{"docs":{},"表":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"固":{"docs":{},"定":{"docs":{},"表":{"docs":{},"头":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"列":{"docs":{},"表":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"添":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"“":{"docs":{},"商":{"docs":{},"品":{"docs":{},"列":{"docs":{},"表":{"docs":{},"”":{"docs":{},"标":{"docs":{},"题":{"docs":{},",":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"人":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"问":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"像":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"g":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"类":{"docs":{},"库":{"docs":{},"?":{"docs":{},"答":{"docs":{},"案":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"!":{"docs":{},"因":{"docs":{},"为":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"库":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"反":{"docs":{},"射":{"docs":{},",":{"docs":{},"这":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"是":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"的":{"docs":{},"。":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"反":{"docs":{},"射":{"docs":{},"会":{"docs":{},"干":{"docs":{},"扰":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"显":{"docs":{},"了":{"docs":{},",":{"docs":{},"独":{"docs":{},"立":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"层":{"docs":{},")":{"docs":{},"上":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},",":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"正":{"docs":{},"确":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"高":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{},"具":{"docs":{},"体":{"docs":{},"原":{"docs":{},"理":{"docs":{},"是":{"docs":{},":":{"docs":{},"和":{"docs":{},"触":{"docs":{},"发":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"和":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"其":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"本":{"docs":{},"身":{"docs":{},"没":{"docs":{},"有":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"东":{"docs":{},"西":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"将":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"中":{"docs":{},"在":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"加":{"docs":{},"上":{"docs":{},"自":{"docs":{},"身":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"作":{"docs":{},"为":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"。":{"docs":{},"而":{"docs":{},"如":{"docs":{},"果":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"还":{"docs":{},"有":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"还":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"此":{"docs":{},"递":{"docs":{},"归":{"docs":{},"完":{"docs":{},"成":{"docs":{},"整":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"树":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{},"栈":{"docs":{},"为":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"正":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}},"禁":{"docs":{},"用":{"docs":{},"时":{"docs":{},"的":{"docs":{},"阴":{"docs":{},"影":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}},"细":{"docs":{},"心":{"docs":{},"的":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"没":{"docs":{},"有":{"docs":{},"阴":{"docs":{},"影":{"docs":{},"(":{"docs":{},"点":{"docs":{},"击":{"docs":{},"之":{"docs":{},"后":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"显":{"docs":{},"得":{"docs":{},"没":{"docs":{},"有":{"docs":{},"质":{"docs":{},"感":{"docs":{},"。":{"docs":{},"其":{"docs":{},"实":{"docs":{},"这":{"docs":{},"也":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},",":{"docs":{},"将":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"换":{"docs":{},"成":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"就":{"docs":{},"行":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"代":{"docs":{},"码":{"docs":{},"不":{"docs":{},"用":{"docs":{},"改":{"docs":{},",":{"docs":{},"换":{"docs":{},"了":{"docs":{},"之":{"docs":{},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"看":{"docs":{},"效":{"docs":{},"果":{"docs":{},":":{"docs":{"chapter3/buttons.html":{"ref":"chapter3/buttons.html","tf":0.008130081300813009}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"发":{"docs":{},"现":{"docs":{},"上":{"docs":{},"面":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\\":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}},"u":{"docs":{},"e":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}},"docs":{}},"docs":{}},"9":{"0":{"docs":{},"d":{"docs":{},"\"":{"docs":{},";":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"docs":{}},"docs":{}}}},"从":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"加":{"docs":{},"载":{"docs":{},"图":{"docs":{},"片":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}},"异":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{},"中":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"到":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"高":{"docs":{},"度":{"docs":{},"边":{"docs":{},"界":{"docs":{},"无":{"docs":{},"法":{"docs":{},"确":{"docs":{},"定":{"docs":{},"引":{"docs":{},"起":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"解":{"docs":{},"决":{"docs":{},"的":{"docs":{},"办":{"docs":{},"法":{"docs":{},"也":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"给":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"指":{"docs":{},"定":{"docs":{},"边":{"docs":{},"界":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"指":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"高":{"docs":{},"度":{"docs":{},"看":{"docs":{},"看":{"docs":{},"是":{"docs":{},"否":{"docs":{},"生":{"docs":{},"效":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"到":{"docs":{},"显":{"docs":{},"示":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"项":{"docs":{},"目":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"书":{"docs":{},"籍":{"docs":{},"图":{"docs":{},"标":{"docs":{},"和":{"docs":{},"微":{"docs":{},"信":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"打":{"docs":{},"包":{"docs":{},"下":{"docs":{},"载":{"docs":{},"后":{"docs":{},"导":{"docs":{},"入":{"docs":{},":":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"从":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"异":{"docs":{},"步":{"docs":{},"分":{"docs":{},"批":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"一":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"当":{"docs":{},"我":{"docs":{},"们":{"docs":{},"滑":{"docs":{},"动":{"docs":{},"到":{"docs":{},"列":{"docs":{},"表":{"docs":{},"末":{"docs":{},"尾":{"docs":{},"时":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"去":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},",":{"docs":{},"则":{"docs":{},"去":{"docs":{},"拉":{"docs":{},"取":{"docs":{},",":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"在":{"docs":{},"表":{"docs":{},"尾":{"docs":{},"显":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"将":{"docs":{},"数":{"docs":{},"据":{"docs":{},"插":{"docs":{},"入":{"docs":{},"列":{"docs":{},"表":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"再":{"docs":{},"去":{"docs":{},"拉":{"docs":{},"取":{"docs":{},",":{"docs":{},"则":{"docs":{},"在":{"docs":{},"表":{"docs":{},"尾":{"docs":{},"提":{"docs":{},"示":{"docs":{},"\"":{"docs":{},"没":{"docs":{},"有":{"docs":{},"更":{"docs":{},"多":{"docs":{},"\"":{"docs":{},"。":{"docs":{},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter6/listview.html":{"ref":"chapter6/listview.html","tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"给":{"docs":{},"一":{"docs":{},"段":{"docs":{},"富":{"docs":{},"文":{"docs":{},"本":{"docs":{},"(":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"部":{"docs":{},"分":{"docs":{},"分":{"docs":{},"别":{"docs":{},"添":{"docs":{},"加":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"器":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"能":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"但":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"点":{"docs":{},"击":{"docs":{},"时":{"docs":{},"给":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"色":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"从":{"docs":{},"一":{"docs":{},"个":{"docs":{},"异":{"docs":{},"步":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"(":{"docs":{},"如":{"docs":{},"网":{"docs":{},"络":{"docs":{},")":{"docs":{},"分":{"docs":{},"批":{"docs":{},"获":{"docs":{},"取":{"docs":{},"一":{"docs":{},"些":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"来":{"docs":{},"展":{"docs":{},"示":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"后":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"自":{"docs":{},"签":{"docs":{},"名":{"docs":{},"证":{"docs":{},"书":{"docs":{},",":{"docs":{},"证":{"docs":{},"书":{"docs":{},"格":{"docs":{},"式":{"docs":{},"是":{"docs":{},"p":{"docs":{},"e":{"docs":{},"m":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"证":{"docs":{},"书":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"中":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"校":{"docs":{},"验":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"包":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"和":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"包":{"docs":{},"都":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"是":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"_":{"docs":{},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"a":{"docs":{},"和":{"docs":{},"b":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"交":{"docs":{},"互":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"想":{"docs":{},"让":{"docs":{},"某":{"docs":{},"个":{"docs":{},"子":{"docs":{},"树":{"docs":{},"响":{"docs":{},"应":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"能":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"子":{"docs":{},"树":{"docs":{},"接":{"docs":{},"收":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"在":{"docs":{},"于":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"会":{"docs":{},"参":{"docs":{},"与":{"docs":{},"命":{"docs":{},"中":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"会":{"docs":{},"参":{"docs":{},"与":{"docs":{},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"接":{"docs":{},"收":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"(":{"docs":{},"但":{"docs":{},"其":{"docs":{},"子":{"docs":{},"树":{"docs":{},"不":{"docs":{},"行":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"可":{"docs":{},"以":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"或":{"docs":{},"用":{"docs":{},"户":{"docs":{},"动":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"设":{"docs":{},"置":{"docs":{},"时":{"docs":{},"此":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"即":{"docs":{},"为":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"当":{"docs":{},"前":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{},"当":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"手":{"docs":{},"动":{"docs":{},"指":{"docs":{},"定":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"此":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},"代":{"docs":{},"表":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"将":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"系":{"docs":{},"统":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"应":{"docs":{},"用":{"docs":{},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"要":{"docs":{},"展":{"docs":{},"示":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"而":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"正":{"docs":{},"是":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"微":{"docs":{},"信":{"docs":{},"图":{"docs":{},"标":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}},"矢":{"docs":{},"量":{"docs":{},"的":{"docs":{},":":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"是":{"docs":{},"矢":{"docs":{},"量":{"docs":{},"图":{"docs":{},"标":{"docs":{},",":{"docs":{},"放":{"docs":{},"大":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"其":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"度":{"docs":{},"。":{"docs":{"chapter3/img_and_icon.html":{"ref":"chapter3/img_and_icon.html","tf":0.004201680672268907}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}},"及":{"docs":{},"外":{"docs":{},"观":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"执":{"docs":{},"行":{"docs":{},"旋":{"docs":{},"转":{"docs":{},"动":{"docs":{},"画":{"docs":{},"时":{"docs":{},"变":{"docs":{},"化":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"来":{"docs":{},"画":{"docs":{},"出":{"docs":{},"我":{"docs":{},"们":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"供":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},"。":{"docs":{"chapter13/intro.html":{"ref":"chapter13/intro.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"其":{"docs":{},"值":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},"值":{"docs":{},"会":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{"chapter3/radio_and_checkbox.html":{"ref":"chapter3/radio_and_checkbox.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"一":{"docs":{},"般":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"接":{"docs":{},"受":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},")":{"docs":{},",":{"docs":{},"他":{"docs":{},"们":{"docs":{},"直":{"docs":{},"接":{"docs":{},"或":{"docs":{},"间":{"docs":{},"接":{"docs":{},"继":{"docs":{},"承":{"docs":{},"自":{"docs":{},"(":{"docs":{},"或":{"docs":{},"包":{"docs":{},"含":{"docs":{},")":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"|":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.036885245901639344},"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.13122171945701358}},"|":{"docs":{"chapter7/willpopscope.html":{"ref":"chapter7/willpopscope.html","tf":0.012345679012345678},"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.014925373134328358},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877},"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.007434944237918215}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"名":{"docs":{},"称":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}},"s":{"docs":{},"|":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}},"”":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"相":{"docs":{},"比":{"docs":{},",":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"是":{"docs":{},"专":{"docs":{},"门":{"docs":{},"用":{"docs":{},"于":{"docs":{},"监":{"docs":{},"听":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"而":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"却":{"docs":{},"多":{"docs":{},"一":{"docs":{},"些":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"能":{"docs":{},"监":{"docs":{},"听":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{},"外":{"docs":{},",":{"docs":{},"它":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"、":{"docs":{},"选":{"docs":{},"择":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"例":{"docs":{},"子":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},"前":{"docs":{},"者":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"者":{"docs":{},"执":{"docs":{},"行":{"docs":{},"了":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"看":{"docs":{},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"之":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"首":{"docs":{},"先":{"docs":{},"了":{"docs":{},"解":{"docs":{},"一":{"docs":{},"下":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{},"后":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{},";":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}},"日":{"docs":{},"期":{"docs":{},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{},";":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}},"电":{"docs":{},"子":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"地":{"docs":{},"址":{"docs":{},";":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"@":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"话":{"docs":{},"号":{"docs":{},"码":{"docs":{},"输":{"docs":{},"入":{"docs":{},"键":{"docs":{},"盘":{"docs":{},";":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"数":{"docs":{},"字":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"并":{"docs":{},"显":{"docs":{},"示":{"docs":{},"\"":{"docs":{},"*":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"“":{"docs":{},"/":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"在":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"树":{"docs":{},"中":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"位":{"docs":{},"置":{"docs":{},"向":{"docs":{},"上":{"docs":{},"查":{"docs":{},"找":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"所":{"docs":{},"以":{"docs":{},"当":{"docs":{},"局":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"后":{"docs":{},",":{"docs":{},"其":{"docs":{},"子":{"docs":{},"树":{"docs":{},"中":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},")":{"docs":{},"找":{"docs":{},"到":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"便":{"docs":{},"是":{"docs":{},"该":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"一":{"docs":{},"个":{"docs":{},"祖":{"docs":{},"先":{"docs":{},"节":{"docs":{},"点":{"docs":{},"共":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}},"被":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"和":{"docs":{},"它":{"docs":{},"的":{"docs":{},"子":{"docs":{},"类":{"docs":{},"使":{"docs":{},"用":{"docs":{},".":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}},"含":{"docs":{},"义":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235},"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633},"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}},"多":{"docs":{},"行":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"需":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{},"配":{"docs":{},"合":{"docs":{},"使":{"docs":{},"用":{"docs":{},"(":{"docs":{},"设":{"docs":{},"为":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"或":{"docs":{},"大":{"docs":{},"于":{"1":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"限":{"docs":{},"制":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269}}}}}},"密":{"docs":{},"码":{"docs":{},"不":{"docs":{},"能":{"docs":{},"小":{"docs":{},"于":{"6":{"docs":{},"位":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"小":{"docs":{},"于":{"6":{"docs":{},"为":{"docs":{},"则":{"docs":{},"提":{"docs":{},"示":{"docs":{},"“":{"docs":{},"密":{"docs":{},"码":{"docs":{},"不":{"docs":{},"能":{"docs":{},"少":{"docs":{},"于":{"6":{"docs":{},"位":{"docs":{},"”":{"docs":{},"。":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}},"控":{"docs":{},"制":{"docs":{},"焦":{"docs":{},"点":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"台":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}},"数":{"docs":{},"字":{"docs":{},";":{"docs":{},"会":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"数":{"docs":{},"字":{"docs":{},"键":{"docs":{},"盘":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}},"据":{"docs":{},"共":{"docs":{},"享":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111},"chapter7/inherited_widget.html":{"ref":"chapter7/inherited_widget.html","tf":5}}}}}},"校":{"docs":{},"验":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"焦":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"和":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"来":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"由":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"控":{"docs":{},"制":{"docs":{},"范":{"docs":{},"围":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"在":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"之":{"docs":{},"间":{"docs":{},"移":{"docs":{},"动":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"、":{"docs":{},"设":{"docs":{},"置":{"docs":{},"默":{"docs":{},"认":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"等":{"docs":{},"。":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"界":{"docs":{},"面":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}},"登":{"docs":{},"录":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}},"监":{"docs":{},"听":{"docs":{},"文":{"docs":{},"本":{"docs":{},"变":{"docs":{},"化":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}},"也":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}}}}},"焦":{"docs":{},"点":{"docs":{},"变":{"docs":{},"化":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}},"来":{"docs":{},"自":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"消":{"docs":{},"息":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"语":{"docs":{},"言":{"docs":{},"切":{"docs":{},"换":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}},"表":{"docs":{},"单":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"chapter3/input_and_form.html":{"ref":"chapter3/input_and_form.html","tf":0.001366120218579235}}}}}}}},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":10}}}}}},"允":{"docs":{},"许":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"按":{"docs":{},"照":{"docs":{},"一":{"docs":{},"定":{"docs":{},"比":{"docs":{},"例":{"docs":{},"来":{"docs":{},"分":{"docs":{},"配":{"docs":{},"父":{"docs":{},"容":{"docs":{},"器":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"在":{"docs":{},"其":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"也":{"docs":{},"都":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"如":{"docs":{},"h":{"5":{"docs":{},"中":{"docs":{},"的":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"盒":{"docs":{},"子":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"。":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"弹":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"主":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"来":{"docs":{},"配":{"docs":{},"合":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"chapter4/flex.html":{"ref":"chapter4/flex.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":10}}}}}}}}}}}}}}},"线":{"docs":{},"性":{"docs":{},"布":{"docs":{},"局":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter4/":{"ref":"chapter4/","tf":0.16666666666666666},"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":10}}}}}}}}},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"chapter4/row_and_column.html":{"ref":"chapter4/row_and_column.html","tf":0.0053475935828877}}}}}}}}}}}}}}}},"纵":{"docs":{},"轴":{"docs":{},"(":{"docs":{},"垂":{"docs":{},"直":{"docs":{},")":{"docs":{},"方":{"docs":{},"向":{"docs":{},"间":{"docs":{},"距":{"docs":{"chapter4/wrap_and_flow.html":{"ref":"chapter4/wrap_and_flow.html","tf":0.005076142131979695}}}}}}}}}}}},"、":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"、":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.015873015873015872}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"等":{"docs":{},"也":{"docs":{},"会":{"docs":{},"受":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"监":{"docs":{},"听":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter8/notification.html":{"ref":"chapter8/notification.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"反":{"docs":{},"向":{"docs":{},"播":{"docs":{},"放":{"docs":{"chapter9/intro.html":{"ref":"chapter9/intro.html","tf":0.005405405405405406}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter4/stack.html":{"ref":"chapter4/stack.html","tf":0.007936507936507936}}}}},":":{"docs":{"chapter5/constrainedbox_and_sizebox.html":{"ref":"chapter5/constrainedbox_and_sizebox.html","tf":0.005847953216374269},"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}},"容":{"docs":{},"器":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter5/":{"ref":"chapter5/","tf":10.076923076923077}},"和":{"docs":{},"布":{"docs":{},"局":{"docs":{},"类":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"都":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"其":{"docs":{},"子":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},":":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"时":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"优":{"docs":{},"先":{"docs":{},"。":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"装":{"docs":{},"饰":{"docs":{},"容":{"docs":{},"器":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"chapter5/":{"ref":"chapter5/","tf":0.07692307692307693},"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":10}}}}}}}}}}}}}}}}}},"各":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"都":{"docs":{},"是":{"docs":{},"自":{"docs":{},"解":{"docs":{},"释":{"docs":{},"的":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"怎":{"docs":{},"么":{"docs":{},"样":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"渐":{"docs":{},"变":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"外":{"docs":{},"观":{"docs":{},",":{"docs":{},"但":{"docs":{},"此":{"docs":{},"示":{"docs":{},"例":{"docs":{},"还":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"还":{"docs":{},"不":{"docs":{},"能":{"docs":{},"响":{"docs":{},"应":{"docs":{},"点":{"docs":{},"击":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"本":{"docs":{},"章":{"docs":{},"末":{"docs":{},"尾":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"chapter5/decoratedbox.html":{"ref":"chapter5/decoratedbox.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"这":{"docs":{},"些":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"还":{"docs":{},"支":{"docs":{},"持":{"docs":{},"请":{"docs":{},"求":{"docs":{},"配":{"docs":{},"置":{"docs":{},"、":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"等":{"docs":{},",":{"docs":{},"官":{"docs":{},"方":{"docs":{},"资":{"docs":{},"料":{"docs":{},"比":{"docs":{},"较":{"docs":{},"详":{"docs":{},"细":{"docs":{},",":{"docs":{},"故":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"主":{"docs":{},"页":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"关":{"docs":{},"于":{"docs":{},"矩":{"docs":{},"阵":{"docs":{},"变":{"docs":{},"换":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"内":{"docs":{},"容":{"docs":{},"属":{"docs":{},"于":{"docs":{},"线":{"docs":{},"性":{"docs":{},"代":{"docs":{},"数":{"docs":{},"范":{"docs":{},"畴":{"docs":{},",":{"docs":{},"本":{"docs":{},"书":{"docs":{},"不":{"docs":{},"做":{"docs":{},"讨":{"docs":{},"论":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"了":{"docs":{},"解":{"docs":{},"。":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"把":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"放":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"一":{"docs":{},"些":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"变":{"docs":{},"换":{"docs":{},"效":{"docs":{},"果":{"docs":{},"上":{"docs":{},"。":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"赘":{"docs":{},"述":{"docs":{},"。":{"docs":{"chapter9/route_transition.html":{"ref":"chapter9/route_transition.html","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"闭":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"后":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"该":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"发":{"docs":{},"起":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"会":{"docs":{},"中":{"docs":{},"止":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"连":{"docs":{},"接":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"。":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}}}}}}}}}}}}}}}},"旋":{"docs":{},"转":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315}}}},"缩":{"docs":{},"放":{"docs":{"chapter5/transform.html":{"ref":"chapter5/transform.html","tf":0.00684931506849315},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"背":{"docs":{},"景":{"docs":{},"色":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}},"装":{"docs":{},"饰":{"docs":{"chapter5/container.html":{"ref":"chapter5/container.html","tf":0.006711409395973154}}}},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"后":{"docs":{},"面":{"docs":{},";":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}},"右":{"docs":{},"下":{"docs":{},"角":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"悬":{"docs":{},"浮":{"docs":{},"的":{"docs":{},"动":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"通":{"docs":{},"常":{"docs":{},"将":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"它":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"风":{"docs":{},"格":{"docs":{},"的":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"面":{"docs":{},"板":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"可":{"docs":{},"以":{"docs":{},"移":{"docs":{},"除":{"docs":{},"抽":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"指":{"docs":{},"定":{"docs":{},"空":{"docs":{},"白":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"传":{"docs":{},"递":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"来":{"docs":{},"看":{"docs":{},"看":{"docs":{},"实":{"docs":{},"际":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{},"抽":{"docs":{},"屉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"页":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"由":{"docs":{},"用":{"docs":{},"户":{"docs":{},"头":{"docs":{},"像":{"docs":{},"和":{"docs":{},"昵":{"docs":{},"称":{"docs":{},"组":{"docs":{},"成":{"docs":{},",":{"docs":{},"底":{"docs":{},"部":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"用":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"关":{"docs":{},"于":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"面":{"docs":{},"“":{"docs":{},"可":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"步":{"docs":{},"骤":{"docs":{"chapter10/websocket.html":{"ref":"chapter10/websocket.html","tf":0.004545454545454545}},"有":{"docs":{},"两":{"docs":{},"步":{"docs":{},":":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"省":{"docs":{},"略":{"docs":{},"无":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}},"给":{"docs":{},"目":{"docs":{},"标":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"添":{"docs":{},"加":{"docs":{},"g":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"动":{"docs":{},"画":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"定":{"docs":{},"间":{"docs":{},"隔":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"标":{"docs":{},"题":{"docs":{"chapter5/material_scaffold.html":{"ref":"chapter5/material_scaffold.html","tf":0.002109704641350211}}}}}},"滚":{"docs":{},"动":{"docs":{},"监":{"docs":{},"听":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.005714285714285714}},"及":{"docs":{},"控":{"docs":{},"制":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"chapter6/":{"ref":"chapter6/","tf":0.14285714285714285},"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":10}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},"恢":{"docs":{},"复":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}},"必":{"docs":{},"须":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},":":{"docs":{"chapter6/gridview.html":{"ref":"chapter6/gridview.html","tf":0.004081632653061225}}}}}}}}}}}}},"%":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.013422818791946308},"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}},"s":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0037313432835820895}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}},"t":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}},"头":{"docs":{},"部":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"对":{"docs":{},"应":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"两":{"docs":{},"者":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"在":{"docs":{},"于":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"集":{"docs":{},"成":{"docs":{},"到":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"结":{"docs":{},"合":{"docs":{},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter6/custom_scrollview.html":{"ref":"chapter6/custom_scrollview.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},"获":{"docs":{},"得":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"不":{"docs":{},"同":{"docs":{},";":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"中":{"docs":{},"会":{"docs":{},"携":{"docs":{},"带":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"和":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"只":{"docs":{},"能":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"chapter6/scroll_controller.html":{"ref":"chapter6/scroll_controller.html","tf":0.002857142857142857}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"功":{"docs":{},"能":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter7/":{"ref":"chapter7/","tf":10}},"指":{"docs":{},"的":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"u":{"docs":{},"i":{"docs":{},"布":{"docs":{},"局":{"docs":{},"及":{"docs":{},"外":{"docs":{},"观":{"docs":{},"的":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"通":{"docs":{},"常":{"docs":{},"具":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"事":{"docs":{},"件":{"docs":{},"监":{"docs":{},"听":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},"等":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"之":{"docs":{},"前":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"过":{"docs":{},"的":{"docs":{},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"焦":{"docs":{},"点":{"docs":{},"控":{"docs":{},"制":{"docs":{},")":{"docs":{},"、":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"储":{"docs":{},")":{"docs":{},"、":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"事":{"docs":{},"件":{"docs":{},"监":{"docs":{},"听":{"docs":{},")":{"docs":{},"都":{"docs":{},"属":{"docs":{},"于":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"等":{"docs":{},"公":{"docs":{},"民":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"非":{"docs":{},"常":{"docs":{},"多":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"会":{"docs":{},"去":{"docs":{},"一":{"docs":{},"一":{"docs":{},"介":{"docs":{},"绍":{"docs":{},",":{"docs":{},"本":{"docs":{},"章":{"docs":{},"中":{"docs":{},"主":{"docs":{},"要":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"几":{"docs":{},"种":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"型":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"。":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"chapter7/":{"ref":"chapter7/","tf":0.1111111111111111}}}}}}}}}}}}},"颜":{"docs":{},"色":{"docs":{},"固":{"docs":{},"定":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}},"跟":{"docs":{},"随":{"docs":{},"主":{"docs":{},"题":{"docs":{},"\"":{"docs":{},")":{"docs":{"chapter7/theme.html":{"ref":"chapter7/theme.html","tf":0.005076142131979695}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"与":{"docs":{},"通":{"docs":{},"知":{"docs":{"chapter8/":{"ref":"chapter8/","tf":10.125}}}}}}},"总":{"docs":{},"线":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"共":{"docs":{},"享":{"docs":{},",":{"docs":{},"但":{"docs":{},"关":{"docs":{},"于":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"之":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"共":{"docs":{},"享":{"docs":{},"也":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"如":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},",":{"docs":{},"这":{"docs":{},"和":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"框":{"docs":{},"架":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"致":{"docs":{},"的":{"docs":{},"。":{"docs":{},"通":{"docs":{},"常":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"事":{"docs":{},"件":{"docs":{},"总":{"docs":{},"线":{"docs":{},"是":{"docs":{},"足":{"docs":{},"以":{"docs":{},"满":{"docs":{},"足":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"x":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"想":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"业":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"真":{"docs":{},"的":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"用":{"docs":{},"它":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"“":{"docs":{},"化":{"docs":{},"简":{"docs":{},"为":{"docs":{},"繁":{"docs":{},"”":{"docs":{},"、":{"docs":{},"过":{"docs":{},"度":{"docs":{},"设":{"docs":{},"计":{"docs":{},"。":{"docs":{"chapter8/eventbus.html":{"ref":"chapter8/eventbus.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"势":{"docs":{},"识":{"docs":{},"别":{"docs":{"chapter8/":{"ref":"chapter8/","tf":0.125},"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":10}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}},"冲":{"docs":{},"突":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}},"只":{"docs":{},"是":{"docs":{},"手":{"docs":{},"势":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"手":{"docs":{},"势":{"docs":{},"是":{"docs":{},"对":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},"的":{"docs":{},"识":{"docs":{},"别":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"场":{"docs":{},"景":{"docs":{},"时":{"docs":{},",":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"直":{"docs":{},"接":{"docs":{},"识":{"docs":{},"别":{"docs":{},"原":{"docs":{},"始":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{},"冲":{"docs":{},"突":{"docs":{},"。":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"竞":{"docs":{},"争":{"docs":{},"与":{"docs":{},"冲":{"docs":{},"突":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}}}}},"指":{"docs":{},"在":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"区":{"docs":{},"域":{"docs":{},"内":{"docs":{},"移":{"docs":{},"动":{"docs":{},"即":{"docs":{},"可":{"docs":{},"看":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"指":{"docs":{},"针":{"docs":{},"偏":{"docs":{},"移":{"docs":{},",":{"docs":{},"当":{"docs":{},"触":{"docs":{},"发":{"docs":{},"指":{"docs":{},"针":{"docs":{},"事":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"都":{"docs":{},"是":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"类":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"中":{"docs":{},"包":{"docs":{},"括":{"docs":{},"当":{"docs":{},"前":{"docs":{},"指":{"docs":{},"针":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"忽":{"docs":{},"略":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"chapter8/listener.html":{"ref":"chapter8/listener.html","tf":0.005917159763313609}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}}},"竞":{"docs":{},"争":{"docs":{"chapter8/gesture.html":{"ref":"chapter8/gesture.html","tf":0.0017761989342806395}}}},"交":{"docs":{},"错":{"docs":{},"动":{"docs":{},"画":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091},"chapter9/stagger_animation.html":{"ref":"chapter9/stagger_animation.html","tf":10.004237288135593}}}}}},"精":{"docs":{},"心":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"动":{"docs":{},"画":{"docs":{},"会":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"感":{"docs":{},"觉":{"docs":{},"更":{"docs":{},"直":{"docs":{},"观":{"docs":{},"、":{"docs":{},"流":{"docs":{},"畅":{"docs":{},",":{"docs":{},"能":{"docs":{},"改":{"docs":{},"善":{"docs":{},"用":{"docs":{},"户":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{"chapter9/":{"ref":"chapter9/","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"好":{"docs":{},"处":{"docs":{},"和":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},"。":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}}}}}}}}}}}}}}}}}}}}}}}}},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{"chapter9/animation_structure.html":{"ref":"chapter9/animation_structure.html","tf":0.002638522427440633}}}}},"共":{"docs":{},"享":{"docs":{},"元":{"docs":{},"素":{"docs":{},"转":{"docs":{},"换":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"来":{"docs":{},"体":{"docs":{},"验":{"docs":{},"一":{"docs":{},"下":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"后":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"的":{"docs":{},"共":{"docs":{},"享":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},",":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter9/hero.html":{"ref":"chapter9/hero.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"景":{"docs":{},"画":{"docs":{},"笔":{"docs":{},",":{"docs":{},"会":{"docs":{},"显":{"docs":{},"示":{"docs":{},"在":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"前":{"docs":{},"面":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}},"面":{"docs":{},"讲":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"如":{"docs":{},"何":{"docs":{},"支":{"docs":{},"持":{"docs":{},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{},",":{"docs":{},"本":{"docs":{},"节":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"我":{"docs":{},"们":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"中":{"docs":{},"如":{"docs":{},"何":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{},"根":{"docs":{},"据":{"docs":{},"上":{"docs":{},"节":{"docs":{},"所":{"docs":{},"述":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"两":{"docs":{},"个":{"docs":{},"类":{"docs":{},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"类":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"类":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"chapter12/locallization_implement.html":{"ref":"chapter12/locallization_implement.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{},"数":{"docs":{},"组":{"docs":{"chapter13/combine.html":{"ref":"chapter13/combine.html","tf":0.005813953488372093},"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}},"的":{"docs":{},"终":{"docs":{},"止":{"docs":{},"点":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{},"运":{"docs":{},"行":{"docs":{},"后":{"docs":{},"效":{"docs":{},"果":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"chapter13/turn_box.html":{"ref":"chapter13/turn_box.html","tf":0.0048543689320388345}}}}}}}}}}}}}}},"几":{"docs":{},"乎":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"系":{"docs":{},"统":{"docs":{},"都":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"一":{"docs":{},"块":{"2":{"docs":{},"d":{"docs":{},"画":{"docs":{},"布":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"基":{"docs":{},"本":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"各":{"docs":{},"种":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"图":{"docs":{},"形":{"docs":{},"。":{"docs":{},"在":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"利":{"docs":{},"用":{"docs":{},"好":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},";":{"docs":{},"在":{"docs":{},"u":{"docs":{},"i":{"docs":{},"树":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},",":{"docs":{},"控":{"docs":{},"件":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"必":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},";":{"docs":{},"假":{"docs":{},"如":{"docs":{},"我":{"docs":{},"们":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"外":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"应":{"docs":{},"该":{"docs":{},"始":{"docs":{},"终":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"外":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},"改":{"docs":{},"变":{"docs":{},"导":{"docs":{},"致":{"docs":{},"重":{"docs":{},"新":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"时":{"docs":{},"不":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"u":{"docs":{},"i":{"docs":{},"外":{"docs":{},"观":{"docs":{},";":{"docs":{},"如":{"docs":{},"果":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"外":{"docs":{},"部":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"中":{"docs":{},"判":{"docs":{},"断":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"否":{"docs":{},"改":{"docs":{},"变":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"已":{"docs":{},"改":{"docs":{},"变":{"docs":{},"则":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"来":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"反":{"docs":{},"之":{"docs":{},"则":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"还":{"docs":{},"有":{"docs":{},"其":{"docs":{},"他":{"docs":{},"库":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"但":{"docs":{},"在":{"docs":{},"本":{"docs":{},"书":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"一":{"docs":{},"下":{"docs":{},"官":{"docs":{},"方":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"画":{"docs":{},"图":{"docs":{},"像":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"圆":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}},"弧":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"椭":{"docs":{},"圆":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"点":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"矩":{"docs":{},"形":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}},"笔":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}},"线":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}},"路":{"docs":{},"径":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}},"绘":{"docs":{},"制":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"多":{"docs":{},"的":{"docs":{},"分":{"docs":{},"层":{"docs":{},";":{"docs":{},"在":{"docs":{},"上":{"docs":{},"面":{"docs":{},"五":{"docs":{},"子":{"docs":{},"棋":{"docs":{},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"和":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"放":{"docs":{},"在":{"docs":{},"了":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"始":{"docs":{},"终":{"docs":{},"是":{"docs":{},"不":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"每":{"docs":{},"次":{"docs":{},"落":{"docs":{},"子":{"docs":{},"时":{"docs":{},"变":{"docs":{},"的":{"docs":{},"只":{"docs":{},"是":{"docs":{},"棋":{"docs":{},"子":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"按":{"docs":{},"照":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"时":{"docs":{},"都":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"一":{"docs":{},"次":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"单":{"docs":{},"独":{"docs":{},"抽":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"其":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"回":{"docs":{},"调":{"docs":{},"值":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"盘":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"作":{"docs":{},"为":{"docs":{},"背":{"docs":{},"景":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"放":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"落":{"docs":{},"子":{"docs":{},"时":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"棋":{"docs":{},"子":{"docs":{},"。":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"比":{"docs":{},"较":{"docs":{},"昂":{"docs":{},"贵":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"绘":{"docs":{},"控":{"docs":{},"件":{"docs":{},"时":{"docs":{},"应":{"docs":{},"该":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"性":{"docs":{},"能":{"docs":{},"开":{"docs":{},"销":{"docs":{},",":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"两":{"docs":{},"条":{"docs":{},"关":{"docs":{},"于":{"docs":{},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"建":{"docs":{},"议":{"docs":{},":":{"docs":{"chapter13/custom_paint.html":{"ref":"chapter13/custom_paint.html","tf":0.004524886877828055}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"很":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"或":{"docs":{},"很":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}},"前":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"会":{"docs":{},"受":{"docs":{},"显":{"docs":{},"示":{"docs":{},"器":{"docs":{},"的":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"同":{"docs":{},"步":{"docs":{},"信":{"docs":{},"号":{"docs":{},"v":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"驱":{"docs":{},"动":{"docs":{},",":{"docs":{},"当":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"时":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"先":{"docs":{},"画":{"docs":{},"背":{"docs":{},"景":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"再":{"docs":{},"画":{"docs":{},"前":{"docs":{},"景":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"渐":{"docs":{},"变":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}}}}}}},"圆":{"docs":{},"的":{"docs":{},"半":{"docs":{},"径":{"docs":{"chapter13/gradient_circular_progress_demo.html":{"ref":"chapter13/gradient_circular_progress_demo.html","tf":0.0013623978201634877}}}}}},"临":{"docs":{},"时":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}},"外":{"docs":{},"部":{"docs":{},"存":{"docs":{},"储":{"docs":{},"目":{"docs":{},"录":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"外":{"docs":{},"部":{"docs":{},"存":{"docs":{},"储":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"如":{"docs":{},"s":{"docs":{},"d":{"docs":{},"卡":{"docs":{},";":{"docs":{},"由":{"docs":{},"于":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"外":{"docs":{},"部":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"下":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"下":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{},"在":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"上":{"docs":{},",":{"docs":{},"这":{"docs":{},"是":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"chapter10/file_operation.html":{"ref":"chapter10/file_operation.html","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"和":{"docs":{},"上":{"docs":{},"面":{"docs":{},"“":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"请":{"docs":{},"求":{"docs":{},"认":{"docs":{},"证":{"docs":{},"”":{"docs":{},"一":{"docs":{},"节":{"docs":{},"中":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"的":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"和":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"个":{"4":{"0":{"1":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}},"docs":{}},"docs":{}},"docs":{}}}}}},"验":{"docs":{},"证":{"docs":{},"用":{"docs":{},"户":{"docs":{},"凭":{"docs":{},"据":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"通":{"docs":{},"过":{"docs":{},"就":{"docs":{},"返":{"docs":{},"回":{"docs":{},"资":{"docs":{},"源":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}}}}}}}}}}}}}}}}}}}},"证":{"docs":{},"书":{"docs":{},"校":{"docs":{},"验":{"docs":{"chapter10/http.html":{"ref":"chapter10/http.html","tf":0.002304147465437788}}}}}},"发":{"docs":{},"起":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"一":{"docs":{},"个":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}},"多":{"docs":{},"个":{"docs":{},"并":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}}}}}},"送":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}},"平":{"docs":{},"台":{"docs":{},"消":{"docs":{},"息":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}},"布":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}},"生":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"是":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{},"很":{"docs":{},"明":{"docs":{},"显":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"是":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"发":{"docs":{},"现":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"类":{"docs":{},"果":{"docs":{},"然":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"接":{"docs":{},"口":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"操":{"docs":{},"作":{"docs":{"chapter10/dio.html":{"ref":"chapter10/dio.html","tf":0.007042253521126761}}}}}},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{},",":{"docs":{},"将":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},"和":{"docs":{},"生":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"串":{"docs":{},"起":{"docs":{},"来":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"生":{"docs":{},"成":{"docs":{},"模":{"docs":{},"板":{"docs":{},",":{"docs":{},"在":{"docs":{},"生":{"docs":{},"成":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"些":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"嵌":{"docs":{},"套":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}},"持":{"docs":{},"续":{"docs":{},"生":{"docs":{},"成":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}},"模":{"docs":{},"板":{"docs":{},"中":{"docs":{},"的":{"docs":{},"“":{"docs":{},"%":{"docs":{},"t":{"docs":{},"”":{"docs":{},"、":{"docs":{},"“":{"docs":{},"%":{"docs":{},"s":{"docs":{},"”":{"docs":{},"为":{"docs":{},"占":{"docs":{},"位":{"docs":{},"符":{"docs":{},",":{"docs":{},"将":{"docs":{},"在":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"动":{"docs":{},"态":{"docs":{},"被":{"docs":{},"替":{"docs":{},"换":{"docs":{},"为":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"导":{"docs":{},"入":{"docs":{},"头":{"docs":{},"和":{"docs":{},"类":{"docs":{},"名":{"docs":{},"。":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"我":{"docs":{},"们":{"docs":{},"通":{"docs":{},"过":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"来":{"docs":{},"写":{"docs":{},",":{"docs":{},"源":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"chapter10/json_model.html":{"ref":"chapter10/json_model.html","tf":0.0018656716417910447}}}}}}}}}}}}}}}}}}}},"强":{"docs":{},"制":{"docs":{},"使":{"docs":{},"用":{"2":{"3":{"docs":{},".":{"0":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"库":{"docs":{},",":{"docs":{},"在":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"文":{"docs":{},"档":{"docs":{},"语":{"docs":{},"法":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"chapter11/develop_package.html":{"ref":"chapter11/develop_package.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"宿":{"docs":{},"主":{"docs":{},"监":{"docs":{},"听":{"docs":{},"平":{"docs":{},"台":{"docs":{},"通":{"docs":{},"道":{"docs":{},",":{"docs":{},"并":{"docs":{},"接":{"docs":{},"收":{"docs":{},"该":{"docs":{},"消":{"docs":{},"息":{"docs":{},"。":{"docs":{},"然":{"docs":{},"后":{"docs":{},"它":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"响":{"docs":{},"应":{"docs":{},"发":{"docs":{},"送":{"docs":{},"回":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},",":{"docs":{},"即":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"chapter11/platform-channel.html":{"ref":"chapter11/platform-channel.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"chapter12/":{"ref":"chapter12/","tf":10}},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"必":{"docs":{},"须":{"docs":{},"按":{"docs":{},"照":{"docs":{},"本":{"docs":{},"节":{"docs":{},"开":{"docs":{},"头":{"docs":{},"说":{"docs":{},"明":{"docs":{},"的":{"docs":{},"那":{"docs":{},"样":{"docs":{},"为":{"docs":{},"这":{"docs":{},"些":{"docs":{},"类":{"docs":{},"指":{"docs":{},"定":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"。":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"截":{"docs":{},"至":{"2":{"0":{"1":{"8":{"docs":{},"年":{"5":{"docs":{},"月":{"docs":{},",":{"docs":{},"该":{"docs":{},"包":{"docs":{},"支":{"docs":{},"持":{"2":{"4":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{},"。":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"包":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"需":{"docs":{},"要":{"docs":{},"添":{"docs":{},"加":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"到":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"美":{"docs":{},"国":{"docs":{},"英":{"docs":{},"语":{"docs":{"chapter12/multi_languages_support.html":{"ref":"chapter12/multi_languages_support.html","tf":0.006896551724137931}}}}}},"未":{"docs":{},"读":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"数":{"docs":{"chapter12/intl.html":{"ref":"chapter12/intl.html","tf":0.0028011204481792717}}}}}}},"讲":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},",":{"docs":{},"读":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"发":{"docs":{},"现":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"chapter14/flutter_ui_system.html":{"ref":"chapter14/flutter_ui_system.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"事":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"chapter14/element_buildcontext.html":{"ref":"chapter14/element_buildcontext.html","tf":0.006172839506172839}}}}}}}}}},"传":{"docs":{},"给":{"docs":{},"它":{"docs":{},"的":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"则":{"docs":{},"表":{"docs":{},"示":{"docs":{},"有":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}},"向":{"docs":{},"父":{"docs":{},"级":{"docs":{},"递":{"docs":{},"归":{"docs":{},"查":{"docs":{},"找":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"队":{"docs":{},"列":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"回":{"docs":{},"调":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"唯":{"docs":{},"一":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"定":{"docs":{},"了":{"docs":{},",":{"docs":{},"即":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"与":{"docs":{},"它":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"和":{"docs":{},"其":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"无":{"docs":{},"关":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"控":{"docs":{},"件":{"docs":{},"永":{"docs":{},"远":{"docs":{},"充":{"docs":{},"满":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{},"为":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"是":{"docs":{},"否":{"docs":{},"仅":{"docs":{},"通":{"docs":{},"过":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}},"才":{"docs":{},"会":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}},"答":{"docs":{},"案":{"docs":{},"就":{"docs":{},"在":{"docs":{},"p":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},"源":{"docs":{},"码":{"docs":{},"中":{"docs":{},":":{"docs":{"chapter14/render_object.html":{"ref":"chapter14/render_object.html","tf":0.0018587360594795538}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"号":{"docs":{},")":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"结":{"docs":{},"束":{"docs":{},"前":{"docs":{},",":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"会":{"docs":{},"锁":{"docs":{},"定":{"docs":{},"事":{"docs":{},"件":{"docs":{},"分":{"docs":{},"发":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"在":{"docs":{},"本":{"docs":{},"次":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"结":{"docs":{},"束":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"前":{"docs":{},"f":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"响":{"docs":{},"应":{"docs":{},"各":{"docs":{},"种":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"这":{"docs":{},"可":{"docs":{},"以":{"docs":{},"保":{"docs":{},"证":{"docs":{},"在":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"不":{"docs":{},"会":{"docs":{},"再":{"docs":{},"触":{"docs":{},"发":{"docs":{},"新":{"docs":{},"的":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{},"下":{"docs":{},"面":{"docs":{},"是":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"根":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}},"反":{"docs":{},"向":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"创":{"docs":{},"建":{"docs":{},"过":{"docs":{},"了":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"根":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"更":{"docs":{},"新":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"被":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"绘":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}}}}},"锁":{"docs":{},"定":{"docs":{},"事":{"docs":{},"件":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"chapter14/flutter_app_startup.html":{"ref":"chapter14/flutter_app_startup.html","tf":0.0018148820326678765}}}}}},"length":10899},"corpusTokens":["!=","!_active;","!_toggle;","!showtotopbtn","\"","\"\"))","\"\";","\"##loading##\";","\"$classname.dart\"');","\"$filename.dart\"');","\"${(_animationcontroller.valu","\"${(progress","\"),","\");","\"*4,","\"*6,","\"+snapshot.data;","\",","\"./images/avatar.png\",","\"0%\";","\"123456789\";","\"2018","\"5.20\",","\";","\"@@last_modified\":","\"@@locale\":\"zh_ch\",","\"@remainingemailsmessage\":","\"@title\":","\"\\ue914\";","\"abcdefghijklmnopqrstuvwxyz\";","\"admin\",","\"age\":","\"alice\",","\"avatar\",","\"batteri","\"bool\";","\"boss\":\"$person\"","\"courier\",","\"description\":","\"dump","\"echo:","\"email\",","\"email\":","\"email\":\"alice@example.com\"","\"email\":\"jack@example.com\"","\"email\":\"nancy@example.com\"","\"engineentertimestampmicros\":","\"error","\"example\":","\"fail","\"file","\"file1\":","\"file2\":","\"files\":","\"flutter","\"flutterchina.club\",","\"flutter应用\"","\"flutter应用\",","\"form","\"friends\":\"$[]person\"","\"friends\":[","\"getbatterylevel\")","\"hello","\"hello\";","\"hi","\"home:","\"how","\"howmany\":","\"https\",","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"),","\"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",","\"https://flutterchina.club\",","\"imgs/avatar.png\",","\"input1\"","\"input2\"","\"intercepted:","\"jack\",","\"john","\"john@example.com\"","\"john@example.com\",","\"list\";","\"map\";","\"materialicons\",","\"monospace\";","\"mother\":\"$person\",","\"mother\":{","\"mozilla/5.0","\"name\":","\"nancy\",","\"new_page\");","\"new_page\":(context)=>newroute(),","\"no","\"num\";","\"person.dart\";","\"placeholders\":","\"proxi","\"remainingemailsmessage\",","\"remainingemailsmessage\":","\"roboto\";","\"samples.flutter.io/battery\"","\"samples.flutter.io/battery\",","\"samples.flutter.io/battery\";","\"string\";","\"test\");","\"text\",","\"timeafterframeworkinitmicros\":","\"timetofirstframemicros\":","\"timetoframeworkinitmicros\":","\"tip_widgets\":(context)=>echoroute(\"内容固定\")","\"titl","\"title\":","\"type\":","\"unavailable\",","\"upload.txt\")","\"upload.txt\"),","\"upload1.txt\"),","\"upload2.txt\"),","\"urllauncherplugin.h\"","\"use","\"wendux\",","\"xx\":\"xx\",","\"yy\":\"dd\"","\"zh\")","\"{howmany,plural,","\"你好世界\"),","\"历史\",","\"原图\",","\"图片\"];","\"密码\",","\"密码不能少于6位\";","\"您的登录密码\",","\"正在请求...\";","\"点我变色\",","\"用户名\",","\"用户名不能为空\";","\"用户名或邮箱\",","\"电子邮件地址\",","\"电池信息不可用\",","\"网络不通...\";","\"请求失败:$e\";","#","#\"","#...省略无关项","#import","#指定一个字体名","#请使用pub上的最新版本","$","$_counter","$device';","$home/.bash_profil","$home/.bash_profile。文件路径和文件名可能在你的电脑上不同.","$howmani","$index'),","$key';","$line\");","$msg';","$path","$result","$this',","$v\");","${notification.metrics.extentaft","${user.email}.');","${user.name}!');","${user['email']}.');","${user['name']}!');","%","%s","%s();","%s.fromjson(map","%t","&","","","","&&","'$_counter',","'$from","'$result","'$runtimetyp","'$runtimetype'","'${e.message}'.\";","'${snapshot.data}'","'%s.g.dart';","'');","'../widgets/index.dart';","'0.1.1'","'0.4.3'","'[root]',","'active'","'batteri","'cn')","'cn'),","'com.google.guava:guava:23.0","'dart:async'","'dart:async';","'dart:convert';","'dart:developer';到相关文件顶部。","'dart:io';","'dart:math'","'dart:math';","'email':","'flutter","'fred'});","'howdy');","'howdy',","'http://maven.aliyun.com/nexus/content/groups/public/'","'inactive',","'increment',","'messages_all.dart';","'my_icons')","'my_package',","'myicon',","'name':","'offset=$offset';","'package:dio/dio.dart';","'package:english_words/english_words.dart';","'package:flutter/cupertino.dart';","'package:flutter/gestures.dart';","'package:flutter/material.dart';","'package:flutter/services.dart'","'package:flutter/services.dart';","'package:flutter/widgets.dart';","'package:flutter_localizations/flutter_localizations.dart';","'package:intl/intl.dart';","'package:json_annotation/json_annotation.dart';","'package:path/path.dart'","'package:path_provider/path_provider.dart';","'package:url_launcher/url_launcher.dart'","'package:utilities/utilities.dart';","'package:web_socket_channel/io.dart';","'person.g.dart';","'raleway',","'registration_date_millis')","'send","'smoke","'src/cascade.dart';","'src/handler.dart';","'src/handlers/logger.dart';","'src/hijack_exception.dart';","'src/middleware.dart';","'src/pipeline.dart';","'src/request.dart';","'src/response.dart';","'src/server.dart';","'src/server_handler.dart';","'there","'titl","'title',","'unknown","'url_launcher'","'us'),","'user.g.dart';","'username':","'widget","'window_render';","'window_scheduleframe';","'you","'zh'].contains(locale.languagecode);","(","(!parentusess","(\"getbatterylevel\"","()","(){","(1","(17539):","(17666):","(18545):","(64","([@\"getbatterylevel\"","(_color","(_controller.offset","(_controller.text.isnotempty)","(_lastpressedat","(_nodesneedinglayout.isnotempty)","(_overflow","(_relayoutboundari","(_size.contains(position))","(_valu","(_words.length","(_words[index]","(`cmd","(android)或wkwebview(ios)来加载(以后若无特殊说明,我们用webview来统一指代android和ios中的网页加载控件)。这样一来,h5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在android和ios两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发","(arg)","(automaticsystemuiadjustment)","(await","(backgroundcolor","(batterylevel","(batterymanager)","(bool)application:(uiapplication*)appl","(buildcontext","(call.method","(call.method.equals(\"getbatterylevel\"))","(call:","(child","(child._needspaint)","(child.isrepaintboundary)","(child.parentdata","(cmd","(context)","(context){","(context,","(ctx)","(details)","(details){","(devic","(device.batteryst","(dragdowndetail","(dragenddetail","(dragupdatedetail","(dwebview)","(e)","(e){","(e,","(element","(event)","(event)=>print(\"in\"),","(event)=>print(\"up\"),","(eventnam","(f","(filesystementity.isfilesync(f.path))","(fluttererrordetail","(flutterviewcontroller*)self.window.rootviewcontroller;","(git命令行工具);","(hittestchildren(result,","(httpclient","(in","(index","(int","(int)(device.batterylevel","(int)getbatterylevel","(intent.getintextra(batterymanager.extra_level,","(iphone;","(isforward)","(isrepaintboundary)","(khtml,","(leaf/singlechild/multichild)renderobjectwidget","(list","(macos:preferences>plugins,","(map","(matchindex","(node._layer.attached)","(node._needscompositingbitsupd","(node._needslayout","(node._needspaint","(notification)","(notification){","(notification.runtimetype){","(nsnull","(object","(oldwidget.turn","(onerror","(owner","(parent","(physic","(pointerdownev","(pointermoveev","(pointerupev","(radiu","(renderobject","(renderviewel","(scaleupdatedetail","(scrollnotif","(size.width","(sizedbyparent)","(snapshot.hasdata)","(snapshot.haserror)","(statu","(str){","(strokecapround)","(upper?str[0].touppercase():str[0].tolowercase())+str.substring(1);","(uri)","(v)","(valu","(var","(version.sdk_int","(widgetsbinding.inst","(zone","(不包括android","(不包括xcode或android","(如","(如myapp),","(如果使用一些更低级别的类,如","(带有闪电⚡️图标的按钮)。","(或者在编辑器中点击","(简称rn)是facebook于2015年4月开源的跨平台移动应用开发框架,是facebook早先开源的js框架","(绿色圆形箭头按钮)。","(译者语:和android中的framelayout相似),stack允许子","(语句级的单步调试和分析器)","(输入代码时进行验证、代码补全等)。","(运行、调试、热重载等)。",")","))",")),","));","),",").animate(",").attachtorendertree(buildowner,",").createshader(rect);",");","){",")布局模型设计的。",");","*","**","**save**","**热重载按钮**","+","++_counter)","++count),","+=","+x",",",",bottom",".",".';","...","...,","....","...//","...//省略无关代码","...;","../../code/pkg1","..addlistener(()","..attachrootwidget(app)","..color","..color=color(0x77cdb175);//画笔颜色","..isantialia","..onmetricschang","..onsemanticsact","..onsemanticsenabledchang","..ontap","..ontextscalefactorchang","..schedulewarmupframe();","..strokecap","..strokewidth","..style","./intl.sh","./mo.sh",".0),",".0);",".0,",".0;",".2;",".5,",".75,",".98",".accentcolor;",".data",".length",".map((c)",".of(context)",".primarycolor,",".tolist(),",".tostring());",".trim()",".value),",".value,",".”","/","//","//...","///","///两端是否为圆角","///粗细","///这个标注是告诉生成器,这个类是需要生成model类的","//1","//1.设置文本默认样式","//2","//2.不继承默认样式","//3","//3像素圆角","//50个列表项","//appbar,包含一个导航栏","//basic认证凭据","//behavior:","//const","//dwebview继承自webview,由dsbridge提供","//file为证书路径","//final","//flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间","//flex的两个子widget按1:2来占据水平空间","//grid","//grid按两列显示","//json","//list","//listview各个构造函数的共同参数","//locale代理类","//locale相关值,title为应用标题","//locale资源类","//materi","//material设计规范中状态栏、导航栏、listtile高度分别为24、56、56","//navigator.push(context,","//print(form.of(context));","//print(notification);","//request.addstream(_inputstream);","//return","//state.count","//width:","//}));","//“去除”父级限制","//一个json格式的用户列表字符串","//上下各添加8像素补白","//上下左右各添加16像素补白","//上报错误和日志逻辑","//上次点击时间","//下划线widget预定义以供复用。","//下面代码没有效果","//下面代码没有问题","//下面生成模板","//不同的类使用不同的mixin即可","//不指定返回类型,此时默认为dynamic,不是bool","//不足100条,继续获取数据","//两次点击间隔超过1秒则重新计时","//中间位置空出","//为了使用方便,我们定义一个静态方法","//为了避免内存泄露,需要调用_controller.dispos","//为了避免重复导入相同的包,我们用set来保存生成的import语句。","//为第二行icon自定义颜色(固定为黑色)","//主色,决定导航栏颜色","//主题颜色样本,见下面介绍","//从文件读取点击次数","//会触发","//使用inheritedwidget中的共享数据","//使用iphone的ua","//使用local","//使用sharedatawidget","//使用弹性曲线","//使用渐隐渐入过渡,","//保存icon数据","//保存事件名","//保存事件订阅者队列,key:事件名(id),value:","//保存单例","//保存回调","//保存用户信息,接下来执行其它操作","//保存进度百分比","//先分别定义各个异步任务","//先正向执行动画","//入栈新路由","//关闭client后,通过该client发起的所有请求都会中止。","//其它local","//其它属性及回调","//其它属性见源码注释","//再反向执行动画","//分割器构造器","//分割线颜色","//切换主题","//列表项构造器","//列表项高度固定时,显式指定高度是一个好习惯(性能消耗小)","//创建3个tab页","//创建websocket连接","//创建一个httpclient","//创建一个画笔并配置其属性","//创建列表项","//创建子widget","//初始值","//初始化状态","//初始滚动位置","//前景装饰","//剪裁半圆","//动态创建一个list","//动画恢复到初始状态时执行动画(正向)","//动画执行结束时反向执行动画","//动画时间为500毫秒","//卡片倾斜变换","//卡片内文字居中","//卡片大小","//卡片文字","//卡片阴影","//卡片颜色","//双击","//反向遍历,防止在订阅者在回调中移除自身带来的下标错位","//发送","//变换","//变色开关","//可以直接添加输入流","//可以省略string这个类型声明","//可滚动widget公共参数","//后面介绍","//启动动画","//启动动画(正向执行)","//启动动画(正向)","//唯一标记,前后两个路由页hero的tag必须相同","//回显tip内容","//因为本路由没有使用scaffold,为了让子级widget(如text)使用","//图片宽高从0变到300","//图片的宽","//图片的混合色值","//图片高度","//圆角","//在命中测试期间如何表现","//在这里不能通过此方式获取formstate,context不对","//均分底部导航栏横向空间","//垂直方向居中对齐","//垂直方向拖动事件","//填充","//处理特殊标志","//外形","//如果build中没有依赖inheritedwidget,则此回调不会被调用。","//如果leading为null,是否自动实现默认的leading按钮","//如果renderobject.isrepaintboundari","//如果到了表尾","//如果显示到最后一个并且icon总数小于200时继续获取数据","//如果返回false,则子树中依赖(build函数中有调用)本widget","//子widget列表","//子节点,可以为空","//字符串重复六次","//定义一个control","//定义一个globalkey,","//定义一个top","//定义一个便捷方法,方便子树中的widget获取共享数据","//定义一个状态,保存当前指针位置","//定义下划线颜色","//实现画笔","//容器内补白","//容器内补白,属于decoration的装饰范围","//容器外补白","//容器大小的限制条件","//容器的高度","//宽度尽可能大","//宽高比为1时,子widget","//宽高比为2","//对齐方式","//导入cupertino","//导航到新路由","//导航栏","//导航栏右侧菜单","//导航栏最左侧widget,常见为抽屉菜单按钮或返回按钮。","//将json字符串转为dart对象(此处是list)","//将json类型转为对应的dart类型","//将transform.rotate换成rotatedbox","//将测试结果添加到result中","//将焦点从第一个textfield移到第二个textfield","//将生成的模板输出","//工厂构造函数","//左边添加8像素补白","//布局","//应用名称","//应用首页路由","//建立连接","//开启自动校验","//弹性布局的方向,","//强制高度为50.0","//当前路由主题色","//当前路由被激活,是打开新路由","//形状","//悬浮按钮","//所以animatedwidget必须通过某种方式将其状态对象_animatedwidgetst","//手动指定local","//手指按下回调","//手指按下时会触发此回调","//手指滑动时会触发此回调","//手指移动回调","//手机日志","//打印手指按下的位置(相对于屏幕)","//打印机型","//打印滑动结束时在x、y轴上的速度","//打印滚动位置","//打开b路由","//打开http连接","//执行build方法","//执行失败会走到这里","//执行成功会走到这里","//执行接下来的操作","//找到最近的layer,绘制","//报告错误","//报错,isnoble不是bool类型","//抽屉","//指定列表高度为400","//指定包名","//指定宽度,高度自适应","//指定平台,应用特定平台控件风格","//指定未定位或部分定位widget的对齐方式","//指定画布大小","//按钮主题","//按钮按下时的背景颜色","//按钮文字颜色","//按钮点击回调","//按钮点击时分发通知","//按钮的内容","//按钮的填充","//按钮禁用时的文字颜色","//按钮背景颜色","//控制子widget","//收集日志","//放大到1.5倍","//放开此行注释后可以\"点透\"","//放开此行注释后,进度条将失效","//文字字体","//旋转90度","//旋转90度(1/4圈)","//旋转的“圈”数,一圈为360度,如0.25圈即90度","//旋转角度发生变化时执行过渡动画","//无论成功或失败都会走到这里","//是否为中文","//是否抗锯齿","//是否支持某个local","//是否显示“返回到顶部”按钮","//是否自动校验。","//是返回,则不应用过渡动画","//显式关联json字段名与model属性的对应关系","//显式指定对齐方式为左对齐,排除对齐干扰","//显示区域宽高相等","//显示进度百分比","//暴露给其子类","//更新renderobject.needscompositing属性值","//更新显示的事件名","//替换模板占位符","//最大宽度","//最大高度","//最小宽度","//最小高度","//最小高度为50像素","//有多个,省略...","//有效,外层colum高度为整个屏幕","//未定位widget占满stack整个空间","//构建错误详情对象","//查找当前或最近的一个祖先renderobject","//标题是否居中","//校验密码","//校验证书","//根据http协议,发送请求头","//横轴三个子widget","//次级色,决定大多数widget的颜色,如进度条、开关等。","//正常状态下的阴影","//每一个字母都用一个text显示,字体为原来的两倍","//每次生成20个单词","//每点击一次,将count自增,然后重新build,sharedatawidget的data将被更新","//每行三列","//沿y轴倾斜0.3弧度","//沿主轴方向居中","//注册原生api到jsbridg","//注册路由表","//测试row对齐方式,排除column默认居中对齐的干扰","//深色还是浅色","//混合模式","//添加persistentframecallback","//添加订阅者","//渐变","//滚动方向,默认是垂直方向","//点击后将该element标记为dirty,element将会rebuild","//点击后计数器自增","//点击回调","//点击时,水波动画中水波的颜色","//父","//父或祖先widget中的inheritedwidget改变(updateshouldnotify返回true)时会被调用。","//生成tab菜单","//用于icon颜色","//用于导航栏、floatingactionbutton的背景色等","//用到gesturerecognizer的话一定要调用其dispose方法释放资源","//用户手指滑动时,更新偏移,重新构建","//用户登录","//由于子类要用到animatedwidget的状态对象_animatedwidgetstate,","//由于本widget也是form的子代widget,所以可以通过下面方式获取formst","//画棋盘网格","//画棋盘背景","//画笔样式:填充","//登录成功后触发登录事件,页面a中订阅者会被调用","//登录成功后通过,id获取用户信息","//登录页b中","//的子widget的`state.didchangedependencies`会被调用","//监听window对象的事件","//监听滚动事件,打印滚动位置","//监听登录事件","//监听输入改变","//监听通知","//直接调用原生api","//相对于坐标系原点的对齐方式","//省略无关代码","//确保colors数组不空","//私有构造函数","//移除计数器","//移除订阅者","//第一行icon使用主题中的iconthem","//等待连接服务器(会将请求信息发送给服务器)","//线","//结果是:","//结果是:bob","//绘制子节点,","//维护单选开关状态","//缩放倍数在0.8到10倍之间","//网络不通会走到这","//背景为纸黄色","//背景径向渐变","//背景混合模式","//背景渐变","//自定义图标","//获取local","//获取上下文大小","//获取主题","//获取用户信息","//获取用户信息后保存","//蓝色主题","//表尾标记","//要拖动和点击的widget","//触发事件,事件触发后该事件所有订阅者会被调用","//计算每一个子widget的位置","//订阅者回调签名","//设置[bold]和[hidden]标志","//设置control","//设置globalkey,用于后面获取formst","//设置key","//设置代理","//证书一致,则允许发送数据","//该回调决定当data发生变化时,是否通知子树中依赖data的widget","//读取响应内容","//读取返回内容","//调用flutter","//调用renderbinding的drawframe()方法","//调用了onerror回调","//调用我们定义的交错动画widget","//距顶部的偏移","//路由b","//路由销毁时需要释放动画资源","//输入框光标颜色","//输出model目录","//输出响应头","//输出第一个用户的姓名","//边框","//过渡动画执行的总时长","//返回到顶部时执行动画","//进度条","//选中时的颜色","//递归子renderbox进行命中测试","//通过constrainedbox来确保stack占满屏幕","//通过一个回调创建一个ticker","//通过修改图片宽度来达到缩放效果","//遍历json目录生成模板","//重复方式","//重新构建","//重新构建列表","//重新构建页面","//重绘之前的预处理操作,检查renderobject是否需要重绘","//错误处理","//长按","//间隔,前60%的动画时间","//间隔,后40%的动画时间","//阴影","//阴影,可以指定多个","//随便返回一个text()","//隐藏下划线","//需要在子树中共享的数据,保存点击次数","//需要定义一个control","//需要继承tickerprovider,如果有多个animationcontroller,则应该使用tickerproviderstatemixin。","//页面a中","//颜色","//验证回调","//验证通过提交数据","//高度动画","//默认原点为左上角,左移20像素,向上平移5像素","/applications/xcode.app/contents/develop","0","0)","0,","0.0)","0.0))","0.0)))","0.0))➩offset(0.0,","0.0);","0.0,","0.0,//","0.0,0.0,0.0,1.0","0.0,0.0,1.0,0.0","0.0,3.5,0.0,0.0","0.00,","0.0;","0.0;//距左边的偏移","0.20,","0.4.3版本的url_launcher,在","0.6,","0.6,//间隔,前60%的动画时间","00522983","00525262401065761290103018,","0;","0xe000","0xe614,","0xe90d","0xe914","0xec7d,","0}\");","1","1\";","1)","1))","1)).then((e)","1),","1);","1,","1.","1.0","1.0)","1.0))","1.0,","1.0.0+1","1.00)➩tween(offset(0.0,","1.000;","1.0;","1.0]","1.0的范围。例如,fling()函数允许您提供速度(velocity)、力量(force)等,因此可以在0.0到1.0范围之外。","1.2,","1.5","1.5,","10.0),","10.0);","10.0,","100","100)","100));","100).toint()}%\",","100).toint()}%\";","100);","100,","100.0","100.0)),","100.0),","100.0,","1000","1000,","101.8)","104.0,","10:00:52","10_3_1","10t15:46:20.897228\",","10t17:37:28.505088\",","12","120.0),","120.0,","125.8)","13.0)","14.0)//定义提示文本样式","14.0;","150.0)),","150.0),","150.0,","150.0,),","15;","16.0),","16.0,","1657393","16)或更高版本的android设备.","1794.0)","18.0),","18.0),)","18.0,","192.168.1.2:8888\";","199833992]","199833992];","1:","1;","1秒后返回结果","2","2)).then((e)","2),","2),(){","2);","2)都可.","2,","2.","2.0","2.0),","2.0,","2.0,))","2.0;","2.0已经正式发布,所以本书所有示例均采用dart","2.0语法。","2.625","2.625,","2.625x","20,","20.0),","20.0),//子","20.0,","200),","200,","200.0)),","200.0,","200.0;","200.0到0.0的值:","2000),","200ms;","2017","2018","2018年2月,flutter发布了第一个beta版本,同年五月,","2018年6月,flutter发布了首个预览版本,这意味着","203.208.41.32","2171978,","24","24.0),","24.0,","25,","25.0,","250.0,","255).animate(controller);","255).animate(curve);","27k","28.0),","2:","2秒后返回结果","3","3\";","3));","3),","3,","3.","3.0,","3.1.0正式发布,实现了对于ios的完全支持,新增winrt、beautifier等插件,废弃了无python接口的gdb调试支持,集成了基于clang的c/c++代码模块,并对android支持做出了调整,至此实现了全面支持ios、android、wp,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,qt虽然在pc端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到qt的声音,但一直很弱,无论qt本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:","3.2.0.pom","3.5,0.0,0.0,0.0","30","30.0),),","30.0);","30.0,","300),","300.0).animate(animation)","300.0).animate(controller)","300.0).animate(controller);","300.0,","3039):","32","32.0,","323.7)","328026813]","36.0);","38.0),","388965355]","3秒后返回结果","4),","4.","4.0","4.0,","4.1(api","40.0),","400","400,","400;","411.4,","42","42,","437.086m","48.0;","489139594]","489139594];","4秒后返回结果","5","5),","5.0","5.0),","5.0,","50","50,),","50.0","50.0,","500","500),","500,","514585,","5436):","56","56,","5s或更高版本)。","60.0),","60.0,","600","60hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如vsync),","60hz的屏幕就会一秒内发出","60次这样的信号。而这个信号主要是用于同步cpu、gpu和显示器的。一般地来说,计算机系统中,cpu、gpu和显示器以一种特定的方式协作:cpu将计算好的显示内容提交给","612888877]","612888877];","619728754]","619728754])","625702218]","64","6559):","683.4)","683.4))","683.4),","683.4);","683.4),它用于强制renderpositionedbox下的所有渲染框到屏幕的大小,","6的屏幕dpi为3.5","7","7.0语法中就已经存在了,因此我们可以看到google对dart语言给予厚望,是想把dart打造成一门集百家之所长的编程语言。","700","727622716]","727622716];","8","8,","8.0),","8.0,","8.0,//按下时的阴影","80);","80,","80.0)","80.0),","80.0)作为子widget的约束。","80.0)等价于:","80.0,","80.0,height:","80.0,maxheight:","80.0,maxwidth:","80.0,minwidth:","816151164]","816151164];","82.0,","83.3%","8513):","9","9)],","9.0或更新版本(通过链接下载或苹果应用商店).","9.0或更高版本:","90.0,","900;","96025565262,","9个数,点击一次按钮,则对9个数随机排一次序,代码如下:",":",":super(child:",":super(key:",";","=","=0{there","=0{没有未读邮件}=1{有{howmany}封未读邮件}other{有{howmany}封未读邮件}}\",","==","=>","=await",">",">=","?","??","??=","@immut","@implement","@javascriptinterfac","@jsonkey(name:","@jsonserializable()","@objc","@overrid","@protect","@requir","@uiapplicationmain","[","[\"新闻\",","['en',","[0.0","[0]","[1]","[2]","[3]","[],","[];","[arg])","[batterychannel","[bool","[child].","[color,","[colors.blue,","[colors.blue[700],","[colors.lightblue[300],","[colors.lightgreen,","[colors.orange,colors.red],","[colors.red,","[colors.teal,","[eventcallback","[fluttermethodchannel","[globalkey","[globalobjectkey","[howmany],","[loadingtag];","[overlayentry@248818791(opaque:","[renderobjecttowidgetel","[root]","[self","[string","[super","[theme.primarycolor,","[uiapplicationlaunchoptionskey:","\\","\\ue000\";","\\ue90d\";","]","])","]).listen((data){","]).then((results){","]);","],","^0.1.0","^0.1.2","^0.15.7","^0.17.2","^0.4.1","^0.4.2","^1.0.0","^2.0.0","^3.1.3","^x.x.x","_","_$%sfromjson(json);","_$%stojson(this);","_$personfromjson(json);","_$persontojson(this);","_$userfromjson(json);","_$usertojson(this);","__testwidgetst","__testwidgetstate();","_activ","_active,","_active确定颜色:绿色为tru","_animatedcontainerstate(616063822;","_animateddefaulttextstylestate(427742350;","_animatedstate(552160732))","_animatedstate(714726495))","_animatedthemestate(543295893;","_animatedwidgetstate)","_animationcontrol","_animationcontroller,","_animationcontroller.addstatuslistener((status)","_animationcontroller.dispose();","_animationcontroller.forward();","_animationcontroller.reverse();","_animationcontroller.value),","_animationcontroller.value,","_animationcontroller;","_batterylevel","_buildanimation(buildcontext","_buildanimation,","_checkboxselected,","_checkboxselected=true;//维护复选框状态","_checkboxselected=value;","_color","_colors),","_colors,","_compositechild(child,","_compositechild(renderobject","_control","_controller,","_controller.addlistener(()","_controller.animateto(","_controller.animateto(.0,","_controller.dispose();","_controller.forward().orcancel;","_controller.reverse().orcancel;","_controller.valu","_controller;","_counter","_counter++;","_counter;","_counter=widget.initvalue;","_counterwidgetst","_counterwidgetstate();","_debugreportexception(","_devicepixelratio;","_drag","_dragstat","_dragstate();","_dragvert","_dragverticalst","_dragverticalstate();","_emap","_emap[eventname]","_emap[eventname].add(f);","_emap[eventname];","_event;","_fileoperationroutest","_fileoperationroutestate();","_focusscop","_focusstate(331487674))","_focusstate(739584448))","_focustestroutest","_focustestroutestate();","_formkey,","_formkey=","_formtestroutest","_formtestroutestate();","_gesturedetectortestroutest","_gesturedetectortestroutestate();","_gesturerecognizertestroutest","_gesturesemant","_getbatterylevel()","_getbatterylevel,","_getlocalfile()","_getlocalfile()).writeasstring('$_counter');","_getlocalfile();","_globalkey","_globalkey.currentstate.opendrawer()","_globalkey=","_gradientcircularprogresspaint","_gradientcircularprogresspainter(","_gradientcircularprogresspainter({","_handlepersistentframecallback(dur","_handlepersistentframecallback:","_handlesemanticsaction;","_handlesemanticsenabledchang","_handletap()","_handletap,","_handletapboxchanged()","_handletapboxchanged(bool","_handletapboxchanged,","_handletapcancel()","_handletapcancel,","_handletapdown(tapdowndetail","_handletapdown,","_handletapup(tapupdetail","_handletapup,","_highlight","_httptestroutest","_httptestroutestate();","_icon","_icons.length","_icons.length,","_import+=_import.isempty?\"\":\";\";","_import=set.join(\";\\r\\n\");","_incrementcounter()","_incrementcounter,","_infinitegridviewst","_infinitegridviewstate();","_infinitelistviewst","_infinitelistviewstate();","_inheritedwidgettestroutest","_inheritedwidgettestroutestate();","_inkfeatur","_lastpressedat","_lastpressedat;","_left","_left,","_leftb","_leftb,","_load","_materialappstate(1009803148))","_materialappstate(1009803148)]","_materialappstate(1009803148)];","_materialappstate(859106034)]","_materialbuttonstate(398724090))","_materialstate(780114997))","_modalscop","_modalscopestate(875510645))","_modalscopestatu","_mountainviewpagetransit","_msg+=notification.msg+\"","_msg=\"\";","_myhomepagest","_myhomepagestate();","_myhomepagestate类是myhomepage类对应的状态类。看到这里,细心的读者可能已经发现,和myapp","_needslayout","_noblegas","_noblegases[atomicnumber]","_nodesneedingcompositingbitsupdate)","_nodesneedingcompositingbitsupdate.clear();","_nodesneedingcompositingbitsupdate.sort(","_nodesneedinglayout","_nodesneedinglayout;","_nodesneedingpaint","_nodesneedingpaint;","_offset","_offset)","_offset,","_onadd(){","_onbeginframe;","_ondrawframe;","_onitemtapped(int","_onitemtapped,","_onlocalechanged;","_onmetricschanged;","_onplatformmessage;","_onpointerdatapacket;","_ontextscalefactorchanged;","_oper","_overlayentri","_overlayentrystate(279971240))","_overlayentrystate(739137453))","_parentwidgetcst","_parentwidgetcstate();","_parentwidgetst","_parentwidgetstate();","_parentwidgetstatec","_physicalsize;","_playanimation()","_playanimation();","_progress","_pwdcontrol","_pwdcontroller,","_readcounter()","_readcounter().then((int","_renderinkfeatur","_renderinkfeatures)","_rendertheatr","_rendertheatre)","_renderviewel","_request()","_respons","_retrievedata()","_retrievedata();","_retrieveicons();","_retrieveicons():在此方法中我们通过future.delayed来模拟从异步数据源获取数据,每次获取数据需要200毫秒,获取成功后将新数据添加到_icons,然后调用setstate重新构建。","_scaffoldroutest","_scaffoldroutestate();","_scaleanimationroutest","_scaleanimationroutestate();","_scaletestroutest","_scrollnotificationtestroutest","_scrollnotificationtestroutestate();","_selectedindex","_selectedindex,","_selectioncontrol","_selectioncontroller,","_selectioncontroller.selection=textselection(","_selectioncontroller.text.length","_selectioncontroller.text=\"hello","_sendmessage()","_sendmessage,","_singleton","_singleton;","_staggerdemost","_staggerdemostate();","_start","_start,","_switchandcheckboxtestroutest","_switchandcheckboxtestroutestate();","_switchselected,//当前状态","_switchselected=true;","_switchselected=value;","_tabcontrol","_tabcontroller,","_tabcontroller.addlistener((){","_tabcontroller;","_tapboxast","_tapboxastate();","_tapboxcst","_tapboxcstate();","_tapgesturerecogn","_tapgesturerecognizer.dispose();","_taprecogn","_taprecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。","_testwidget","_testwidget(),//子widget中依赖sharedatawidget","_testwidget,在其build方法中引用sharedatawidget中的数据;同时,在其didchangedependencies()","_text","_textscalefactor;","_theatr","_themecolor","_themecolor)","_themecolor,","_themetestroutest","_themetestroutestate();","_toggl","_top","_top,","_turn","_turnboxroutest","_turnboxroutestate();","_turnboxst","_turnboxstate();","_turns,","_unamecontrol","_unamecontroller,","_unamecontroller.addlistener((){","_unamecontroller=new","_updatesystemchrome();","_valu","_value,","_value.clamp(.0,","_websocketroutest","_websocketroutestate();","_widgetsappstate(552902158))","_widgetsappstate(552902158)]","_widgetsappstate(552902158)];","_width","_width),","_width=200*details.scale.clamp(.8,","_word","_words.insertall(_words.length","_words.length,","`'you","`ctrl","`getphonemodel`","a\")","a\")),","a,","a.depth","a.depth))","abrilfatfac","absorbing:","absorbpoint","absorbpointer(","abstract","accentcolor,","accept","accessible:","account'),","accounts'),","action","actions:","action。","activ","active:","active;","activecolor:","adb","addautomatickeepal","addautomatickeepalives:该属性表示是否将列表项(子widget)包裹在automatickeepal","addcredentials(uri","additionalconstraints:","addlistener()可以给animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setstate()来触发ui重建。","addpersistentframecallback(_handlepersistentframecallback);","addproxycredentials(","addrepaintboundari","addrepaintboundaries:该属性表示是否将列表项(子widget)包裹在repaintboundary中。当可滚动widget滚动时,将列表项包裹在repaintboundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加repaintboundary反而会更高效。和addautomatickeepalive一样,如果列表项自己维护其keepalive状态,那么此参数必须置为false。","addstatuslistener()可以给animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见animationstatus定义)时会调用statuslistener。","age=172800","agent\",","agent)来看看输出的变化。","agent字段。","align(","alignment.bottomcenter,","alignment.cent","alignment.center,","alignment.center;","alignment.topcenter,","alignment.topleft,","alignment.topright,","alignment:","alignment:alignment.cent","alignmentdirectional.topstart,","alignment:此参数决定如何去对齐没有定位(没有使用positioned)或部分定位的子widget。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。","aliv","alive字段值,为了避免频繁建立连接,httpclient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。","alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。","alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep","all(doubl","allproject","alpha","alphabetic)","alphabetic;","analyze测试你的代码。这个工具(它是dartanalyzer工具的一个包装)将分析你的代码并帮助你发现可能的错误。","android","android'","android)","android.content.context","android.content.contextwrapp","android.content.contextwrapper;","android.content.int","android.content.intent;","android.content.intentfilt","android.content.intentfilter;","android.os.batterymanag","android.os.batterymanager;","android.os.build.vers","android.os.build.version;","android.os.build.version_cod","android.os.build.version_codes;","android.os.bundl","android.os.bundle;","android_hom","android和ios的应用存储目录不同,pathprovid","android平台。","android文件夹,点击","android设置","angle:","angle:math.pi/2","anim","animatedbuilder(","animatedcontain","animateddefaulttextstyl","animatedimag","animatedimage(animation:","animatedimage({key","animatedthem","animatedwidget","animatedwidget{","animatedwidget的状态对象是animatedwidget内部实现细节,不应该暴露给外部。","animation);","animation)方法,它可以获取动画当前值。","animation,","animation,);","animation.addstatuslistener((status)","animation.valu","animation.value,","animation:","animation;","animation=curvedanimation(parent:","animation\\。可以通过animation对象的value属性获取动画的当前值。","animationcontrol","animationcontroller(","animationcontroller(vsync:","animationcontroller(⏭","animationcontroller派生自animation,因此可以在需要animation对象的任何地方使用。","animationcontroller生成数字的区间可以通过lowerbound和upperbound来指定,如:","animationcontroller用于控制动画,它包含动画的启动forward()、停止stop()","animationstatus.complet","animationstatus.completed)","animationstatus.dismissed)","animationstatus.forward)","animationstatus.reverse)","animation})","animation对象本身和ui渲染没有任何关系。animation是一个抽象类,它用于保存动画的插值和状态;其中一个比较常用的animation类是animation。animation对象是一个在一段时间内依次生成一个区间(tween)之间值的类。animation对象的输出值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数。","animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。","animation)。交错动画需要注意以下几点:","any]?)","aot模式编译的,所以不支持动态化,但dart还有jit或snapshot运行方式,这些模式都是支持动态化的,后续会介绍。","aot模式运行时,javascript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,flutter使用自己的渲染引擎来绘制ui,布局数据等由dart语言直接控制,所以在布局过程中不需要像rn那样要在javascript和native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以javascript需要和native之间不停的同步布局信息,这和在浏览器中要javascript频繁操作dom所带来的问题是相同的,都会带来比较可观的性能开销。","aot,当以","apart'),","api","api、formdata、拦截器、请求取消、cookie管理、文件上传/下载、超时等。","api。","api。比如android原生应用就是指使用java或kotlin语言直接调用android","api也是调用操作系统api,所以它的性能接近原生。","api可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。","api和io","api在dart","api手动去绘制ui,缺点是必须了解canva","api是原始且独立的,这个与操作系统提供的api类似,上层ui框架设计成什么样完全取决于设计者,完全可以将ui框架设计成android风格或ios风格,但这些事google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的掌握程度。","api来完成绘制。","api来实现。子类需要实现此方法以实现自身的绘制逻辑,如renderparagraph需要实现文本绘制逻辑,而renderimage需要实现图片绘制逻辑。","api来实现具体的绘制逻辑。","api标识的属性和字符串提取到“i10n","api的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的httpclient不好用想重新实现一个,这时我们就需要使用socket。flutter的socket","api的示例,它返回的数据就是json格式的字符串,为了方便我们在代码中操作json,我们先将json格式的字符串转为dart对象,这个可以通过dart:convert中内置的json解码器json.decode()","api,并且得自己去实现绘制逻辑,而优点是强大灵活,理论上可以实现任何外观的ui。","api,然后在底层通过opengl这种跨平台的绘制库(内部会调用操作系统api)实现了一套代码跨多端。由于dart","app","app\")","app\",","app\";","app'),","app',","app)","appbar","appbar(","appbar(title:","appbar({","appbar:","appbar是一个material风格的导航栏,它可以设置标题、导航栏菜单、底部tab等。下面我们看看appbar的定义:","appdeleg","appdelegate:","appear","appendlayer(child._layer);","apphom","apphome(),","applewebkit/603.1.30","applic","application\",","application',","application(","application.","application:","application:appl","app”和“flutter应用”。","app从启动到显示到屏幕上的主流程,读者可以结合前面章节对widget、element以及renderobject的介绍来加强细节理解。","app定义主题数据(themedata),material组件库里很多widget都使用了主题数据,如导航栏颜色、标题字体、icon样式等。theme内会使用inheritedwidget来为其子树widget共享样式数据。","app最终的locale。通常在不支持的语言区域时返回一个默认的locale。","app框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。materialapp也是一个widget。","app的android安装包比ios安装包小的主要原因。","app目录","app目录,","app采用dart语言开发。dart在","app,一套代码同时运行在","arb","arb/intl_*.arb","arb/intl_messages.arb”文件中,我们看看其内容:","arb文件是标准的,其格式规范可以自行了解。通常会将arb文件交给翻译人员,当他们完成翻译后,我们再通过下面的步骤根据arb文件生成最终的dart代码。","arb目录,该目录保存我们接下来通过intl_translation命令生成的arb文件。一个简单的arb文件内容如下:","archive/#maco","archive/#window","archiving.\",","args:","around","as!","asin(stokewidth","asin(stokewidth/","assert(_lay","assert(_relayoutboundari","assert(child._lay","assert(el","assert(par","assert(renderview","assertionerror(\"error\");","assert语句被启用,并且flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。","asset","asset:","assetimag","assetimage(\"images/avatar.png\"),","assetimage('graphics/background.png'),","assetimage('icons/heart.png',","assetimage类。例如,我们可以从上面的asset声明中加载背景图片:","assets/background.png","assets/fonts/abrilfatface/abrilfatfac","assets/fonts/raleway","assets/my_icon.png","assets:","assets指定应包含在应用程序中的文件。","assets(有时称为资源)。assets是会打包到程序安装包中的,可在运行时访问。常见类型的assets包括静态数据(例如json文件)、配置文件、图标和图片(jpeg,webp,gif,动画webp","async","async/await","async{","async和await关键词支持了异步编程,运行您写出和同步代码很像的异步代码。","async用来表示函数是异步的,定义的函数会返回一个future对象,可以使用then方法添加回调函数。","atedge:是否滑到了scrol","atomicnumb","atomicnumber)","attach(scrollposit","attachrootwidget(widget","attachtorendertree(buildown","attrs.write(\"","attrs.write(gettype(v,set,name));","attrs.write(key);","attrs.writeln(\";\");","attrs=","authenticate(futur","authenticate:","authenticateproxy(","authenticate”","authorization:","auto","autofocu","autofocus:","autouncompress","autovalid","autovalidate:","autovalidate:是否自动校验输入内容;当为true时,每一个子formfield内容发生变化时都会自动校验合法性,并直接显示错误信息。否则,需要通过调用formstate.validate()来手动校验。","available.\",","avatar:","avds.","await","axi","axis.horizontal,","axis.vertical,","axisdirection.down,","axisdirection:滚动方向。","a标志:","a:包含一个用户头像,圆形,点击后跳到b路由,可以查看大图。","b)","b.depth","b.depth))","background))","background:","background;","backgroundblendmode,","backgroundcolor,","backgroundcolor:","backgroundcolor;","background、一个边框、或者一个阴影。","background:在子widget之后绘制,即背景装饰。","bad","badg","banner","barriercolor;","barrierdismissible;","barrierlabel;","based认证等,目前flutter的httpclient只支持basic和digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用basic认证还是digest认证,都应该在https协议下,这样可以防止抓包和中间人攻击。","baseline:","baseoffset:","bash、mkdir、rm、git、curl、unzip、which","basic","batteri","batterychannel","batterychannel.setmethodcallhandler({","batterylevel","batterylevel:","batterylevel;","batterymanag","batterymanager.getintproperty(batterymanager.battery_property_capacity)","batterymanager.getintproperty(batterymanager.battery_property_capacity);","begin:.0","begin:colors.green","begin:edgeinsets.only(left:","behavior","behavior:","beta","beta.zip","binarymessenger:","binarymessenger:controller];","bindingbas","binding的源码,我们可以发现这些binding中基本都是监听并处理window对象的一些事件,然后将这些事件按照framework的模型包装、抽象然后分发。可以看到widgetsflutterbinding正是粘连flutt","bit","bit(位),颜色深度越深,所能显示的色彩更加丰富靓丽。","bit)","blendmod","blendmode.difference,","blurradius:","bob","body(),","body:","body的widget树中包含了一个cent","body,如:","bold,","book","bool","bool){","border(bottom:","border,","border.all(","border:","borderradius,","borderradius.circular(20.0)),","borderradius.circular(3.0),","borderradius:","borderradiusgeometri","borderside(","borderside(color:","borderside:","boss;","boss字段:","bothdirectiontestrout","bothdirectiontestroutest","bothdirectiontestroutestate();","bottom):分别指定四个方向的补白。","bottom:","bottomappbar(","bottomappbar的shape属性决定洞的外形,circularnotchedrectangle实现了一个圆形的外形,我们也可以自定义外形,比如,flutt","bottomnavigationbar(","bottomnavigationbar:","bottomnavigationbaritem(icon:","bottom分别代表离stack左、上、右、底四边的距离。width和height用于指定定位元素的宽度和高度,注意,此处的width、height","bottom来定位widget,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。","bouncingscrollphysics:ios下弹性效果。","boundari","boxbord","boxconstraint","boxconstraints(","boxconstraints(0.0","boxconstraints(88.0","boxconstraints(88.0这是根renderobject对象的tostringdeep函数的输出。","boxconstraints(biggest)","boxconstraints(minheight:","boxconstraints(minwidth:","boxconstraints(w=411.4,","boxconstraints({","boxconstraints.expand(),","boxconstraints.expand()可以生成一个尽可能大的用以填充另一个容器的boxconstraints。除此之外还有一些其它的便捷函数,读者可以查看api文档。","boxconstraints.tight(size(200.0,","boxconstraints.tight(size(300.0,","boxconstraints.tightfor(height:","boxconstraints.tightfor(width:","boxconstraints用于设置限制条件,它的定义如下:","boxconstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的boxconstraints,如boxconstraints.tight(s","boxdecor","boxdecoration(","boxdecoration())","boxdecoration(//背景装饰","boxdecoration(backgroundcolor:","boxdecoration(color:","boxdecoration({","boxfit.cover,),","boxparentdata","boxparentdata();","boxparentdata)","boxparentdata定义如下:","boxshadow(","boxshadow,","boxshadow:","boxshap","boxshape.rectangle,","break;","brew","bridge,","bright","brightness,","brightness.dark,","brows","bu","bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。","build","build()","build();","build():此回调读者现在应该已经相当熟悉了,它主要是用于构建widget子树的,会在如下场景被调用:","build(buildcontext","build,","build.gradl","build.model;","build_runn","build_runner:","buildcontext","builder","builder(","builder(builder:","builder(context),","builder(context);","builder,","builder:","builder;","builder进行自定义。","buildowner.buildscope()","buildowner.buildscope(renderviewelement);","buildowner.finalizetree();","buildpage(buildcontext","buildtransitions(buildcontext","build时可以被同步读取。","built","bundl","bundle?)","bundle中。","bundle中。前者被认为是main","bundle中加载字符串或图片(二进制)文件。","bundle,而是使父级widget在运行时动态替换的不同的assetbundle,这对于本地化或测试场景很有用。","bus.emit(\"login\",","bus.on(\"login\",","button","buttontext","buttontheme,","buttonthemedata","byte[]","bytedata","b:显示用户头像原图,矩形;","c++实现的","c:\\users\\{user_name}\\.gradle\\gradle.properti","c:\\windows\\system32\\drivers\\etc\\","cach","cacheextent,","call,","call.method)","callback();","callback)","callback){","canbetapped)","canbetapped;","cancel","cancel;","canceled,","canupdate(...)是一个静态方法,它主要用于在widget树重新build时复用旧的widget,其实具体来说,应该是:是否用新的widget对象去更新旧ui树上所对应的element对象的配置;通过其源码我们可以看到,只要newwidget与oldwidget的runtimetype和key同时相等时就会用newwidget去更新element对象的配置,否则就会创建新的element。","canupdate(widget","canvas,","canvas.drawarc(","canvas.drawrect(offset.zero","canvas:一个画布,包括各种绘制方法,我们列出一下常用的方法:","cardcolor,","case","catch","catch(e){","catcherror回调函数将被调用;但是,并不是只有","catcherror回调才能捕获错误,then方法还有一个可选参数onerror,我们也可以它来捕获异常:","catch语句中。","caught","cb){","cd","center","center(","center(child:","center:","center三个值),不同的是crossaxisalignment的参考系是verticaldirection,即verticaldirection值为verticaldirection.down时crossaxisalignment.start指顶部对齐,verticaldirection值为verticaldirection.up时,crossaxisalignment.start指底部对齐;而crossaxisalignment.end和crossaxisalignment.start正好相反;","cert,","chang","change\");","changefirstchar(filename);","changefirstchar(str","channel","channel).setmethodcallhandl","channel).setmethodcallhandler(","channel.sink.add('hello!');","channel.sink.add(_controller.text);","channel.sink.close();","channel.stream,","channel;","channels:","channel查看所有分支,如笔者本地运行后,结果如下:","channel)将消息发送到其应用程序的所在的宿主(ios或android)应用(原生应用)。","channel),主要处理原生和flutter通信。","check","checkbox(","checkedmodebann","child","child)","child),","child);","child,","child._layer.offset","child._paintwithcontext(this,","child.hittest(result,","child.layout()","child.parentdata","child.parentdata;","child:","child:builder(builder:","child;","childaspectratio","childaspectratio:","childaspectratio:子元素在横轴长度和主轴长度的比例。由于crossaxiscount指定后子元素横轴长度就确定了,然后通过此参数值就可以确定子元素在主轴的长度。","childcount:","childparentdata","childparentdata.nextsibling;","childparentdata.offset","children","children,","children:","children:[","children是一个textspan的数组,也就是说textspan可以包括其他textspan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果,然后用textspan实现它。","childtyp","chip(","chmod","chrome浏览器和android均采用skia作为其绘图引擎,值得一提的是,由于android系统已经内置了skia,所以flutter在打包apk(android应用安装包)时,不需要再将skia打入apk中,但ios系统并未内置skia,所以构建ipa时,也必须将skia一起打包,这也是为什么flutt","chunk","circleavatar(","circleavatar(backgroundcolor:","circleavatar(child:","circularnotchedrectangle(),","clampingscrollphysics:android下微光效果。","class","class)来解决前面提到的问题,我们称之为user。在user类内部,我们有:","classname,classname,classname]);","classname=changefirstchar(v.substring(3),false);","classname=name[0].touppercase()+name.substring(1);","click","click\");","client)","client.findproxi","clipoval(","cliprect(","cocoapod","cocoapods目前不提供依赖覆盖功能。","code","code。","code之一以获得更好的开发体验。flutter官方提供了这两款编辑器插件,通过ide和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下android","code创建的flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器demo的源码,让读者对flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍flutter应用的其它概念与技术。对于接下来的示例,希望读者可以跟着笔者实际动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉dart或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。","code是一个轻量级编辑器,支持flutter运行和调试。","code根据前面“编辑器配置与使用”一章中介绍的创建flutter工程的方法创建一个新的flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的demo。","code的配置与使用","code的配置及使用(android","code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。","collectlog(line);","collectlog(str","color","color(0x77cdb175);","color(0xd0ff0000);","color(0xdd000000);","color(0xff2196f3)","color(0xff2196f3))","color(0xffeeeeee),","color(0xfffafafa)","color(0xfffafafa)))","color(0xffffff00)","color,","color.value,","color:","color:colors.black54,","color:colors.red,","color;","color];","colorblendmode:","colorblendmode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorblendmode指定混合模式,下面是一个简单的示例:","colorbrightness:","colors,","colors.amber,","colors.black","colors.black,","colors.black.withopacity(0.1),","colors.black.withopacity(0.5),","colors.black54);","colors.black54,","colors.black87","colors.blu","colors.blue)),","colors.blue,","colors.blue,),","colors.blue,);","colors.blue[200]],","colors.blue[300]],","colors.blue[700],","colors.blue],","colors.blueaccent],","colors.bluegrey,","colors.brown,),","colors.cyan,","colors.cyan[100","colors.cyan[500]],","colors.cyan],","colors.deeporange,","colors.green","colors.green);","colors.green,","colors.green,),","colors.green[200],","colors.green[700]],","colors.grey","colors.grey),//定义label字体样式","colors.grey,","colors.grey[200],","colors.grey[600],","colors.last,","colors.lightblue[100","colors.lightgreen[700]","colors.orange),","colors.orange,","colors.orange],","colors.purple,),","colors.r","colors.red),","colors.red,","colors.red,),","colors.red[50],","colors.red],","colors.t","colors.teal;","colors.teal[700],","colors.transparent)","colors.transparent,","colors.white)),","colors.white),","colors.white),),","colors.white,","colors.yellow,),","colors:","colors;","colortween","colortween(","colortween(begin:","color和","color和decoration是互斥的,实际上,当指定color时,container内会自动创建一个decoration。","column","column(","column(children:","column可以在垂直方向排列其子widget。参数和row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比row来理解,在此不再赘述。","column:","comma","command","company开发的跨平台c++图形用户界面应用程序开发框架。2008年,qt","company科技被诺基亚公司收购,qt也因此成为诺基亚旗下的编程语言工具。2012年,qt被digia收购。2014年4月,跨平台集成开发环境qt","complet","componentel","componentelement{","compositeframe()","configuration:","configurations.al","conflict","connection:","connectiontimeout","console.log(model);","const","constrainedbox","constrainedbox(","constrainedbox和sizedbox","constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的。sizedbox只是constrainedbox一个定制,本节把他们放在一起讨论。","constrainedbox用于对齐子widget添加额外的约束。例如,如果你想让子widget的最小高度是80像素,你可以使用const","constraint","constraints,","constraints.istight","constraints:","const,不是var,也不是一个类型。","consum","contain","container(","container(...),","container(child:","container(width:","container({","container:","container可以使用矩阵在三维空间中对其进行变换。","container容器","container是我们要介绍的最后一个容器类widget,它本身不对应具体的renderobject,它是decoratedbox、constrainedbox、transform、padding、align等widget的一个组合widget。所以我们只需通过一个container可以实现同时需要装饰、变换、限制的场景。下面是container的定义:","container:","contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。","content","context)","context)来获取的,我们看看其简化后的代码:","context),继承自animatedwidget的动画widget都要实现这个build方法。现在设想一下,如果statefulwidget","context,","context.findrenderobject()","context.inheritfromwidgetofexacttyp","context.inheritfromwidgetofexacttype(_inheritedtheme)","context.inheritfromwidgetofexacttype(sharedatawidget);","context.paintchild(child,","context.s","context:","contextwrapper(applicationcontext).registerreceiver(null,","contextwrapper(getapplicationcontext()).","context,它是buildcontext类的一个实例,表示构建widget的上下文,它是操作widget在树中位置的一个句柄,它包含了一些查找、遍历当前widget树的一些方法。每一个widget都有一个自己的context对象。","control","control:","controller);","controller,","controller.addlistener(()=>print(controller.offset))","controller.dispose();","controller.forward();","controller.positions.elementat(0).pixel","controller.positions.elementat(1).pixel","controller.reverse();","controller:","controller;","controller:此属性接受一个scrollcontroller对象。scrollcontroller的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的primaryscrollcontroller,如果子树中的可滚动widget没有显式的指定controller并且primary属性值为true时(默认就为true),可滚动widget会使用这个默认的primaryscrollcontroller,这种机制带来的好处是父widget可以控制子树中可滚动widget的滚动,例如,scaffold使用这种机制在ios中实现了\"回到顶部\"的手势。我们将在本章后面“滚动控制”一节详细介绍scrollcontroller。","controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则textfield内部会自动创建一个。","controls面板中的电池电量。","cookie:","cordova、ion","count","count,","counterwidget","counterwidget();","counterwidget({","counterwidget接收一个initvalue整形参数,它表示计数器的初始值。下面我们看一下state的代码:","cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。","cpu","cpu和gpu的任务是各有偏重的,cpu主要用于基本数学和逻辑计算,而gpu主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,gpu的主要作用就是确定最终输送给显示器的各个像素点的色值。","creat","createboxpainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。","createelement()","createelement();","createelement():正如前文所述“一个widget可以对应多个element”;flutt","createrenderobject(buildcontext","createscrollposition(","createstate()","createstate();","createticker(tickercallback","creator","creator:","credentials)","credentials);","crossaxisalign","crossaxisalignment.center,","crossaxisalignment.start,","crossaxisalignment:","crossaxisalignment:表示子widgets在纵轴方向的对齐方式,row的高度等于子widgets中最高的子元素高度,它的取值和mainaxisalignment一样(包含start、end、","crossaxiscount,","crossaxiscount:","crossaxiscount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即viewport横轴长度/crossaxiscount。","crossaxisspac","crossaxisspacing:","crossaxisspacing:横轴方向子元素的间距。","ctrl","ctx,","cupertino","cupertino_icons:","cupertinobutton(","cupertinocolors.activeblue,","cupertinonavigationbar(","cupertinopageroute(","cupertinopagescaffold(","cupertinoscrollbar","cupertinoscrollbar是ios风格的滚动条,如果你使用的是scrollbar,那么在ios平台它会自动切换为cupertinoscrollbar。","cupertinotestrout","current){","current=current.tolowercase();","currentindex:","cursorcolor,","cursorwidth、cursorradius和cursorcolor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。","curv","curve:","curvedanim","curvedanimation(","curvedanimation(parent:","curvedanimation和animationcontroller(下面介绍)都是animation类型。curvedanimation可以通过包装animationcontroller和curve生成一个新的动画对象","curvedanimation生成的值也可以超出0.0到1.0的范围。根据选择的曲线,curvedanimation的输出可以具有比输入更大的范围。例如,curves.elasticin等弹性曲线会生成大于或小于默认范围的值。","curves.bouncein);","curves.decelerate)","curves.eas","curves.ease)","curves.ease,","curves.easein);","curves.easeout);","curves.easeout,","customhom","custompaint","custompaint(","custompaint({","custompainter中提定义了一个虚函数paint:","custompaintrout","custompaint与canva","customscrollview","customscrollview(","customscrollviewtestrout","customscrollview是可以使用sliver来自定义滚动模型(效果)的widget。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个gridview,底部需要一个listview,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体,如果使用gridview+listview来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动widget(sliver)\"粘\"起来,而customscrollview的功能就相当于“胶水”。","c代码,使用ios电池api来获取电池电量,这和原生是相同的。","c和swift中早就很普遍,而??操作符在php","c或swift语言直接调用io","c相似,首先打开xcode中flutter应用程序的ios部分:","c编写ios代码。要使用kotlin或swift,请使用","c,如果您更喜欢swift,可以直接跳到后面swift部分。","d:\\android\\sdk","dart","dart:ui库时,调用最终会走到engine层,然后实现真正的绘制逻辑。","dartdoc","dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,,如果读者不清楚,可以查看dart语言文档,不在赘述,下面我们看看flutter中的异常捕获。","dart中有一个runzoned(...)","dart中的async/await","dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:","dart分析器大量使用了代码中的类型注释来帮助追踪问题。我们鼓励您在任何地方使用它们(避免var、无类型的参数、无类型的列表文字等),因为这是追踪问题的最快的方式。","dart包:其中一些可能包含flutter的特定功能,因此对flutter框架具有依赖性,这种包仅用于flutter,例如fluro包。","dart单线程模型","dart团队就在你身边","dart实现的","dart插件:","dart支持","dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。","dart的io库包含了文件读写的相关类,它属于dart语法标准的一部分,所以通过dart","dart类库有非常多的返回future或者stream对象的函数。","dart线程模型及异常捕获","dart而不是","dart语言开发","dart语言简介","dart运行时和编译器支持flutter的两个关键特性的组合:","data,","data:","data;","data”。","date:","datetim","datetime.now().difference(_lastpressedat)","datetime.now();","day","deactiv","deactivate()","deactivate():当state对象从树中被移除时,会调用此回调。在一些场景下,flutt","debug","debugalsopaintedparent:","debugdumpapp();","debugfillproperties(...)","debugfillproperties(diagnosticpropertiesbuild","debugger()","debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:","debugger(when:","debugpaintbaselinesenabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。","debugpaintpointersenabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。","debugprintmarkneedspaintstacks标志。","debugprintscheduleframestacks还可以用来打印导致当前帧被调度的调用堆栈。","debugshortdescription:","decor","decoratedbox","decoratedbox(","decoratedbox({","decoratedbox可以在其子widget绘制前(或后)绘制一个装饰decoration(如背景、边框、渐变等)。decoratedbox定义如下:","decoration,","decoration:","decoration:boxdecoration(color:","decoration:textdecoration.underline,","decorationimag","decorationimage(","decorationposit","decorationposition.background,","decorationstyle:","decoration:代表将要绘制的装饰,它类型为decoration,decoration是一个抽象类,它定义了一个接口","dedic","defaultassetbundl","defaultpaint(paintingcontext","defaulttextstyl","defaulttextstyle(","defer","defertochild:子widget会一个接一个的进行命中测试,如果子widget中有测试通过的,则当前widget通过,这就意味着,如果指针事件作用于子widget上时,其父(祖先)widget也肯定可以收到该事件。","delegate:","delegate类的职责是在locale改变时加载新的locale资源,所以它有一个load方法,delegate类需要继承自localizationsdelegate类,实现相应的接口,示例如下:","delet","delta:两次指针移动事件(pointermoveevent)的距离。","demo","demo\"),","demo',","demoloc","demolocalizations();","demolocalizations(locale.languagecod","demolocalizations(this.iszh);","demolocalizations);","demolocalizations.load(locale);","demolocalizationsdeleg","demolocalizationsdelegate()","demolocalizationsdelegate();","demolocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。demolocalizations的实例将会在delegate类的load方法中创建。","depend","dependencies:","dependencies:应用或包依赖的其它包或插件。","dependency_overrides:","deploy","deployment/","desc:","describeapproximatepaintclip和","description:","design","design:","design中头部伸缩的模型,具体效果,读者可以运行该示例查看。","design图标的icondata静态变量定义。","design基线网格覆盖在应用程序上可能有助于验证对齐。","design字体图标","design所有图标可以在其官网查看:https://material.io/tools/icons/","design的字体图标,在pubspec.yaml文件中的配置如下","design的应用程序。material应用程序以materialapp","design的应用程序时,","design设计规范中flatbutton类的尺寸标准)。","detach(scrollposit","detail","details)","details){","details.delta.dx;","details.delta.dy;","details:","details:nil]);","details;","details=makedetails(obj,stack);","detected!\";","dev","dev_depend","dev_dependencies:","dev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。","develop","devic","device.","device.batterylevel","device.batterymonitoringen","device.isbatterymonitoringen","device])","devicepixelratio","devicepixelratio:","diagnosis:","diagnosticabletre","diagnosticstreestyle.dense;","dialogbackgroundcolor,//对话框背景颜色","didchangedepend","didchangedependencies()","didchangedependencies():当state对象的依赖发生变化时会被调用;例如:在之前build()","didfinishlaunchingwithopt","didfinishlaunchingwithoptions:","didfinishlaunchingwithoptions:(nsdictionary*)launchopt","didfinishlaunchingwithoptions:launchoptions];","didfinishlaunchingwithoptions:方法内部创建一个fluttermethodchannel,并添加一个处理方法。","didupdatewidget","didupdatewidget():在widget重新构建时,flutt","didupdatewidget(counterwidget","didupdatewidget(turnbox","dio","dio();","dio.download(\"https://www.google.com/\",_savepath);","dio.get(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio.get(\"/test?id=12&name=wendu\")","dio.onhttpclientcr","dio.post(\"/info\",","dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})","dio:","dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,app只有一个http数据源时,dio应该使用单例模式。","dio是一个强大的dart","dir","dir=i10n","dir=lib/i10n","direction:","directory(src);","dirti","dirtynod","dirtynodes..sort((renderobject","dirty,这样在下一个frame中便会重新layout,我们看看renderobject的markneedslayout()的部分源码:","dismiss","dispos","dispose()","dispose():当state对象从树中被永久移除时调用;通常在此回调中释放资源。","dist=\"lib/models/\";","dist=dist.replacefirst(\"%t\",_import","dist=format(template,[name,classname,classname,attrs.tostring(),","divider(height:","divider1=divider(color:","divider2=divider(color:","dividercolor,","dl.google.com","doctor","doctor’","doctor命令","doctor命令来验证是否安装成功。","doctor并按照说明解决问题.","doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutt","dom树与控件树","doubl","double.infin","double.infinity,","double[]","doubletween","down","down,","down0","down1","down;","download","dpi是设备屏幕的固件属性,如nexu","dragdowndetails.globalposition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父widget)原点(左上角)的偏移。","dragenddetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。","dragupdatedetails.delta:当用户在屏幕上滑动时,会触发多次update事件,delta指一次update事件的滑动的偏移量。","drawarc","drawcircl","drawer(","drawer:","drawerhead","drawframe()","drawframe();","drawimag","drawlin","drawov","drawpath","drawpoint","drawrect","dri","dsbridge=require(\"dsbridge\")","dsbridge项目主页查看。","dsl","dumperrortoconsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如:","durat","duration(milliseconds:","duration(seconds:","duration:","duration表示动画执行的时长,通过它我们可以控制动画的速度。","dure","dwebview","dwebview.addjavascriptobject(new","dwebview=","dynam","dynamic和object","e)","e)).tolist()),","e){","e,","e.aspascalcase).tolist()","e.delta.dx;","e.delta.dy;","e000","e90d","e914","echo","echo(text:","echo({","echorout","echoroute(this.tip);","edgeinset","edgeinsets(0.0,","edgeinsets(16.0,","edgeinsets.all(10.0)),","edgeinsets.all(15.0),","edgeinsets.all(16.0),","edgeinsets.all(20.0),","edgeinsets.all(8.0),","edgeinsets.fromltrb(20.0,.0,20.0,20.0),","edgeinsets.only(bottom:","edgeinsets.only(left:","edgeinsets.only(top:","edgeinsets.symmetric(horizontal:","edgeinsets.symmetric(vertical:","edgeinsets.zero);","edgeinsets.zero,","edgeinsets.zero;","edgeinsetsgeometri","edgeinsetsgeometry是一个抽象类,开发中,我们一般都使用edgeinsets,它是edgeinsetsgeometry的一个子类,定义了一些设置补白的便捷方法。","eheight","element","element._newwidget","element.assignowner(owner);","element.markneedsbuild();","element.mount(null,","element.mount(parentelement,newslot)","element;","element])","elementtree。如果","element与buildcontext","element和buildcontext","element就是widget在ui树具体位置的一个实例化对象,大多数element只有唯一的renderobject,但还有一些element会有多个子节点,如继承自renderobjectelement的一些类,比如multichildrenderobjectelement。最终所有element的renderobject构成一棵树,我们称之为渲染树,即rend","element的生命周期如下:","element,即","elevation:","email","email,","email;","emailaddress","embed","emit(eventname,","enabl","enabled,","enableflags(bold:","enableflags({bool","enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。","encod","encoding:","encoding的值为当前httpclient支持的压缩算法列表,目前只有\"gzip\"","encoding,如果设置为true,则请求头中cont","end:","end:colors.red,","end:edgeinsets.only(left:","endangle:","endofframe;","engin","engine与上层framework的”胶水“。","engine受显示器垂直同步信号\"vsync\"的趋势不断的触发绘制。我们之前说的flutter可以实现60fps(fram","engine提供的canva","engine提供的dart","engine的window_render方法","engine的window_scheduleframe方法","engine的一些回调。现在我们再回来看看widgetsflutterbinding混入的各种binding。通过查看这些","engine的桥梁。","engine的桥梁,主要是辅助功能的底层支持。","engine的桥梁,定义如下:","engine的渲染api","engine,最终又engine将图像画在设备屏幕上。","english_words:","enough","ensureinitialized()","entries:","error","error:","errorwidget.builder(_debugreportexception('build","errorwithcode:@\"unavailable\"","etc...)","etc...))","event","event)","eventbu","eventbus();","eventbus()=>","eventbus()始终返回都是同一个实例,读者应该理解并掌握这种方法。","eventbus._internal();","eventcallback","eventcallback(arg);","event,在移动设备上通常为触摸事件),下一节再介绍手势处理。","ewidth","examples:","exception,","exception:","execute(()=>print(\"xxx\"))","execute(var","execution,","exit","expand","expanded(","expanded({","expandedheight:","export","extend","extens","extensions:","extentafter:列表中未滑入viewport部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。","extentbefore:滑出viewport顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。","extentinside:viewport内部长度;此示例中屏幕显示的列表部分的长度。","extentoffset:","f","f(string","f(uri","f)","f])","factori","faderout","faderoute(builder:","faderoute({","fadetransition(","fall","fals","false)","false),","false);","false,","false;","family:","faq","file","file(\"$dist$name.dart\").writeasstringsync(dist);","file(\"./example/upload.txt\"),","file(\"./template.dart\").readasstringsync();","file(\"./upload.txt\"),","file('$dir/counter.txt');","file(f.path);","file.readasstring();","file/","file;","file>new","filename=changefirstchar(v.substring(1),false);","fileoperationrout","fileoperationroute({key","files\\)。","filesystemexcept","fill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。","final","final和const","findproxi","findviewbyid(r.id.dwebview);","fingerprint:","finish","finish。","first","firstchild;","fit:","fitheight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fitwidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。","fit:此参数用于决定没有定位的子widget如何去适应stack的大小。stackfit.loose表示使用子widget的大小,stackfit.expand表示扩伸到stack的大小。","fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在boxfit中定义,它是一个枚举类型,有如下值:","fixedcolor:","flatbutton","flatbutton(","flatbutton({","flatbutton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色:","flex","flex(","flex({","flex,","flex:","flexiblespace:","flexiblespacebar(","flexlayouttestrout","flex为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:","flex可以沿着水平或垂直方向排列子widget,如果你知道主轴方向,使用row或column会方便一些,因为row和column都继承自flex,参数基本相同,所以能使用flex的地方一定可以使用row或column。flex本身功能是很强大的,它也可以和expanded配合实现弹性布局,接下来我们只讨论flex和弹性布局相关的属性(其它属性已经在介绍row和column时介绍过了)。","flex继承自multichildrenderobjectwidget,对应的renderobject为renderflex,renderflex中实现了其布局算法。","float64list","floatingactionbutton","floatingactionbutton(","floatingactionbutton:","floatingactionbuttonlocation.centerdocked,","floatingactionbuttonlocation:","floatingactionbutton是material设计规范中的一种特殊button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过scaffold的floatingactionbutton属性来设置一个floatingactionbutton,同时通过floatingactionbuttonlocation属性来指定其在页面中悬浮的位置,这个比较简单,不在赘述。","floatingactionbutton是页面右下角的带“➕”的悬浮按钮,它的onpressed属性接受一个回调函数,代表它本点击后的处理器,本例中直接将_incrementcounter作为其处理函数。","flow","flow(","flowdeleg","flushcompositingbits()","flushlayout()","flushpaint()","flutter","flutter:","flutter\\bin","flutter\\bin的全路径,使用","flutter_in_act","flutter_in_action...","flutter_localizations:","flutter_storage_base_url=https://storage.flutt","flutter_test:","flutteract","flutteractivity()","flutterappdeleg","fluttererror.onerror","fluttererror.reporterror(details);","fluttererrordetail","fluttererrordetails(","fluttermethodcall,","fluttermethodchannel","fluttermethodchannel*","fluttermethodchannel.init(name:","flutterresult","flutterresult)","flutterstandardbiginteg","flutterstandardtypeddata","flutterviewcontrol","flutterviewcontroller*","flutterviewcontroller;","flutter与原生之间的通信依赖灵活的消息传递方式:","flutter与用于构建移动应用程序的其它大多数框架不同,因为flutter既不使用webview,也不使用操作系统的原生控件。","flutter中动画抽象","flutter中可以使用listen","flutter中很多地方使用了通知,如可滚动(scrollable)","flutter中文网社区:flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。","flutter中正是通过这种方式封装了很多动画,如:fadetransition、scaletransition、sizetransition、fractionaltranslation等,很多时候都可以复用这些预置的过渡类。","flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。","flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。","flutter中,我们可以通过image来加载并显示图片,image的数据源可以是asset、文件、内存以及网络。","flutter也提供了一套丰富的cupertino风格的widget,尽管目前还没有materi","flutter从启动到显示","flutter会调用此类加载相应的locale资源类","flutter使用skia作为其2d渲染引擎,skia是google的一个2d图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,skia是跨平台的,并提供了非常友好的api,目前googl","flutter使用了一个灵活的系统,允许您调用特定平台的api,无论在android上的java或kotlin代码中,还是ios上的objectivec或swift代码中均可用。","flutter依赖于android","flutter动画简介","flutter可以轻松实现各种动画类型,对于许多widget,特别是materi","flutter在发布时可以通过aot生成高效的arm代码以保证应用性能。而javascript则不具有这个能力。","flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建ui界面(通常是通过组合、拼装其它基础widget)。","flutter应用在启动时都会绑定一个schedulerbinding,通过schedulerbinding可以给每一次屏幕刷新添加回调,而ticker就是通过schedulerbinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用tickercallback。使用ticker(而不是timer)来驱动动画会防止屏幕外动画(动画的ui不在当前屏幕时,如锁屏时)消耗不必要的资源,因为flutter中屏幕刷新时会通知到绑定的schedulerbinding,而ticker是受schedulerbinding驱动的,由于锁屏后屏幕会停止刷新,所以ticker就不会再触发。","flutter应用程序可以包含代码和","flutter异常捕获","flutter提供了一套丰富、强大的基础widget,在基础widget库之上flutter又提供了一套material风格(android默认的视觉风格)和一套cupertino风格(ios视觉风格)的widget库。要使用基础widget库,需要先导入:","flutter提供了一套丰富的materi","flutter提供了丰富的widget,在实际的开发中你可以随意使用它们,不要怕引入过多widget库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于material和cupertino都是在基础widget库之上的,所以如果你的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。","flutter提供了丰富的组件、接口,开发者可以很快地为","flutter提供的任何具有ui外观的widget,如文本text、image都是通过相应的renderobject渲染出来的,如text是由renderparagraph渲染,而image是由renderimage渲染。renderobject是一个抽象类,它定义了一个抽象方法paint(...):","flutter插件:","flutter旨在提供流畅、高保真的的ui体验。为了实现这一点,flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而dart支持aot,在这一点上可以做的比javascript更好。","flutter是google发布的一个用于创建跨平台、高性能移动应用的框架。flutter和qt","flutter核心原理","flutter框架中的许多类都有tostring实现。按照惯例,这些输出通常包括对象的runtimetype单行输出,通常在表单中classname(mor","flutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,flutter将无法有效地工作。当然chrom","flutter框架异常捕获","flutter框架本身有着良好的分层设计,本节旨在让读者对flutter整体框架有个大概的印象,相信到现在为止,读者已经对flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下flutter的开发语言dart。","flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugprint)的功能。","flutter框架结构","flutter添加","flutter的gridview默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局:","flutter的入口在\"lib/main.dart\"的main()函数中,它是dart应用程序的起点。在flutter应用中,main()函数如下:","flutter简介","flutter运行机制","flutter还使用","flutter高,","flutter高性能主要靠两点来保证,首先,flutt","flutter默认包含了一套materi","flutter默认提供了一套丰富的material风格的ui组件。","flutter:flutter相关的配置选项。","fmt,","focu","focus","focus)","focus;","focusnod","focusnode();","focusnode);","focusnode,","focusnode.addlistener((){","focusnode1","focusnode1,//关联focusnode1","focusnode1.unfocus();","focusnode2","focusnode2,//关联focusnode2","focusnode2.unfocus();","focusnode:","focusnode和focusscopenode还有一些其它的方法,详情可以查看api文档。","focusnode绑定输入框","focusnode继承自changenotifier,通过focusnode可以监听焦点的改变事件,如:","focusnode:用于控制textfield是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。","focusscope.of(context).requestfocus(focusnode2);","focusscope.of(context);","focusscopenod","focusscopenode){","focusscopenode.requestfocus(focusnode2);","focusscopenode;","focustestrout","font","fontfamili","fontfamily,","fontfamily:","fonts/iconfont.ttf","fonts:","fontsize:","fontsize可以精确指定字体大小,而textscalefactor只能通过缩放比例来控制。","fontsize:该属性和text的textscalefactor都用于控制字体大小。但是有两给主要区别:","fonts中的字体。本节将介绍如何为flutter应用配置字体,并在渲染文本时使用它们。","fontweight.bold),","forc","foregrounddecoration,","foregroundpainter:","foreground:在子widget之上绘制,即前景。","form","form(","form({","format","format(str","formdata","formdata)","formdata.from({","formdata:","formfield","formfield({","formfieldsett","formfieldvalid","formstat","formstate).validate()){","formstate.reset():调用此方法后,会将子孙formfield的内容清空。","formstate.save():调用此方法后,会调用form子孙formfield的save回调,用于保存表单内容","formstate.validate():调用此方法后,会调用form子孙formfield的validate回调,如果有一个校验失败,则返回false,所有校验失败项都会返回用户返回的错误提示。","formstate为form的state类,可以通过form.of()或globalkey获得。我们可以通过它来对form的子孙formfield进行统一操作。我们看看其常用的三个方法:","formtestrout","form的子孙元素必须是formfield类型,formfield是一个抽象类,定义几个属性,formstate内部通过它们来完成操作,formfield部分定义如下:","form继承自statefulwidget对象,它对应的状态类为formstate。我们先看看form类的定义:","forward","fractionaltransl","frame","frame:","frame?","framecallback","framecallback:schedulerbind","framework","framework会动态设置state.widget为新的widget实例。","framework会将state对象重新插到树中,如包含此state对象的子树在树的一个位置移动到另一个位置时(可以通过globalkey来实现)。如果移除后没有重新插入到树中则紧接着会调用dispose()方法。","framework会调用widget.canupdate来检测widget树中同一位置的新旧节点,然后决定是否需要更新,如果widget.canupdate返回true则会调用此回调。正如之前所述,widget.canupdate会在新旧widget的key和runtimetype同时相等时会返回true,也就是说在在新旧widget的key和runtimetype同时相等时didupdatewidget()就会被调用。","framework会通知widget调用此回调。","framework内部正式通过tag来对应新旧路由页widget的对应关系的。","framework动态设置。注意,这种关联并非永久的,因为在应用声明周期中,ui树上的某一个节点的widget实例在重新构建时可能会变化,但state实例只会在第一次插入到树中时被创建,当在重新构建时,如果widget被修改了,flutt","framework只会调用一次该回调,所以,通常在该回调中做一些一次性的操作,如状态初始化、订阅子树的事件通知等。不能在该回调中调用buildcontext.inheritfromwidgetofexacttype(该方法用于在widget树上获取离当前widget最近的一个父级inheritfromwidget,关于inheritedwidget我们将在后面章节介绍),原因是在初始化完成后,widget树中的inheritfromwidget也可能会发生变化,所以正确的做法应该在在build()方法或didchangedependencies()中调用它。","framework在收到消息后,会重新调用其build方法重新构建widget树,从而达到更新ui的目的。","framework在构建ui树时,会先调用此方法生成对应节点的element对象。此方法是flutt","framework就会调用该方法为每一个位置生成一个独立的state实例,其实,本质上就是一个statefulelement对应一个state实例。","framework是怎么知道子widget有没有依赖inheritedwidget的?","framework状态发生改变,flutt","framework的概念是差不多的,的确如此,之所以用“ui系统”,是因为其他平台中可能不这么叫,我们只是为了概念统一,便于描述,读者不必纠结于概念本身。","framework的管理类,它跟踪哪些widget需要重新构建。","framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值即可,幸运的是,这些事情flutter已经帮我们做了。","framework自动完成的。必须要注意,","framework调用。而这个“依赖”指的就是是否使用了父widget中inheritedwidget的数据,如果使用了,则代表有依赖,如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的主题、locale等发生变化时有机会来做一些事情。","framework连接宿主操作系统的接口。我们看一下window类的部分定义:","framework隐式调用的,在我们开发过程中基本不会调用到。","friend\"),","friend\"),和第二个text原理一样,只不过是水平方向没有定位,则水平方向居中。","friends;","from,","fromltrb(doubl","fullscreendialog","fullscreendialog表示新的路由页面是否是一个全屏的模态对话框,在ios中,如果fullscreendialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。","fun","func","function","function');","function(list","function(local","futur","future.catcherror","future.delayed(duration(seconds:","future.delayed(new","future.error(\"xxx\"));","future.then","future.then((_)","future.value(499);","future.wait","future.wait([","future.wait([dio.post(\"/info\"),dio.get(\"/token\")]);","future.whencomplet","future2","future2.catcherror((e)","future3","future;","future与javascript中的promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个future只会对应一个结果,要么成功,要么失败。","gallery中material组件部分的示例。注意,笔者强烈建议用户将flutt","gallery源码:gallery是flutter官方示例app,里面有丰富的示例,读者可以在网上下载安装。gallery的源码在flutter源码“examples”目录下。","gallery示例中就有一个”钻石“形状的实现,读者感兴趣可以自行查看。","gallery示例跑起来,它是一个很全面的flutter示例,是非常好的参考demo。","gecko)","gener","generatedpluginregistrant.register(with:","generatedpluginregistrant.registerwith(this)","generatewordpairs().take(20).map((e)","gestur","gesturebinding,","gesturebinding:提供了window.onpointerdatapacket","gestureconflicttestroutest","gesturedetector","gesturedetector(","gesturedetectortestrout","gesturedetector内部是使用一个或多个gesturerecognizer来识别各种手势的,而gesturerecognizer的作用就是通过listener来将原始指针事件转换为语义手势,gesturedetector直接可以接收一个子widget。gesturerecognizer是一个抽象类,一种手势的识别器对应一个gesturerecognizer的子类,flutter实现了丰富的手势识别器,我们可以直接使用。","gesturedetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果:","gesturedetector是一个用于手势识别的功能性widget,我们通过它可以来识别各种手势,它是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别:","gesturedetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。","gesturerecogn","gestures:","gesturetapcallback","get\"","getapplicationdocumentsdirectory()).path;","getbatterylevel()","getbatterylevel():","getbatterylevel();","getbatterylevel];","getphonemodel","getphonemodel(object","getsystemservice(battery_service);","getsystemservice(context.battery_service)","gettemporarydirectory()","getter。更多关于语义化的信息可以查看api文档。","gettype(v,set","getuserinfo(id).then((userinfo){","getuserinfo(id);","getuserinfo(str","get”)","get获取项目所有的依赖包。","gif,png,bmp和wbmp)等。","git","git:","git://github.com/flutter/packages.git","git://github.com/xxx/pkg1.git","github","github项目下去下载安装包,地址:https://github.com/flutter/flutter/releas","github:如果遇到的问题在stackoverflow上也没有找到答案,可以去github","given","gle","globalkey","globalkey();","globalmateriallocalizations.delegate,","globalwidgetslocalizations.delegate,","globalwidgetslocalizations.delegate定义widget默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。","gmt","good)","googl","google()","google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过","gpu,gpu渲染后放入帧缓冲区,然后视频控制器按照同步信号从帧缓冲区取帧数据传递给显示器显示。","gradient","gradient,","gradient:","gradientbutton","gradientbutton(","gradientbutton({","gradientbuttonrout","gradientcircularprogressind","gradientcircularprogressindicator(","gradientcircularprogressindicator({","gradientcircularprogressrout","gradientcircularprogressroutest","gradientcircularprogressroutestate();","gradl","gradle/","graphics/background.png","grid","griddelegate,","griddelegate:","gridview","gridview(","gridview({","gridview.build","gridview.builder(","gridview.count","gridview.count(","gridview.count构造函数内部使用了slivergriddelegatewithfixedcrossaxiscount,我们通过它可以快速的创建横轴固定数量子元素的gridview,上面的示例代码等价于:","gridview.ext","gridview.extent(","gridview.extent构造函数内部使用了slivergriddelegatewithmaxcrossaxisextent,我们通过它可以快速的创建纵轴子元素为固定最大长度的的gridview,上面的示例代码等价于:","gridview可以构建一个二维网格列表,其默认构造函数定义如下:","growtransit","growtransition(","growtransition({this.child,","gzip","h5+原生","h5+原生混合开发","h5+原生(cordova、ionic、微信小程序)","h=683.4)","h=683.4)。从renderpositionedbox的转储中看到是由cent","handl","handlebeginframe(null);","handledrawframe()","handledrawframe();","handlemetricschang","handler","handler\");","handletextscalefactorchang","hardwar","hdpi已包含占位符图像”ic_launcher.png”)。","head","height","height,","height.value,","height:","height:80.0,","height;","heightfactor:","height:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontsize*height。","hell","hell)","hello","hello/android/build.gradle:","hello/pubspec.yaml中:","hell)。回调地狱问题在之前javascript中非常突出,也是javascript被吐槽最多的点,但随着ecmascript6和ecmascript7标准发布后,这个问题得到了非常好的解决,而解决回调地狱的两大神器正是ecmascript6引入了promise,以及ecmascript7中引入的async/await。","here","hero","hero(","heroanimationrout","heroanimationrouteb","heroanimationrouteb(),","hero动画","hero动画的原理比较简单,flutt","hero指的是可以在路由(页面)之间“飞行”的widget,简单来说hero动画就是在路由切换时,有一个共享的widget可以在新旧路由间切换,由于共享的widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会逐渐过渡,这样就会产生一个hero动画。","hidden:","hidden})","highlightcolor:","hintcolor:","hintstyle:","hinttext:","hittest","hittest()中需要将通过命中测试的节点信息添加到命中测试结果列表中,而","hittest(hittestresult","hittestbehavior.defertochild,","hittestbehavior.opaque,","hittestbehavior.translucent,","hittestchildren(),","hittestchildren()则只需要简单的返回true或false。","hittestchildren(hittestresult","hittestresult","hittestself()","hittestself(offset","hittestself(position))","home","home:","homebrew","homeview","homeview(this);","homeview(widget","horizont","horizontal:","host","host,","host:","howdi","howmany)","http/1.1\");","httpclient","httpclient();","httpclient(context:","httpclient.addcredentials(_uri,","httpclient.addcredentials(url,","httpclient.authenticate=(uri","httpclient.badcertificatecallback=(x509certif","httpclient.close();","httpclient.geturl(","httpclient.geturl(uri);","httpclientbasiccredentials(\"username\",\"password\"),","httpclientbasiccredentials(\"username\",\"pwd\"),","httpclientcredenti","httpclientdigestcredentials(\"username\",\"password\")","httpclientrequest","httpclientrespons","httpclient关于http认证的方法和属性:","httpclient有很多属性可以配置,常用的属性列表如下:","httpclient配置","https://flutter.io/setup/#android","https://goo.gl/xxqghq","https中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非ca颁发的证书进行校验。httpclient对证书校验的逻辑如下:","httptestrout","http协议是无状态的,只能由客户端主动发起,服务端再被动响应,服务端无法向客户端主动推送内容,并且一旦服务器响应结束,链接就会断开(见注解部分),所以无法进行实时通信。websocket协议正是为解决客户端与服务端实时通信而产生的技术,现在已经被主流浏览器支持,所以对于web开发者来说应该比较熟悉了,flutter也提供了专门的包来支持websocket协议。","http协议的认证(authentication)机制可以用于保护非公开资源。如果http服务器开启了认证,那么用户在发起请求时就需要携带用户凭据,如果你在浏览器中访问了启用basic认证的资源时,浏览就会弹出一个登录框,如:","http库","http网络库dio.","http请求","http请求库,支持rest","http请求认证","hybrid技术简介","i'm","i)","i/flutt","i/o","i10n","icon","icon(icons.ac_unit),","icon(icons.accessible,color:","icon(icons.add),","icon(icons.airport_shuttle),","icon(icons.all_inclusive),","icon(icons.arrow_upward),","icon(icons.beach_access),","icon(icons.business)),","icon(icons.business),","icon(icons.cake),","icon(icons.dashboard,","icon(icons.email),","icon(icons.error,color:","icon(icons.favorite),","icon(icons.fingerprint,color:","icon(icons.free_breakfast)","icon(icons.free_breakfast),","icon(icons.home)),","icon(icons.home),","icon(icons.lock)","icon(icons.lock),","icon(icons.palette)","icon(icons.person)","icon(icons.refresh,","icon(icons.school),","icon(icons.send),","icon(icons.settings),","icon(icons.share),","icon(icons.thumb_up),","icon(myicons.book,color:","icon(myicons.wechat,color:","icon:","iconbutton","iconbutton(","iconbutton(icon:","iconbutton是一个可点击的icon,不包括文字,默认没有背景,点击后会出现背景:","icondata","icondata(","icons类中包含了所有materi","icontheme,","icontheme:","iconthemedata","iconthemedata(color:","icon的默认样式","id","id){","idea。","idea开发的,所以读者也可以使用intellij","ident","identifi","ideviceinstal","ide中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import","ide配置与使用","idletimeout","id登录xcode。","id都支持开发和测试,但若想将应用分发到app","if((_formkey.currentst","if(cert.pem==pem){","if(classname.tolowercase()!=current)","if(filename.tolowercase()!=current)","if(form.of(context).validate()){","if(isactive)","if(key.startswith(\"_\"))","if(name.startswith(\"_\"))","if(nul","if(paths.last.tolowercase()!=\"json\"||name.startswith(\"_\"))","if(url.host==\"xx.com\"","if(v","if(v.startswith(\"$tag[]\")){","if(v.startswith(tag)){","ignorepoint","ignoring:","ignoringsemantics:","imag","image(","image({","image,//图片","image.asset(","image.asset(\"./images/sea.png\",","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\"),","image.asset(\"images/avatar.png\",","image.asset('graphics/background.png');","image.asset('icons/heart.png',","image.network(","image:","image_picker:","imagecach","imageconfiguration(bundle:","imageprovid","imagerepeat.norepeat,","imagerepeat.repeati","images/avatar.png","imagestream或","image也提供了一个快捷的构造函数image.asset用于从asset中加载、显示图片:","image也提供了一个快捷的构造函数image.network用于从网络加载、显示图片:","image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下image的主要参数:","implement","implicitli","import","inactive))","inactive;","index%2==0?divider1:divider2;","index)","index;","indexedwidgetbuild","infinitegridview","infinitelistview","inform","informationcollector","informationcollector,","informationcollector:","inherit:","inheritedwidget","inheritedwidgettestrout","inheritedwidget和react中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。inheritedwidget的在widget树中数据传递方向是从上到下的,这和notification的传递方向正好相反。","inheritedwidget是flutter中非常重要的一个功能型widget,它可以高效的将数据在widget树中向下传递、共享,这在一些需要在widget树中共享数据的场景中非常方便,如flutter中,正是通过inheritedwidget来共享应用主题(theme)和locale(当前语言环境)信息的。","initializemessages(localename).then((b)","initialscrolloffset","initialvalue,","initinstances()","initst","initstate()","initstate:当widget第一次插入到widget树时会被调用,对于每一个state对象,flutt","initvalue;","ink","inkwell(","inputborder.non","inputdecor","inputdecoration(","inputdecoration(),","inputdecoration(labeltext:","inputdecorationtheme(","inputdecorationtheme:","inputdecoration:用于控制textfield的外观显示,如提示文本、背景颜色、边框等。","inputformatters,","inputformatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。","instal","install。","instance…)。","instructions.","int","int,","int.parse(contents);","int32list","int64list","int[]","intent","intent!!.getintextra(batterymanager.extra_level,","intent.getintextra(batterymanager.extra_scale,","intentfilter(intent.action_battery_changed))","intentfilter(intent.action_battery_changed));","interfac","interface.","interval(","intl.canonicalizedlocale(name);","intl.defaultlocal","intl.message(","intl.plural(howmany,","intl.sh","intl:","intl_transl","intl_translation:","intl_translation:extract_to_arb","intl_translation:generate_from_arb","intl包来实现这些。","intl包还有一些其他的方法,读者可以自行查看其文档,本书不在赘述。","inttween(begin:","io","io.cn","io.flutter.app.flutteract","io.flutter.app.flutteractivity;","io.flutter.plugin.common.methodcall;","io.flutter.plugin.common.methodchannel","io.flutter.plugin.common.methodchannel.methodcallhandler;","io.flutter.plugin.common.methodchannel.result;","io.flutter.plugin.common.methodchannel;","io.flutter.plugins.generatedpluginregistr","io.flutter.plugins.urllauncher.urllauncherplugin访问urllauncherplugin类。","ios/runner.xcworkspac","ios文件夹,点击","iowebsocketchannel","iowebsocketchannel.connect('ws://echo.websocket.org');","io包中,下面我们看一个使用socket实现简单http请求的示例,以请求百度首页为例:","io库中提供了http请求的一些类,我们可以直接使用httpclient来发起请求。使用httpclient发起请求分为五步:","io库操作文件的api非常丰富,但本书不是介绍dart语言的,故不详细说明,读者需要的话可以自行学习。","io库来操作文件的,不过和dart","io库,无论是dart","io操作。而不是等到这个操作完成。","iphon","is!","iscomplex:是否复杂的绘制,如果是,flutter会应用一些缓存策略来减少重复渲染的开销。","isequaltostring:call.method])","isforward","isnobl","isnoble(int","isrepaintboundari","issue中找到答案。","issupported(local","iszh","item","itembuilder,","itembuilder:","itembuilder:它是列表项的构建器,类型为indexedwidgetbuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。","itemcount,","itemcount:","itemcount:列表项的数量,如果为null,则为无限列表。","itemextent,","itemextent:","itemextent:该参数如果不为null,则会强制children的\"长度\"为itemextent的值;这里的\"长度\"是指滚动方向上子widget的长度,即如果滚动方向是垂直方向,则itemextent代表子widget的高度,如果滚动方向为水平方向,则itemextent代表子widget的长度。在listview中,指定itemextent比让子widget自己决定自身长度会更高效,这是因为指定itemextent后,滚动系统可以提前知道列表的长度,而不是总是动态去计算,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。","items:","items=json.decode(jsonstr);","iter","iwonderhowlongthistakes();","i和/或","jack","jack\"),","jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子widget","jack\",","jack.","java","java.lang.boolean","java.lang.doubl","java.lang.integ","java.lang.long","java.lang.str","java.math.biginteg","java.util.arraylist","java.util.hashmap","javascript","javascript+原生渲染","javascriptcor","javascript为脚本语言,执行时需要jit,执行效率和aot代码仍有差距。","javascript之前我们先来介绍两个概念:jit和aot。","javascript基本持平。但是","javascript开发+原生渲染","javascript开发+原生渲染的方式主要优点如下:","javascript开发+原生渲染的跨平台框架原理。","javascript的弱类型一直被抓短,所以typescript、coffeescript甚至是facebook的flow(虽然并不能算javascript的一个超集,但也通过标注和打包工具提供了静态类型检查)才有市场。就笔者使用过的脚本语言中(笔者曾使用过python、php),javascript无疑是动态化支持最好的脚本语言,比如在javascript中,可以给任何对象在任何时候动态扩展属性,对于精通javascript的高手来说,这无疑是一把利剑。但是,任何事物都有两面性,javascript的强大的动态化特性也是把双刃剑,你可经常听到另一个声音,认为javascript的这种动态性糟糕透了,太过灵活反而导致代码很难预期,无法限制不被期望的修改。毕竟有些人总是对自己或别人写的代码不放心,他们希望能够让代码变得可控,并期望有一套静态类型检查系统来帮助自己减少错误。正因如此,在flutter中,dart几乎放弃了脚本语言动态化的特性,如不支持反射、也不支持动态创建函数等。并且dart在2.0强制开启了类型检查(strong","jcenter()","jit(即时编译)模式下,速度与","jsapi(),","jsapi{","jsbridge,它也是混合开发框架的核心。","json","json)","json.decode(file.readasstringsync());","json.decode(json);","json.encode(user);","json['email'];","json['name'],","json_annotation:","json_serializable:","json_serializable第一次创建类时,您会看到与下图类似的错误。","jsonmessagecodec类,或创建自己的编解码器。","jsonstr='[{\"name\":\"jack\"},{\"name\":\"rose\"}]';","json转model","jsx","jumpto()","jumpto()内部会调用所有scrollposition的animateto()","jumpto()才可以被调用。当scrol","jumpto(),以实现所有和该scrollcontroller关联的scrol","jumpto(),它们是真正来控制跳转滚动位置的方法,scrollcontroller的这两个同名方法,内部最终都会调用scrollposition的。","jumpto(doubl","keep","kept","key","key);","key){","key,","key:","key;","keyboardtype,","keyboardtype:","keyboardtype:用于设置该输入框默认的键盘输入类型,取值如下:","key})","knock","kotlin","label:","labelstyle:","labeltext:","launch()方法了。","launchoptions);","launchoptions:","layer.buildscene(builder);","layout(constraint","layout的委托","layout相关接口,子类需要通过实现它们来实现具体的布局算法,flutter中提供了两个slivergriddelegate的子类slivergriddelegatewithfixedcrossaxiscount和slivergriddelegatewithmaxcrossaxisextent,下面我们分别介绍:","leading:","leafrenderobjectel","leafrenderobjectwidget","left","left',","left,","left:","left}=1{ther","left}other{ther","left}}\",","left、top","len","len;","level","level'),","level.","level.';","level:","level变量,页面引入该文件后可以直接使用bu","lib","lib/fonts/raleway","lib/hello.dart:package的dart代码","lib/i10n/localization_intl.dart","lib/main.dart","lib/main.dart。","lib/是隐含的,所以它不应该包含在asset路径中。","lib/是隐含的,所以它不应该包含在资产路径中。","libimobiledevic","library',","library,","library:","license同意过了.","life","line","line)","line){","lineargradient(colors:","lineargradient(colors:[colors.red,colors.orange[700]]),","link","list","list();","list){","list.foreach((f)","list.length","list.remove(f);","list[i](arg);","listen","listenable:","listenable;","listener(","listener({","listeners:","listtile(","listtile(title:","listtile(title:text(\"商品列表\")),","listview","listview(","listview(key:","listview({","listview.build","listview.builder(","listview.builder(itembuilder:","listview.builder({","listview.builder适合列表项比较多(或者无限)的情况,因为只有当子widget真正显示的时候才会被创建。下面看一下listview.builder的核心参数列表:","listview.separ","listview.separated(","listview.separated可以生成列表项之间的分割器,它除了比listview.builder多了一个separatorbuilder参数,该参数是一个分割器生成器。下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。","listview3","listview公共参数已省略","listview是最常用的可滚动widget,它可以沿一个方向线性排布所有子widget。我们看看listview的默认构造函数定义:","load","load(local","loadasset()","loadingtag","loadingtag)","load方法之一产生的对象,可以指定一个buildcontext和对象的类型。例如,materi","local","locale('en',","locale('zh',","locale)","locale,","locale.countrycode.isempti","locale.languagecod","locale.tostring();","locale:","locale;","localelistresolutioncallback和localeresolutioncallback唯一的不同就在第一个参数类型,前者接收的是一个locale列表,而后者接收的是单个locale。","localenam","localename;","localequeri","locales,","locale发生变化回调","locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:","localizations.localeof(context);","localizations.of(context,","localizationsdeleg","localizationsdelegates:","localizationsdelegates列表中的元素是生成本地化值集合的工厂。globalmateriallocalizations.deleg","lockevents(()","log","logcat)。","logic","login(\"alice\",\"******\").then((id){","login(\"alice\",\"******\");","login(str","logs了查看它(基本上是一个包装adb","long[]","lowerbound:","m)","mac","maco","main()","main()的顶部设置。","mainact","mainactivity()","mainactivity.java","mainaxisalign","mainaxisalignment.center,","mainaxisalignment.end,","mainaxisalignment.spacearound,","mainaxisalignment.spaceevenly,","mainaxisalignment.start,","mainaxisalignment:","mainaxisalignment:表示子widgets在row所占用的水平空间内对齐方式,如果mainaxissize值为mainaxissize.min,则此属性无意义,因为子widgets的宽度等于row的宽度。只有当mainaxissize的值为mainaxissize.max时,此属性才有意义,mainaxisalignment.start表示沿textdirection的初始方向对齐,如textdirection取值为textdirection.ltr时,则mainaxisalignment.start表示左对齐,textdirection取值为textdirection.rtl时表示从右对齐。而mainaxisalignment.end和mainaxisalignment.start正好相反;mainaxisalignment.center表示居中对齐。读者可以这么理解:textdirection是mainaxisalignment的参考系。","mainaxiss","mainaxissize.max,","mainaxissize.max,//无效,内层colum高度为实际高度","mainaxissize.min,","mainaxissize:","mainaxissize:表示row在主轴(水平)方向占用的空间,默认是mainaxissize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,row的宽度始终等于水平方向的最大宽度;而mainaxissize.min表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则row的实际宽度等于所有子widgets占用的的水平空间;","mainaxisspac","mainaxisspacing:","mainaxisspacing:主轴方向的间距。","maintainst","maintainstate:","maintainstate;","maintainstate:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainstate为false。","main函数使用了(=>)符号,这是dart中单行函数或方法的简写。","make","makedetails(obj,","makedetails(object","manag","manager”中,点击工具栏的","mani","map","map).foreach((key,","map){","map>();","margin","margin.left;","margin.top;","margin:","markneedsbuild()","markneedsbuild();","markneedslayout()","markneedspaint()","markparentneedslayout();","master","master,flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。","matchindex","matchtextdirection:","materi","material(","materialapp","materialapp(","materialbutton","materialcolor","materialloc","materiallocalizations);","materiallocalizations.of(context).backbuttontooltip,","materialpagerout","materialpageroute(/))➩proxyanimation➩cubic(0.40,","materialpageroute(560156430)]","materialpageroute(875520219)]","materialpageroute(875520219)])","materialpageroute(875520219)];","materialpageroute(builder:","materialpageroute({","materialpageroute继承自pageroute类,pageroute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。materialpagerout","materialtype.transparency,","material库中提供了一个materialpageroute,它可以使用和平台风格一致的路由切换动画,如在ios上会左右滑动切换,而在android上会上下滑动切换。如果在android上也想使用左右切换风格,可以直接使用cupertinopageroute,","material库中提供的一个widget,","material库提供了一个scaffold","material库提供了很多widget,本节介绍一些常用的widget,其余的读者可以查看文档或flutt","material组件库中提供了一个bottomappbar","material组件库中提供了一个tabbar组件,它可以快速生成tab菜单,下面是上图对应的源码:","math.pi","math.sin(t","math;","matrices)在对child进行位置调整的时候进行了优化:在flow定位过后,如果child的尺寸或者位置发生了变化,在flowdelegate中的paintchildren()方法中调用context.paintchild","matrices),并没有实际调整widget位置。","matrix4.rotationz(.2),","matrix4.skewy(0.3),","maven","maven.aliyun.com","max","maxconnectionsperhost","maxcrossaxisextent,","maxcrossaxisextent:","maxcrossaxisextent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果viewport的横轴长度是450,那么当maxcrossaxisextent的值在区间(450/4,450/3]内的话,子元素最终实际长度都为150,而childaspectratio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和slivergriddelegatewithfixedcrossaxiscount相同。","maxlength,","maxlengthenforc","maxlength和maxlengthenforc","maxlin","maxlines:","maxlines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式textoverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;textoverflow的其它截断方式请参考sdk文档。","maxlines:输入框的最大行数,默认为1;如果为null,则无行数限制。","maxscrollextent:最大可滚动长度。","mb","mediaqueri","mediaquery.of(context).size.height","mediaquery.of(context).size.width","mediaquery.removepadding(","medium.ttf","menu","message'),","message',","message:","message:@\"电池信息不可用\"","messages.","methodcallhandler()","methodchannel('samples.flutter.io/battery');","methodchannel(flutterview,","methodchannel(getflutterview(),","methodchannelwithname:@\"samples.flutter.io/battery\"","methods.","method,如httpclient.post(...)、httpclient.delete(...)等。如果包含query参数,可以在构建uri时添加,如:","metrics:","microtask","middle:","minheight:","minwidth:","miss","mo.dart","mobile/14e304","mobile、flutter)","mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,qt","mobile做一个对比:","mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看flutter诞生过程:","mobile面对的问题flutter是否也一样,flutter会不会步入qt","moblie与flutt","modalbarri","mode","model","model=dsbridge.call(\"getphonemodel\");","model。","model化”,具体做法就是,通过预定义一些与json结构对应的model类,然后在请求到数据后再动态根据数据创建出model类的实例。这样一来,在开发阶段我们使用的是model类的实例,而不再是map/list,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(model","model在不同的文件中会被定义两次,需要开发者手动去重。","model,简称dom),是w3c组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个html或xml文档的标准接口。简单来说,dom就是文档树,与用户界面控件树对应,在前端开发中通常指html对应的渲染树,但广义的dom也可以指android中的xml布局文件对应的控件树,而术语dom操作就是指直接来操作渲染树(或控件树),","mode”,用","mode)。","mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。","mode)和可选类型(opt","mode),原先的检查模式(check","more","mother;","mother和friends四个字段,由于mother也是一个person,朋友是多个person(数组),所以我们期望生成的model是下面这样:","msg){","msg,","msg;","multichildrenderobjectel","multichildrenderobjectwidget","multilin","myanimationwidget","myapp","myapp());","myapp),然后点击","myapp类代表flutter应用,它继承了","mydraw","mydrawer(),","mydrawer({","myhomepag","myhomepage(title:","myhomepage({key","myhomepage类中并没有build方法,取而代之的是,build方法被挪到了_myhomepagestate方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。","myicon","myicons{","mylocal","mynotif","mynotification(\"hi\").dispatch(context),","mynotification(this.msg);","mypaint","mypainter(),","n","n(n>1)","name","name\"),","name,","name:","name;","name=paths.first;","name:应用或包名称。","nativ","native、weex、快应用)","native中主要有两个作用:","native只支持jsx语法。","native和weex","native和weex的渲染/排版引擎是集成到框架中的,每一个app都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到rom中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。","native和weex相比主要有两点不同:","native引擎渲染视图,这无疑能为用户提供良好的体验。","native扩展。同时","native是web开发技术栈,也只需维护一份代码,同样是跨平台框架。","native是原生控件渲染,所以性能会比混合应用中h5好很多,同时react","native类似,最大的不同是语法层面,weex支持vue语法和rax语法,rax","navig","navigationbar:","navigator.push(","navigator.push(context,","navigator.pushnamed(context,","navigatorstate(240327618;","navigator中导航到runner/runner然后通过打开assets.xcassets拖入图片,或者通过在launchscreen.storyboard中使用interfac","navigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由。navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:","nested)","networkimage(","never","new","newrout","newroute();","newvalue)","newvalue;","newwidget)","newwidget.key;","newwidget.runtimetyp","next.","next。","nicer","nil","nil));","node","node._layoutwithoutresize();","node._skippedpaintingonlayer();","node._updatecompositingbits();","node.own","none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。","notif","notification\"),","notification)","notification.metrics.maxscrollextent;","notification.metrics.pixel","notificationlisten","notificationlistener(","notificationlistener是一个widget,模板参数t是想监听的通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型的通知会被监听。notificationlistener需要一个onnotification回调函数,用于实现监听处理逻辑,该回调可以返回一个布尔值,代表是否阻止该事件继续向上冒泡,如果为true时,则冒泡终止,事件停止向上传播,如果不返回或者返回值为fals","notificationrout","notificationroutest","notificationroutestate();","notification是flutter中一个重要的机制,在widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)向上传递,所有父节点都可以通过notificationlistener来监听通知,flutter中称这种通知由子向父的传递为“通知冒泡”(notif","notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作element的一个接口,它与element树上的节点是对应的,通知会从context对应的element节点向上冒泡。","nsarray","nsdictionari","nsnumber","nsstring","null","null)","null)))","null);","null,","null;","num){","number","numberwithbool:","numberwithdouble:","numberwithint:","numberwithlong:","obj,","object","obscuretext","obscuretext:","obscuretext:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。","observatori","observatory(或另一个dart调试器,例如intellij","oct","of(buildcontext","off(eventname,","offset","offset(","offset(0.0,","offset(2.0,","offset(2.0,2.0),","offset(_offset,","offset)","offset);","offset)、animateto(doubl","offset)来完成绘制,该方法源码如下:","offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。","offset.zero;","offset:","offset;","offset=offset(0.0,","offset=offset(156.7,","offsetlay","offset表示在子节点在父节点坐标系中的绘制偏移","offset:可滚动widget当前滚动的位置。","offstag","offstage:","ok","ok。","old)","old.data","olddelegate)","oldposition);","oldwidget)","oldwidget,","oldwidget.key","oldwidget.runtimetyp","on(eventname,","onbeginfram","onc","onchanged(!active);","onchanged,","onchanged:","onchanged:(value){","onchanged;","onchanged:form的任意一个子formfield内容发生变化时会触发此回调。","onchange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。","oncreate(bundl","oncreate(savedinstancestate:","ondoubletap:","ondrawfram","one:","oneditingcomplete,","oneditingcomplete和onsubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onsubmitted回调是valuechanged类型,它接收当前输入内容做为参数,而oneditingcomplete不接收参数。","onerror(details);","onerror,","onerror:","onerror:zone中未捕获异常处理回调,如果开发者提供了onerror回调或者通过zonespecification.handleuncaughterror指定了错误处理回调,那么这个zone将会变成一个error","onhorizontaldragend","onhorizontaldragend:","onhorizontaldragupdate:","onlocalechang","onlongpress:","only({left,","onmethodcall(methodcal","onmetricschang","onnotification:","onpandown:","onpanend:","onpanupdate:","onplatformmessag","onpointerdatapacket","onpointerdown:","onpointermove:","onpointerup:","onpressed:","onpressed:()=>setstate(()=>","onpressed:_onadd","onsaved,","onscaleupdate:","onsubmitted,","ontap(){","ontap,","ontap:","ontap:ontap","ontap;","ontapcancel:","ontapdown:","ontapup:","ontapup发生了冲突,但是因为是在拖动的语义中,所以onhorizontaldragend胜出,所以就会打印","ontextscalefactorchang","ontick);","onverticaldragupdate:","onwillpop,","onwillpop:","onwillpop是一个回调函数,当用户点击返回按钮时调用(包括导航返回按钮及android物理返回按钮),该回调需要返回一个future对象,如果返回的future最终值为false时,则当前路由不出栈(不会返回),最终值为true时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。","onwillpop:决定form所在的路由是否可以直接返回(如点击返回按钮),该回调返回一个future对象,如果future的最终结果是false,则当前路由不会返回;如果为true,则会返回到上一个路由。此属性通常用于拦截返回按钮。","opacity:","opaqu","opaque))","opaque;","opaque:在命中测试时,将当前widget当成不透明处理(即使本身是透明的),最终的效果相当于当前widget的整个区域都是点击区域。举个例子:","open","open…","open…\"。","oper","orientation:指针移动方向,是一个角度值。","os","os.","other:","other_package:","out,","outlinebutton","outlinebutton(","outlinebutton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱):","output","overflow.clip,","overflow:","overflow:此属性决定如何显示超出stack显示空间的子widget,值为overflow.clip时,超出部分会被剪裁(隐藏),值为overflow.vis","overlay","overlayentry@837336156(opaque:","overlaystate(619367313;","overrid","overscrollnotification:","owner,","owner._nodesneedinglayout.add(this);","owner._nodesneedingpaint.add(this);","owner.buildscope(element,","owner.lockstate(()","owner.requestvisualupdate();","packag","package1:","package:","packages/fancy_backgrounds/backgrounds/background1.png","packages/my_package/fonts/raleway","packages/package1","packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。","packages分为两类:","package中的字体","package为例,它的目录结构如下:","package也导出了一个迷你库:","package包。","package包含globalmateriallocalizations和globalwidgetslocalizations的本地化接口的多语言实现,","pad","padding(","padding(padding:","padding({","padding,","padding.","padding:","padding:padding.valu","padding;","paddingtestrout","padding可以给其子节点添加补白(填充),我们在前面很多示例中都已经使用过它了,现在来看看它的定义:","padding和margin","page'),","pageb()","pageb();","pagebuilder:","pagerout","pageroutebuilder(","pagescaffold(","pagestorag","pagestoragekey(1),","pagestoragekey(2),","pagestorage是一个用于保存页面(路由)相关数据的widget,它并不会影响子树的ui外观,其实,pagestorage是一个功能型widget,它拥有一个存储桶(bucket),子树中的widget可以通过指定不同的pagestoragekey来存储各自的数据或状态。","paint","paint()","paint()..color=colors.yellow,","paint(canva","paint(paintingcontext","paint);","paint.color","paint.shad","paintchild()","paintchild(renderobject","paintchildren(flowpaintingcontext","painter:","paintingbinding,","paintingbinding:绑定绘制库,主要用于处理图片缓存。","paintingcontext.repaintcompositedchild(node);","paintingcontext代表widget的绘制上下文,通过paintingcontext.canvas可以获得canvas,绘制逻辑主要是通过canva","paintingstyle.fil","paintingstyle.strok","paint有两个参数:","palette…","palette…。","param2,","params)","parent","parent,","parent._relayoutboundary;","parent.markneedspaint();","parent.print(zone,","parent:","parentdata","parentdata:","parentdatatyp","parentusess","parentusessize,该值用于确定","parentwidget","parentwidgetc","parentwidgetst","parent,因此","parent,如此便可提高性能。","part","path","path:","path;","path=[flutter_install_path]/flutter/bin:$path","path=`pwd`/flutter/bin:$path","path=~/code/flutter_dir/flutter/bin:$path","path_provider:","paths=path.basename(f.path).split(\".\");","paused;","payload=\"...\";","pem=\"xxxxx\";//可以从文件读取","per","perform","performanceoverlay.allenabled()创建的stack上来获得相同的效果)。","performance”下,","performlayout","performlayout()","performlayout();","performlayout()两个方法中,renderbox子类需要实现这两个方法来定制自身的布局逻辑。根据layout()","performlayout()两个方法来实现,他们会在layout()中被调用。","performrebuild()","performres","performresize()","performresize()/performlayout()","performresize();","performresize()。","persistentcallback","persistentcallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。schedulerbinding.instance.addpersitentframecallback(),这个回调中处理了布局与绘制工作。","person","person();","person.fromjson(map","phone","physic","physicals","physics,","physics:此属性接受一个scrollphysics对象,它决定可滚动widget如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,flutter会根据具体平台分别使用不同的scrollphysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在ios上会出现弹性效果,而在android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定,flutt","pi","pi,","picturelay","pinned:","pipelineowner.flushcompositingbits();","pipelineowner.flushlayout();","pipelineowner.flushpaint();","pipelineowner.flushsemantics();","pixel","pixel)","pixels)","pixels:当前滚动位置。","pkg1:","platform","platform,","platform.invokemethod('getbatterylevel');","platform:","platformassetbundle@367106502(),","platformexcept","platformmessagecallback","platformmessageresponsecallback","pod","pod::spec.new","pointerdatapacketcallback","pointerev","pointer事件处理","pop(buildcontext","port){","port,","posit","position)","position));","position);","position.pixels;","position:","positioned(","positioned({","positioned;","position:它是鼠标相对于当对于全局坐标的偏移。","position:此属性决定在哪里绘制decoration,它接收decorationposition的枚举类型,该枚举类两个值:","post","postframecallback","postframecallbacks:在frame结束时只会被调用一次,调用后会被系统移除,可由","powershel","prefixicon:","pressure:按压力度,如果手机屏幕支持压力传感器(如iphone的3d","primary),),","primary,","primary=theme.of(this).primarycolor;","primarycolor,","primaryswatch,","primaryswatch:","primary:指是否使用widget树中默认的primaryscrollcontroller;当滑动方向为垂直方向(scrolldirection值为axis.vertical)并且controller没有指定时,primary默认为true.","print(\"bottomedge:","print(\"build\");","print(\"button","print(\"catch","print(\"deactive\");","print(\"depend","print(\"didchangedependencies\");","print(\"didupdatewidget\");","print(\"dispose\");","print(\"down","print(\"down\");","print(\"down0\"),","print(\"down1\"),","print(\"initstate\");","print(\"nev","print(\"onchange:","print(\"onhorizontaldragend\");","print(\"reassemble\");","print(\"success\");","print(\"unus","print(\"up\");","print(\"xxxx$locale\");","print(\"开始滚动\");","print(\"正在滚动\");","print(\"滚动停止\");","print(\"滚动到边界\");","print(\"用户手指按下:${e.globalposition}\");","print('howdy,","print('w","print()功能将输出到系统控制台,您可以使用flutt","print(_controller.offset);","print(_unamecontroller.text)","print(_unamecontroller.text);","print(cb());","print(data);","print(e)","print(e);","print(e.message);","print(e.velocity);","print(focusnode.hasfocus);","print(items[0][\"name\"]);","print(response.data.tostring());","print(response.headers);","print(results[0]+results[1]);","print(str);","print:","print、debugprint、flutt","privat","probabl","process","profil","profile替代","profile标志,以确保运行时性能特征与您的最终产品差异最小。","profile选项来运行flutt","progress","project","project’","properties)","properties.defaultdiagnosticstreestyl","provid","pub","pub_hosted_url=https://pub.flutt","public","publish","pubspec.yaml","pubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。当主资源缺少某个资源时,会按分辨率从低到高的顺序去选择","pub上有一个包“flutter_staggered_grid_view”","pub仓库","pub(https://pub.dartlang.org/","push","push(buildcontext","pushnamed(buildcontext","pwd){","qt","qt、flutter","qt低","qt是一个1991年由qt","qt简介","quarterturns:","queryparameters:","queue。从图中可以发现,微任务队列的执行优先级高于事件队列。","queue,另一个叫做“事件队列”","quick_actions插件就是一个具体的例子。","quit","r","radialgradient(","radius,","radius:","radius;","raisedbutton","raisedbutton(","raisedbutton({","raleway","randomwordswidget","ratio:","rawgesturedetector","rawgesturedetectorstate(175370983;","rawgesturedetectorstate(39068508;","rax","re","reached!\");","react","react中提出一个重要思想:状态改变则ui随之自动改变,而react框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下react中响应式原理:","react框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过diff算法,计算出树中变化的部分,然后只更新变化的部分(dom操作),从而避免整棵树重构,提高性能。","realm)","realm))","realm));","realm,","realm=\"admin\"","realm==\"admin\"){","reassembl","reassemble()","reassemble():此回调是专门为了开发调试而提供的,在热重载(hot","rebuild()","receivebatterylevel(result:","recognizer,","recognizer:","rect","rect,","rect.fromltrb(0.0,","redbox","redbox,","redbox=decoratedbox(","regexp(r\"\\s\"),","registerreceiver(null,","registrationdatemillis;","regular","regular.ttf","relayoutboundari","relayoutboundary;","relayoutboundary=up1","relayoutboundary=up2)","relayoutboundary=up3)","relayoutboundary=up4)","relayoutboundary=up5)","relayoutboundary=up6)","relayoutboundary,如果一个","relayoutboundary,如果不是就继续向","relayoutboundary,就表示它的大小变化不会再影响到","relayoutboundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。","relayoutboundary?在前面介绍element时,我们讲过当一个element标记为","release即可。","release运行您的应用程序。","reload)时会被调用,此回调在release模式下永远不会被调用。","reload)","remain","remainingemailsmessage(int","removetop:","render","render(scen","renderabsorbpoint","renderabsorbpointer)","renderbox","renderbox子类要定制布局算法不应该重写layout()方法,因为对于任何renderbox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performresize()","renderbox实际的测量和布局逻辑是在performresize()","renderconstrainedbox","renderconstrainedbox(","renderconstrainedbox)","rendercustompaint","rendercustompaint)","renderdecoratedbox","renderdecoratedbox)","renderer]","renderer];","rendererbinding,","rendererbinding:","renderfractionaltransl","renderfractionaltranslation)","renderignorepoint","renderignorepointer)","rendering层,这一层是一个抽象的布局层,它依赖于dart","renderobject","renderobject)","renderobject:","renderobjecttowidgetadapter(","renderobjecttowidgetadapter([globalobjectkey","renderobjecttowidgetel","renderobjecttowidgetelement,并且将","renderobjectwidget","renderobject。真正的绘制是通过paintingcontext.repaintcompositedchild()来绘制的,该方法最终会调用flutt","renderobject与renderbox","renderobject中有一个类似的markneedslayout()方法,它会将","renderobject为止,然后再将其标记为","renderobject再到更element的整个关联过程。我们看看attachtorendertree的源码实现:","renderobject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下:","renderobject和renderbox","renderobject就是渲染树中的一个对象,它拥有一个parent和一个parentdata","renderobject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。","renderobject,而是只重绘了需要重绘的","renderoffstag","renderoffstage)","renderpad","renderparagraph","renderpointerlisten","renderpointerlistener)","renderpositionedbox","renderpositionedbox)","renderproxybox","renderrepaintboundari","renderrepaintboundary({","renderrepaintboundary)","rendersemanticsannot","rendersemanticsannotations)","rendersemanticsgesturehandl","rendersemanticsgesturehandler)","renderstack","renderstack)","renderview","renderview(497039273)];","renderview)","renderview,","renderview.compositeframe();","renderviewelement);","rent!'),","repaint","repaintboundari","repaintboundary(","repaintboundary(child:...)),","repaintcompositedchild(child,","repeat:","repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:","replace(match","reporterror(details);","reporterror(fluttererrordetail","reporterrorandlog(details);","reporterrorandlog(fluttererrordetail","repositori","repositories…,选择","request","request.add(utf8.encode(payload));","request.close();","request.headers.add(\"us","resetepoch();","resolutionstrategi","respons","response.transform(utf8.decoder).join();","response;","response=","response=await","responsebodi","result","result(@(batterylevel));","result([fluttererror","result(fluttererror.init(code:","result(fluttermethodnotimplemented);","result(int(device.batterylevel","result)","result);","result,","result.add(boxhittestentry(this,","result.add(hittestentry(this));","result.error(\"unavailable\",","result.notimplemented()","result.notimplemented();","result.success(batterylevel)","result.success(batterylevel);","result:","result;","return","return;","revers","reverse()等方法。animationcontroller会在动画的每一帧,就会生成一个新的值。默认情况下,animationcontroller在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。","reverse:该属性api文档解释是:是否按照阅读方向相反的方向滑动,如:scrolldirection值为axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左),reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动widget的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。","right","right,","rn、weex","rootbundle.loadstring('assets/config.json');","rootbundle;","rootproject.findproject(\":url_launcher\")","rootwidget","rootwidget)","rotatedbox","rotatedbox(","rotatedbox和transform.rotate功能相似,它们都可以对子widget进行旋转变换,但是有一点不同:rotatedbox的变换是在layout阶段,会影响在子widget的位置和大小。我们将上面介绍transform.rotate时的示例改一下:","rotationtransition(","rout","route\"),","route\"。","route)","routename)","routes:{","routeset","routes;","route”按钮,依然可以打开新的路由页。","route)即给路由起一个名字,然后可以通过路由名字直接打开新的路由。这为路由管理带来了一种直观、简单的方式。","row","row(","row({","row、","row可以在水平方向排列其子widget。定义如下:","row默认为水平方向,column默认为垂直方向","run","runalignment:纵轴方向的对齐方式","runapp(","runapp(myapp()),","runapp(myapp());","runapp(new","runapp(widget","runner","runspacing:","runspacing:纵轴方向的间距","runzoned(","runzoned(()","runzoned(r","run。","run。模拟器启动并显示所选操作系统版本或设备的启动画面。","run启动flutter应用程序。","run启动应用程序,那么当它运行时,您可以打开observatori","run命令来运行应用程序。","run图标。","run时使用trac","run时带有","run运行程序。在这种模式下,dart","s","s),","s.depend","s`","s`),或者点击","safari/602.1\");","save","savedinstancestate)","saveuserinfo(str","saveuserinfo(userinfo).then((){","saveuserinfo(userinfo);","say(\"hi","say('bob',","say(str","say=","sc);","sc.settrustedcertificates(file);","sc=new","scaffold","scaffold(","scaffold.of(context).opendrawer();","scaffoldrout","scaffold、tabbar、底部导航","scaffold的drawer和enddrawer属性可以分别接受一个widget作为页面的左、右抽屉菜单,如果开发者提供了抽屉菜单,那么当用户手指重屏幕左/右向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单mydrawer,源码如下:","scale","scale:","scaleanimationrout","scene","scene)","scene.dispose();","scheduleframe()","schedulerbind","schedulerbinding,","schedulerbinding.instance.addpostframecallback()","schedulerbinding:提供了window.onbeginframe和window.ondrawframe回调,监听刷新事件,绑定framework绘制调度子系统。","schedulewarmupframe()","scheme,","scope","screen)添加到您的flutter应用程序,","screen)的中心,请导航至.../ios/runner。在assets.xcassets/launchimage.imageset,","scrollable({","scrollbar","scrollbar(","scrollbar和cupertinoscrollbar都是通过scrollcontroller来监听滚动事件来确定滚动条位置,关于scrollcontroller详细的内容我们将在后面专门一节介绍。","scrollbar是一个material风格的滚动指示器(滚动条),如果要给可滚动widget添加滚动条,只需将scrollbar作为可滚动widget的父widget即可,如:","scrollconfigur","scrollcontext","scrollcontrol","scrollcontroller();","scrollcontroller({","scrollcontrollertestrout","scrollcontrollertestroutest","scrollcontrollertestroutestate();","scrollcontroller控制原理","scrollcontroller还有一些属性和方法,我们将在后面原理部分解释。","scrollcontroller间接继承自listenable,我们可以根据scrollcontroller来监听滚动事件。如:","scrolldirect","scrollendnotification:","scrollmetrics还有一些其它属性,读者可以自行查阅api文档。","scrollnotificationtestrout","scrollphys","scrollposit","scrollposition有两个常用方法:animateto()","scrollstartnotification:","scrollupdatenotification:","sdk","sdk,","sdk:","sdk、android","sdk中getexternalstoragedirectory的返回值。","sdk中包含了两个scrollphysics的子类可以直接使用:","sdk分支","sdk和io","sdk和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括flutt","sdk和依赖包","sdk已经在打包在flutter","sdk平台工具和android","sdk开发的应用程序。原生开发有以下主要优势:","sdk开发的应用程序;而ios原生应用就是指通过object","sdk文档。","sdk有多个分支,如beta、dev、master,其中beta分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装flutter后,你可以运行flutt","sdk构建工具,这些是用flutter进行android开发所需要的。","sdk正是封装了android操作系统api,提供了一个“ui描述文件xml+java操作dom”的ui系统,而ios的uikit","sdk版本是基于你的","sdk的安装,然后再介绍一下配ide和模拟器的使用。","sdk的源码是开源的,并且注释非常详细,也有很多示例,实际上,flutter官方的sdk文档就是通过注释生成的。源码结合注释可以帮你解决大多数问题。","sdk的目录记为“flutter_install_path”,您将在步骤3中用到。","sdk的路径(如:c:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如c:\\program","sdk还是ios的uikit","sdk里了,没有必要单独安装dart。","sdk),可以使用如下命令:","sdk,其中包括了","sdk,则必须将该","sdk,只需一句命令:","sdk,在安装flutter时也需要安装相应平台的构建工具和sdk。下面我们分别介绍一下windows和macos下的环境搭建。","sdk,它实现了一套基础库,自底向上,我们来简单介绍一下:","secondaryanimation)","secondaryanimation,","second),就是指一秒钟可以触发60次重绘,fps值越大,界面就越流畅。","second),指每秒的动画帧数。很明显,帧率越高则动画就会越流畅。一般情况下,对于人眼来说,动画帧率超过16fps,就比较流畅了,超过32fps就会非常的细腻平滑,而超过32fps基本就感受不到差别了。由于动画的每一帧都是要改变ui输出,所以在一个时间段内连续的改变ui输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在ui系统中,动画的平均帧率是重要的性能指标,而在flutter中,理想情况下是可以实现60fps的,这和原生应用动画基本是持平的。","security:","securitycontext","securitycontext();","select","selector","self);","self,","semant","semanticsbinding,","semanticsbinding:语义化层与flutt","semanticsnode(0;","semibold.ttf","send","sendplatformmessage(str","sent","separatorbuilder:","servicesbinding,","servicesbinding:提供了window.onplatformmessag","set","set();","set,str","set.add('import","set=","setmethodcallhandler:^(fluttermethodcall*","setstate(()","setstate(()=>_event=event),","setstate(()=>{});","settings,","settings/","setup","setupparentdata(covari","shadowthemeonli","shakecurv","shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以flutter中禁用了dart的反射功能,而正因如此也就无法实现动态转化model的功能。","shaking,使用tre","shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tre","shape","shape:","shape:roundedrectangleborder(borderradius:","sharedatawidget","sharedatawidget(","sharedatawidget({","shelf_io,它主要是处理httprequest的。","shouldreload(demolocalizationsdeleg","shouldreload的返回值决定当loc","shouldrepaint(custompaint","show","showtotopbtn","shrinkwrap","shrinkwrap:","shrinkwrap:该属性表示是否根据子widget的总长度来设置listview的长度,默认值为fals","sign","signal","signal');","simul","singlechildrenderobjectel","singlechildrenderobjectwidget","singlechildscrollview","singlechildscrollview(","singlechildscrollview({","singlechildscrollviewtestrout","singlechildscrollview类似于android中的scrollview,它只能接收一个子widget。定义如下:","singletickerproviderstatemixin","singletickerproviderstatemixin{","site","size","size(","size(1080.0,","size(300,","size(411.4,","size)","size);","size),它可以生成给定大小的限制;const","size,","size.fromradius(radius),","size.fromradius(radius);","size.height","size.width","size.zero,","size:","sizedbox","sizedbox(","sizedbox(),","sizedbox用于给子widget指定固定的宽高,如:","sizedbypar","sizedbyparent就应该返回true,此时其大小在","size属性用来保存控件的宽和高。renderbox的layout是通过在组件树中从上往下传递boxconstraints对象的实现的。boxconstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。","size:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用sizebox包裹custompaint实现。","size:当前绘制区域大小。","skia引擎、dart运行时、文字排版引擎等。在代码调用","skip","slidetransit","sliver","sliver:","sliverappbar(","sliverchildbuilderdelegate(","sliverfixedextentlist(","slivergrid(","slivergriddeleg","slivergriddelegatewithfixedcrossaxiscount","slivergriddelegatewithfixedcrossaxiscount(","slivergriddelegatewithfixedcrossaxiscount({","slivergriddelegatewithmaxcrossaxisext","slivergriddelegatewithmaxcrossaxisextent(","slivergriddelegatewithmaxcrossaxisextent({","sliverpadding(","slivers:","sliver有细片、小片之意,在flutter中,sliver通常指具有特定滚动效果的可滚动块。可滚动widget,如listview、gridview等都有对应的sliver实现如sliverlist、slivergrid等。对于大多数sliver来说,它们和可滚动widget最主要的区别是sliver不会包含scrol","sliver系列widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“sliver都和可滚动widget对应,是由于还有一些如sliverpadding、sliverappbar等是和可滚动widget无关的,它们主要是为了结合customscrollview一起使用,这是因为customscrollview的子widget必须都是sliver。","smart'),","smile,","smith\",","smoke","snapshot)","socket","socket.close();","socket.connect(\"baidu.com\",","socket.flush();","socket.transform(utf8.decoder).join();","socket.writeln(\"connection:close\");","socket.writeln(\"get","socket.writeln(\"host:baidu.com\");","socket.writeln();","socket=await","some_package:","somefunction(doubl","someth","sourc","spacer(","spacing:","spacing:主轴方向子widget的间距","speed:","speed;","splashcolor:","spotlight","src","src.listsync();","src=\"./json\";","stack","stack(","stack({","stack)","stack));","stack);","stack){","stack,","stack:","stackfit.expand,","stackfit.loose,","stackoverflow:如果你还没听过stackoverflow,这是目前全球最大的程序员问答社区,现在也是活跃度最高的flutter问答社区。stackoverflow上面除了世界各地的flutter使用者会在上面交流之外,flutter开发团队的成员也经常会在上面回答问题。","stacktrac","stack:","staggeranim","staggeranimation(","staggeranimation({","staggeranimation中定义了三个动画,分别是对container的height、color、padding属性设置的动画,然后通过interval来为每个动画指定在整个动画过程的起始点和终点。","staggerdemo","star","startangle:","startup","startup和profile选项。","star。而今天(2018年8月16日),已经有35k的star。经历了短短一年多的时间,flutt","state","state){","state:","statefulel","statefulelement(this);","statefulwidget","statefulwidget({","statefulwidget类本身是不变的,但是","stateless","statelessel","statelesselement(this);","statelesswidget","statelesswidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它widget来构建ui,在构建过程中会递归的构建其嵌套的widget。我们看一个简单的例子:","statelesswidget类,这也就意味着应用本身也是一个widget。","state。","state中有两个常用属性:","state生命周期","state类中持有的状态在widget生命周期中可能会发生变化。","state类;","static","statu","sting","stokewidth","stokewidth));","stokewidth,","stokewidth:","stokewidth;","stoprecordingifneeded();","stops,","stops:","stops;","store,就必须注册apple开发者计划,有关详情读者可以自行了解。","str","str,","str.split(\"\")","str1","stream","stream.fromfutures([","stream:","streambuilder(","streamsink类提供了给数据源同步或异步添加事件的一般方法。","streams”中选择’dart’复选框,并执行你想测量的功能。","strict","string","string){","stringbuff","stringbuffer();","strokecap.butt","strokecap.round","strokecapround","strokecapround,","strokecapround:","strokecapround;","structur","studio","studio(或intellij)有一个插件,它可以自动将json转为model,该插件会对嵌套json也会生成model。这个特性在有些时候可能会引起重定义,如两个json都内嵌了一个user的对象时,会导致us","studio>tools>android>avd","studio。","studio不仅可以管理android","studio中打开您的flutter应用的android部分:","studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。","studio创建一个flutter项目,然后运行它,并体验“热重载”。","studio后插件生效。","studio和v","studio安装sdk并创建项目。","studio安装向导”。这将安装最新的android","studio工具栏:","studio是基于intellij","studio的全量安装。android","studio的磁盘空间).","studio的磁盘空间).","studio的编辑器视图中查看pubspec.yaml时,单击右上角的","studio问题","studio,下载地址:https://developer.android.com/studio/index.html","studio,在此不再赘述。","studio,然后执行“android","studio,读者可以先自行下载并安装android","studio:file>new>new","style'),","style,","style:","style:正在编辑的文本样式。","subscope:","sudo","super(child);","super(key:","super(widget);","super.application(application,","super.build(context,","super.deactivate();","super.debugfillproperties(properties);","super.didchangedependencies();","super.didupdatewidget(oldwidget);","super.dispose();","super.drawframe();","super.initstate();","super.oncreate(savedinstancestate)","super.oncreate(savedinstancestate);","super.reassemble();","supportedlocal","supportedlocales)","supportedlocales:","sweepgradient(","swift","switch","switch(","switch(_tabcontroller.index){","switchandcheckboxtestrout","switch和checkbox属性比较简单,读者可以查看api文档,它们都有一个activecolor属性,用于设置激活态的颜色。至于大小,到目前为止,checkbox的大小是固定的,无法自定义,而switch只能定义宽度,高度也是固定的。值得一提的是checkbox有一个属性trist","symmetric({","synchronousfuture(","system","system'","t","t)","t.join();","t;","t=\"hi","t=1000;","tab","tab(text:","tab({","tabbar","tabbar(","tabbarview","tabbarview(","tabcontrol","tabcontroller(length:","table),这样应用程序才知道哪个名称与哪个路由widget对应。路由表的定义如下:","tabs.length,","tabs.map((e)","tabs:","tag:","tag=\"\\$\";","tap;","tapboxa","tapboxa({key","tapboxb","tapboxb(","tapboxb({key","tapboxc","tapboxc(","tapboxc({key","tapboxc将其_active状态导出到其父widget中,但在内部管理其_highlight状态。这个例子有两个状态对象_parentwidgetstate和_tapboxcstate。","tapgesturerecogn","tapgesturerecognizer();","target","targetplatform","target设置页面中,确保在","task()","team","template=new","template=packag","test\",","test(callback","test(isnoble);","test),以确定指针与屏幕接触的位置存在哪些widget,","test/hello_test.dart:package的单元测试代码。","testflowdeleg","testflowdelegate(margin:","testflowdelegate({this.margin});","tests。下面我们看看如何组织package包的代码,我们以shelf","text","text\",","text(","text(\"","text(\"$index\"));","text(\"$index\"),);","text(\"1秒内连续按两次返回键退出\"),","text(\"a\")),","text(\"app","text(\"b\")),","text(\"box","text(\"cupertino","text(\"echo","text(\"hello","text(\"i","text(\"increment\"),","text(\"login\",","text(\"new","text(\"normal\"),","text(\"open","text(\"press\"),","text(\"send","text(\"submit\"),","text(\"thi","text(\"websocket(内容回显)\"),","text(\"xxx\");","text(\"xxx\"*100)","text(\"your","text(\"主题测试\")),","text(\"你好\",","text(\"左上角200*100范围内非文本区域点击\")),","text(\"滚动控制\")),","text(\"登录\"),","text(\"移动焦点\"),","text(\"获取百度首页\"),","text(\"逆时针旋转1/5圈\"),","text(\"隐藏键盘\"),","text(\"顺时针旋转1/5圈\"),","text('$_counter'),","text('a')),","text('add","text('and","text('apart","text('business')),","text('demo'),","text('domest","text('dump","text('get","text('grid","text('h')),","text('hamilton'),","text('home')),","text('i\\'m","text('j')),","text('lafayette'),","text('laurens'),","text('list","text('m')),","text('manag","text('mulligan'),","text('school')),","text('when","text('文件操作')),","text('点击了","text(_batterylevel),","text(_event?.tostring()??\"\",style:","text(_msg)","text(_operation,","text(_progress),","text(_text),","text(_text.replaceall(new","text(c,","text(demolocalizations.of(context).title),","text(e,","text(icons,","text(sharedatawidget","text(snapshot.hasdata","text(text),","text(text,","text(tip),","text(widget.act","text(widget.title),","text(wordpair.tostring()),","text)","text,","text.rich(","text.rich(textspan(","text.split(\"\")..shuffle();","text/html;charset=utf","text:","text;","textalign","textalign.center,","textalign.start,","textalign:","textalign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是text","textcolor:","textdecoration.underline)","textdecorationstyle.dash","textdirect","textdirection,","textdirection.rtl,","textdirection:","textdirection:和row、wrap的textdirection功能一样,都用于决定alignment对齐的参考系即:textdirection的值为textdirection.ltr,则alignment的start代表左,end代表右;textdirection的值为textdirection.rtl,则alignment的start代表右,end代表左。","textdirection:表示水平方向子widget的布局顺序(是从左往右还是从右往左),默认为系统当前locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。","texteditingcontrol","texteditingcontroller();","textfield","textfield(","textfield(focusnode:","textfield({","textfield用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。","textformfield(","textinputact","textinputaction,","textinputaction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看api文档,下面是当值为textinputaction.search时,原生android系统下键盘样式:","textinputtyp","textinputtype.emailaddress,","textinputtype枚举值","textoverflow.ellipsis,","textscalefactor","textscalefactor:","textscalefactor主要是用于系统字体大小设置改变时对flutter应用字体进行全局调整,而fontsize通常用于单个文本。","textscalefactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontsize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过mediaquerydata.textscalefactor获得,如果没有mediaquery,那么会默认值将为1.0。","textspan","textspan(","textspan(text:","textspan({","textstyl","textstyle(","textstyle(color:","textstyle(fontsize:","textstyle(fontweight:","textstyle,","textstyle用于指定文本显示的样式如颜色、字体、粗细、背景等。我们看一个示例:","textthem","texttheme,//","text子widget,第一个text","text属性代表该文本片段的样式和内容。","text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:","text:该","theme","theme(","theme.of(context)","theme.of(context).copywith(","theme.of(context).texttheme.display1,","theme.of(context);","theme.primarycolor];","theme.primarycolordark","theme:","themedata","themedata(","themedata({","themedata.copywith(","themedata.icontheme.copywith(","themedatatween(themedata(brightness.light","themedata是materi","themetestrout","this)","this);","this,","this.actions,","this.active:","this.align","this.alignment,","this.animation});","this.automaticallyimplylead","this.axisdirect","this.backgroundcolor","this.backgroundcolor,","this.backgroundcolor:colors.grey,","this.barriercolor,","this.barrierdismiss","this.barrierlabel,","this.behavior","this.bottom,","this.builder,","this.centertitle,","this.child","this.child,","this.color,","this.colorblendmode,","this.colorbrightness,//按钮主题,默认是浅色主题","this.colors,","this.control","this.controller,","this.crossaxisalign","this.cursorcolor,","this.cursorradius,","this.cursorwidth","this.data,","this.direct","this.direction,","this.disabledcolor,//按钮禁用时的背景颜色","this.disabledelev","this.disabledtextcolor,","this.elev","this.email);","this.fit","this.fit,//缩放模式","this.foregroundpainter,","this.height,","this.highlightcolor,","this.highlightelev","this.icon,","this.initvalue:","this.iscomplex","this.keepscrolloffset","this.key","this.leading,","this.left,","this.maintainst","this.margin,//容器外补白,不属于decoration的装饰范围","this.maxheight","this.maxwidth","this.minheight","this.minwidth","this.onchanged})","this.onpointercancel,//触摸事件取消回调","this.onpointerdown,","this.onpointermove,","this.onpointerup,//手指抬起回调","this.onpressed,","this.ontap,","this.opaqu","this.overflow","this.padding,","this.painter,","this.parent);","this.parent;","this.physics,","this.radius,","this.repeat","this.revers","this.right,","this.runalign","this.runspac","this.scrolldirect","this.shape,","this.siz","this.spac","this.spe","this.splashcolor,","this.stokewidth","this.stokewidth:","this.stops,","this.strokecapround","this.strokecapround:","this.text,","this.textcolor,","this.textdirection,","this.title,//","this.title})","this.top,","this.tot","this.totalangl","this.transform,","this.transitiondur","this.turn","this.valu","this.verticaldirect","this.viewportbuilder,","this.width,","this.willchang","this;","thought","throw","thrown","ticker","ticker))","tickercancel","tickerprovid","tickerproviderstatemixin","timeline.finishsync();","timeline.startsync('interest","timeline页面,在”record","timer.run(()","times:'","times:',","times:'`","times:'。","times:”,第二个text","timestamp)","time)即","time)即“即时编译”。aot程序的典型代表是用c/c++开发的应用,它们必须在执行前编译成机器码,而jit的代表则非常多,如javascript、python等,事实上,所有脚本语言都支持jit模式。但需要注意的是jit和aot指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以jit方式运行也可以以aot方式运行,如java、python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为aot的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于aot。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。","tip;","titl","title:","title;","todo","todo:","tojson()","toolchain","tools;","tools>android>avd","tooltip:","top","top,","top:","top:80.0,","tostring()","tostringshort()","total,","total:","total;","totalangle,","totalangle:","totalangle;","touch),此属性会更有意义,如果手机不支持,则始终为1。","tour,就开始动手写flutter了。","trace","tracecode:","track","trail","transfer","transform(","transform(doubl","transform.rotate(","transform.rotate可以对子widget进行旋转变换,如:","transform.scale(","transform.scale(scale:","transform.scale可以对子widget进行缩小或放大,如:","transform.translate(offset:","transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子widget平移指定的距离。","transform:","transformhittests:","transformlay","transform变换","transform可以在其子widget绘制时对其应用一个矩阵变换(transformation),matrix4是一个4d矩阵,通过它我们可以实现各种矩阵操作。下面是一个例子:","transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子widget应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:","transientcallbacks:用于存放一些临时回调,一般存放动画回调。可以通过schedulerbinding.instance.scheduleframecallback","transitionduration:","transitionduration;","translation:","translucent:当点击widget透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部widget透明区域时,顶部widget和底部widget都可以接收到事件,例如:","transport","tree。","tree。本节我们将重点介绍一下renderobject的作用。","tri","true","true);","true)]))","true,","true,//是否保存滚动位置","true;","true则会调用_compositechild()方法,_compositechild()源码如下:","true的renderobject","true,这样在绘制时仅会重绘自身而无需重绘它的","trust。","try{","tue,","turnbox","turnbox(","turnbox({","turnboxrout","turnbox的完整代码如下:","turns:","turns;","tween","tween(","tween(begin:","tween.anim","tween对象不存储任何状态,相反,它提供了evaluate(anim","tween指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定起始点和终止点来决定它们的开始时间和终止时间。","tween构造函数需要begin和end两个参数。tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为0.0到1.0,但这不是必须的,我们可以自定义需要的范围。","tween继承自animatable,而不是继承自animation。animatable与animation相似,不是必须输出double值。例如,colortween指定两种颜色之间的过渡。","type)","type:","typeddatawithbytes:","typeddatawithfloat64:","typeddatawithint32:","typeddatawithint64:","typedef","type)将淡出,所以在类型安全这个层面来说,dart和typescript、coffeescript是差不多的,所以单从这一点来看,dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、app开发、web开发,这就有优势了!","ui.","ui.scen","ui.scenebuild","ui.scenebuilder();","ui.window","ui.window.render(scene);","uiapplication,","uidevice*","uidevice.current;","uidevice.currentdevice;","uidevicebatterystate.unknown)","uidevicebatterystateunknown)","uint8list","ui层,rendering层会构建一个ui树,当ui树有变化时,会计算出有变化的部分,然后更新ui树,最终将ui树绘制到屏幕上,这个过程类似于react中的虚拟dom。rendering层可以说是flutt","ui层,对应的是flutter中的dart:ui包,它是flutter引擎暴露的底层ui库,提供动画、手势及绘制能力。","ui底层原理。我们也可以看到,如果要从头到尾实现一个renderobject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在widget层通过组合或者custompaint完成自定义ui。如果遇到只能定义一个新renderobject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自renderbox,这样可以帮我们减少一部分工作。","ui框架内部连接widget和renderobject的纽带,大多数时候开发者只需要关注widget层即可,但是widget层有时候并不能完全屏蔽element细节,所以framework在statelesswidget和statefulwidget中通过build方法参数将element对象也传递给了开发者,这样便可以在需要时直接操作element对象。那么现在笔者提两个问题,请读者先自己思考一下:","ui框架是至关重要的,flutter正是通过element这个纽带将widget和renderobject关联起来,了解element层不仅会帮助读者对flutt","ui框架最核心的部分,它除了确定每个ui元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。","ui框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用element对象来完成一些操作,比如获取主题theme数据,具体细节将在下文介绍。","ui框架能不做成响应式吗?","ui渲染方式","ui系统","ui系统中另一个重要的角色renderobject。","ui系统中的角色和作用,我们将在下一节介绍flutt","ui系统之前,我们先看看ui系统的基本原理,这样可以帮助读者对操作系统和系统底层ui逻辑有一个清晰的认识。","ui系统原理","ui系统和flutt","ui系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了,","ui系统来根据新的状态来重新构建ui。","ui系统的基石。最后我们在分析一下flutter应用启动和运行的整体过程。","ui组件库。material是一种标准的移动端和web端的视觉设计语言,","ui绘制区域的大小","unauthozied给客户端,并且在响应header中添加一个","unbound","unconstrainedbox","unconstrainedbox(","unconstrainedbox不会对子widget产生任何限制,它允许其子widget按照其本身大小绘制。一般情况下,我们会很少直接使用此widget,但在\"去除\"多重限制的时候也许会有帮助,我们看一下面的代码:","underlineinputborder(","unzip","up,","updat","updatebadge()","updateshouldnotify(sharedatawidget","updatetext(\"doubletap\"),","updatetext(\"longpress\"),","updatetext(\"tap\"),//点击","updatetext(str","upgrad","uploadfileinfo(new","upper=true]","upperbound:","uri","uri.parse(\"https://www.baidu.com\"));","uri=uri(scheme:","url","url,","url:","url_launcher:","urllauncherplugin类。","url的web页面(例如observatory监听http://127.0.0.1:8100/),","us","usb调试","user","user();","user(this.name,","user.dart","user.fromjson(map","user.fromjson(usermap);","user.g.dart","userag","userinfo","userinfo);","userinfo){","usermap","username,","user{","user实例","v","v)","v8的javascript引擎在内存分配上也已经做的很好,事实上dart开发团队的很多成员都是来自chrome团队的,所以在内存分配上dart并不能作为超越javascript的优势,而对于flutter来说,它需要这样的特性,而dart也正好满足而已。","val","validator,","validator:","valu","value)","value,","value:","value;","valuechang","var","vary:","var功能相似,都会在赋值时自动进行类型推断,不同在于,赋值后可以改变其类型,如:","velocity(235.5,","verif","version/10.0","version:","version_codes.lollipop)","version:应用或包的版本号。","vertic","vertical,","vertical:","verticaldirect","verticaldirection.down,","verticaldirection.up,","verticaldirection:","verticaldirection:表示row纵轴(垂直)的对齐方向,默认是verticaldirection.down,表示从上到下。","view>command","viewport","viewport视口","virtual","visit","visitchildrenforsemantics方法和semanticsannot","vm下的脚本还是flutter,都是通过dart","vm之前已经针对吞吐量进行了优化,但团队现在正在优化vm的延迟时间,这对于flutter的工作负载更为重要。”","vm在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要dart语言能流行,vm的性能就不用担心,毕竟google在go(没用vm但有gc)、javascript(v8)、dalvik(android上的java","vm是运行在pc或服务器操作系统下,而flutter是运行在移动操作系统中,他们的文件系统会有一些差异。","vm相比,flutter有一个重要差异是文件系统路径不同,这是因为dart","vm运行时不是完全相同,但是如果package中没有涉及这些存在差异的部分,那么这样的包可以同时支持flutter和dart","vm)上已经有了很多技术积淀。值得注意的是dart在flutter中已经可以将gc做到10ms以内,所以dart和java相比,决胜因素并不会是在性能方面。而在语法层面,dart要比java更有表现力,最重要的是dart对函数式编程支持要远强于java(目前只停留在lamda表达式),而dart目前真正的不足是生态,但笔者相信,随着flutter的逐渐火热,会回过头来反推dart生态加速发展,对于dart来说,现在需要的是时间。","vm,如dart","void","voidcallback","vs","vsync:","walk()","watch在项目根目录下运行来启动watcher。只需启动一次观察器,然后它就会在后台运行,这是安全的。","web_socket_channel","websocket","websocketchannel提供了一个streamsink,它将消息发给服务器。","websocketchannel提供了一个来自服务器的消息stream","websocketrout","websocket协议本质上是一个基于tcp的协议,它是先通过http协议发起一条特殊的http请求进行握手后,如果服务端支持websocket协议,则会进行协议升级。websocket会使用http协议握手后创建的tcp链接,和http协议不同的是,websocket的tcp链接是个长链接(不会断开),所以服务端与客户端就可以通过此tcp连接进行实时通信。有关websocket协议细节,读者可以看rfc文档,下面我们重点看看flutter中如何使用websocket。","webview渲染","wechat","weex","weex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和react","weight:","wendu.dsbridge.dwebview","widget","widget({","widget)","widget.act","widget.build(this);","widget.channel.stream,","widget.child,","widget.onchanged(!widget.active);","widget.speed??200),","widget.turns)","widget.turns,","widget.turns;","widgetbuild","widgetsapp","widgetsapp构造函数也有类似的参数(如果你没有使用materialapp或者widgetsapp,你可以通过将你的应用程序包装在一个stack中,","widgetsbind","widgetsbinding.instance;","widgetsbinding:提供了window.onlocalechanged、onbuildschedul","widgetsflutterbind","widgetsflutterbinding();","widgetsflutterbinding.ensureinitialized()","widgetsflutterbinding.ensureinitialized()负责初始化一个widgetsbinding的全局单例,紧接着会调用widgetsbinding的attachrootwidget方法,该方法负责将根widget添加到renderview上,代码如下:","widgets层是flutter提供的的一套基础组件库,在基础组件库之上,flutter还提供了","widgets库中提供了material风格的单选开关switch和复选框checkbox,它们都是继承自statelesswidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击switch或checkbox时,它们会触发onchanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例:","widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。","widgettre","widget、用于应用主题数据传递的theme等等。而原生开发中的控件通常只是指ui元素。在后面的内容中,我们在描述ui元素时,我们可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。","widget。","widget。我们先来看看效果:","widget一般位于widget树中其它业务组件的顶部,它的作用是定义区域locale以及设置子树依赖的本地化资源。","widget上指定渲染图像的宽度和高度,那么imag","widget与el","widget中滑动时就会分发scrollnotification,而scrollbar正是通过监听scrollnotification来确定滚动条位置的。除了scrollnotification,flutter中还有sizechangedlayoutnotification、keepalivenotif","widget中,state对象也和statefulelement具有对应关系(一对一),所以在flutter的sdk文档中,可以经常看到“从树中移除state对象”或“插入state对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。","widget中,这样会在绘制时创建一个新的绘制层(layer),其子widget将在新的layer上绘制,而父widget将在原来layer上绘制,也就是说repaintboundari","widget中;典型地,在一个懒加载列表中,如果将列表项包裹在automatickeepalive中,在该列表项滑出视口时该列表项不会被gc,它会使用keepalivenotification来保存其状态。如果列表项自己维护其keepalive状态,那么此参数必须置为false。","widget了,如:scaffold、appbar、flatbutton等。要使用materi","widget会自动加载新区域的locale值,然后重新构建使用了它们的widget。","widget会调用attach()方法,将创建的scrollposition添加到scrollcontroller的positions属性中,这一步称为“注册位置”,只有注册后animateto()","widget会重新构建,localizations.localeof(context)`","widget使用。","widget使用,scrollcontroller会为每一个scrol","widget使用,那么我们可以通过如下方式分别读取他们的滚动位置:","widget保存的滚动位置。","widget关联后才可以。","widget关联时,scrol","widget创建一个scrollposition对象,这些scrollposition保存在scrollcontroller的positions属性中(list)。scrollposition是真正保存滑动位置信息的对象,offset只是一个便捷属性:","widget创建的(如creator字段所描述的),","widget到widget树根之间任意位置都能监听。而scrollcontroller只能和具体的scrol","widget可以为materi","widget可以拥有状态,这些状态在widget生命周期中是可以变的,而stateless","widget同时插入到widget树的多个位置时,flutt","widget和设置页并不在一起。正确的做法是通过一个全局状态管理器来处理这种“相距较远”的widget之间的通信。目前主要有两种办法:","widget在渲染树的层中创建了一个renderrepaintboundary。这用于减少需要重绘的需求量。","widget在滚动时会发送scrollnotification类型的通知,scrollbar正是通过监听滚动通知来实现的。通过notificationlistener监听滚动事件和通过scrollcontroller有两个主要的不同:","widget在第一次创建时,会滚动到initialscrolloffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialscrolloffset会被忽略。","widget如何设置isrepaintboundary属性呢?其实如果使用了repaintboundari","widget实际上就是element的配置数据,widget树实际上是一个配置树,而真正的ui渲染树是由element构成;不过,由于element是通过widget生成,所以它们之间有对应关系,所以在大多数场景,我们可以宽泛地认为widget树就是指ui控件树或ui渲染树。","widget将占用与主资源相同的屏幕空间大小。","widget将要共享的widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是flutt","widget将连接到一个stream,","widget层与engine的桥梁。","widget并重建它,这样子树中通过localizations.localeof(context)","widget库","widget库中提供了丰富的输入框及表单widget。下面我们分别介绍一下。","widget库中提供了多种按钮widget如raisedbutton、flatbutton、outlinebutton等,它们都是直接或间接对rawmaterialbutton的包装定制,所以他们大多数属性都和rawmaterialbutton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有materi","widget库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个gradientbutton","widget库中,我们会在很多widget中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在material设计风格中是一种很重要的表现形式,以后在介绍其它widget时,便不再赘述。","widget库中,有一些widget可以根据实际运行平台来切换表现风格,比如materialpageroute,在路由切换时,如果是android系统,它将会使用android系统默认的页面切换动画(从底向上),如果是ios系统时,它会使用ios系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有cupertino","widget库介绍","widget库的主题数据,material库的widget需要遵守相应的设计规范,而这些规范可自定义部分都定义在themedata,所以我们可以通过themedata来自定义应用主题。我们可以通过theme.of方法来获取当前的themedata。","widget开始,","widget所在的父widgetinitst","widget支持多语言。","widget时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定pagestoragekey来分别跟踪不同scrol","widget时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供pagestoragekey。这是因为scrollable本身是一个statefulwidget,它的状态中也会保存当前滚动位置,所以,只要scrol","widget是不可变的。","widget显示_counter状态的数值。","widget显示固定文本","widget最终会通过renderparagraph对象来通过canvas实现文本绘制逻辑。","widget有一个必选的image参数,它对应一个imageprovider。下面我们分别演示一下如何从asset和网络加载图片。","widget有三个可选参数,除了可以指定文字外,还可以指定tab菜单图标,或者直接自定义widget,定义如下:","widget有两点不同:","widget本身。本例中虽然是指定了居中对齐,但因为text文本内容宽度不足一行,text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:","widget本身没有被从树上detach掉,那么其state就不会销毁(dispose),滚动位置就不会丢失。只有当widget发生结构变化,导致scrol","widget来实现的,上面的示例代码实际上等价于:","widget来指定isrepaintboundari","widget来显示它们。","widget来监听原始触摸事件,它也是一个功能性widget。","widget来监听新消息,","widget来监听自己关注的通知,这种通信方式类似于web开发中浏览器的事件冒泡,我们在flutter中沿用“冒泡”这个术语。scrol","widget树中子widget可以通过发送通知(notification)与父(包括祖先)widget通信。父widget可以通过notificationlisten","widget树的叶子节点,用于没有子节点的widget,通常基础widget都属于这一类,如text、image。","widget滚动通知的例子:","widget用于加载和查找包含本地化值的对象。应用程序通过localizations.of(context,type)来引用这些对象。","widget的locale设置发生更改时,将重建其依赖的上下文。","widget的state对象,原理可以参考本书后面“element与buildcontext”","widget的state就会销毁,这时如果想恢复滚动位置就需要指定pagestoragekey。","widget的state销毁或重新构建时才会丢失状态,这种情况就需要显式指定pagestoragekey,通过pagestorage来存储滚动位置,一个典型的场景是在使用tabbarview时,在tab发生切换时,tab页中的scrol","widget的一个实现细节","widget的位置,如:","widget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:","widget的生命周期中可能会被多次调用。例如,当一个st","widget的示例,我们实现一个简单的cupertino页面:","widget的边界(此示例中相当于列表顶或底部)。","widget相关的状态,它在st","widget简介","widget管理自己的state。","widget管理自身状态","widget类继承自diagnosticabletree,diagnosticabletree即“诊断树”,主要作用是提供调试信息。","widget能够重新build一下,但我们的app","widget自己指定,如:","widget至少由两个类组成:","widget那么丰富,但也在不断的完善中。值得一提的是在materi","widget那边就会收到通知,然后重新build一下即可。","widget都会将滚动位置offset存储到pagestorage中,当scrol","widget都滚动到指定的位置。","widget重新build时,是否调用load方法重新加载locale资源。一般情况下,locale资源只应该在locale切换时加载一次,不需要每次在loc","widget重新build时,是否调用load重新加载locale资源.","widget重新创建时会使用scrollcontroller.initialscrolloffset;scrollcontroller.keepscrolloffset为true时,scrol","widget销毁时,会调用scrollcontroller的detach()方法,将其scrollposition对象从scrollcontroller的positions属性中移除,这一步称为“注销位置”,注销后animateto()","widget首先会调用scrollcontroller的createscrollposition()方法来创建一个scrollposition来存储滚动位置信息,接着,scrol","widget)。现在,我们可以简单认为st","widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动widget(如listview、gridview等),然后介绍一下scrollable与可滚动widget的原理。可滚动widget都直接或间接包含一个scrol","widget,cent","widget,column的作用是将其所有子widget沿屏幕垂直方向依次排列,","widget,也就是说sliver本身不包含滚动交互模型","widget,但是有一些操作,如读取滚动位置offset,则需要一对一,但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个scrollcontroller同时被两个scrol","widget,其对应的renderrepaintboundary会自动将isrepaintboundary设为true的:","widget,则可以使用debugpaintlayerbordersen","widget,可以和floatingactionbutton配合实现这种\"打洞\"效果。源码如下:","widget,可帮助您构建遵循materi","widget,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:","widget,它也是material组件库提供的material风格的tab菜单。","widget,它使用keepaliveparentdatamixin(继承自parentdata)","widget,它内部就是用矩阵变换来更新ui,除此之外,flutter的动画widget中也大量使用了transform以提高性能。","widget,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。","widget,它可以结合一个画笔custompainter来实现绘制自定义图形。","widget,它和tabbarview功能相似,读者可以自行了解一下。","widget,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。","widget,它继承自formfield类,也是textfield的一个包装类,所以除了formfield定义的属性之外,它还包括textfield的属性。","widget,它表示与该state实例关联的widget实例,由flutt","widget,需要先引入它:","widget:","width),","width,//容器的宽度","width:","width;","widthfactor:","width、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。","willchange:和iscomplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。","willpopcallback","willpopscop","willpopscope(","willpopscope({","willpopscopetestrout","willpopscopetestroutest","willpopscopetestroutestate();","window","window>","window?.rootviewcontrol","windows,请确保可以在命令提示符或powershell中运行","windows:file>settings>plugins)。","window下只支持为android设备构建并运行flutter应用,而macos同时支持ios和android设备。下面分别介绍如何连接android和ios设备来运行flutter应用。","wordpair","wordpair.random();","work","workspace.","world","world!","world!\"),","world!\";","world!\",然后我们在then中接收异步结果并打印结果,代码如下:","world\")","world\"),","world\");","world\")没有指定定位,并且alignment值为alignment.center,所以,它会居中显示。第二个子widget","world\",","world\",style:","world\";","world”。","wrap","wrap(","wrap({","wrapalignment.center,","wrapalignment.start,","wrapcrossalignment.start,","www","x","x)","x509certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。","x86","x86_64","x86。","xcode","xcodebuild","y","yaml是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或json相比,它语法简单并非常容易解析,所以yaml常用于配置文件,flutter也是用yaml文件作为其配置文件,flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:","yes;","you'),","yxxfisdjfisjfgijijg","zero:","zone","zone\";","zone,","zone.\");","zonedeleg","zonespecif","zonespecification(","zonespecification,","zonespecification:","zonespecification:zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子:","zonevalues,","zonevalues:","zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如:","zone内部发生的错误是不会跨越当前error","zone的边界的,如果想跨越error","zone边界去捕获异常,可以通过共同的“源”zone来捕获,如:","zone,该error","z沿垂直方向显示的例子,由于垂直方向空间不够,所以使用singlechildscrollview。:","{","{'howmany':","{howmany}","{}","{}),","{},","|","|api名称","|s|","||","}","})","}));","}),","}).catcherror((e){","}).then((data)","}).then((data){","}).then((e){","}).then((userinfo){","}).tolist(),","}).whencomplete((){","}):","}):super(key:key);","});","}):可以设置具体某个方向的补白(可以同时指定多个方向)。","}):用于设置对称方向的补白,vertical指top和bottom,horizontal指left和right。","},","},ondone:","};","}];","}catch","}els","}else{","~/.bash_profil","~/develop","~/downloads/flutter_macos_v0.5.1","​","——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态","‘doctor’,","‘flutter:","‘flutter’,","‘install’,","‘ok’","“emul","“futur","“inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成”active“状态,framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。","“onhorizontaldragend”。如果我们的代码逻辑中,对于手指按下和抬起是强依赖的,比如在一个轮播图组件中,我们希望手指按下时,暂停轮播,而抬起时恢复轮播,但是由于轮播图组件中本身可能已经处理了拖动手势(支持手动滑动切换),甚至可能也支持了缩放手势,这时我们如果在外部再用ontapdown、ontapup来监听的话是不行的。这时我们应该怎么做?其实很简单,通过listener监听原始指针事件就行:","“packag","“www","“you","“千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了!","“去除”了父constrainedbox的限制,则最终会按照子constrainedbox的限制来绘制redbox,即90×20:","“控制面板>用户帐户>用户帐户>更改我的环境变量”","“提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为jit(just","”","•","…/2.0x/my_icon.png","…/3.0x/my_icon.png","…/graphics/background.png","…/graphics/dark/background.png","…/graphics/my_icon.png","…/icons/1.5x/heart.png","…/icons/2.0x/heart.png","…/icons/heart.png","…/image.png","…/lib/backgrounds/background1.png","…/lib/backgrounds/background2.png","…/lib/backgrounds/background3.png","…/mx/image.png","…/my_icon.png","…/nx/image.png","…/pubspec.yaml","…etc.","…},用于指定命名参数。例如:","…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):","←","→","⋯","│","│└ignorepointer(ignoring:","└_focusscope(thi","└_gesturesemantics(renderobject:","└_inkfeature([globalkey","└_modalscope([globalkey","└_modalscopestatus(active)","└_mountainviewpagetransition(animation:","└_overlayentry([globalkey","└_theatre(renderobject:","└absorbpointer(renderobject:","└animatedcontainer(duration:","└animateddefaulttextstyle(duration:","└animatedtheme(duration:","└apphome()","└banner()","└center(alignment:","└checkedmodebanner()","└constrainedbox(boxconstraints(88.0(369160267))","└constrainedbox(boxconstraints(biggest);","└container(bg:","└container(padding:","└custompaint(renderobject:","└decoratedbox(renderobject:","└defaulttextstyle(inherit:","└flatbutton()","└focus([globalkey","└focus([globalobjectkey","└fractionaltranslation(renderobject:","└gesturedetector()","└ignorepointer(ignoring:","└listener(listeners:","└localequery(null)","└material(materialtype.canvas;","└materialapp(state:","└materialbutton(state:","└mediaquery(mediaquerydata(size:","└modalbarrier()","└navigator([globalobjectkey","└notificationlistener()","└offstage(offstage:","└overlay([globalkey","└padding(renderobject:","└pagestorage([globalkey","└rawgesturedetector(state:","└repaintboundary(renderobject:","└richtext(renderobject:","└scrollconfiguration()","└semantics(container:","└semanticsnode(2;","└semanticsnode(3;","└semanticsnode(4;","└slidetransition(animation:","└stack(renderobject:","└text(\"dump","└theme(themedata(brightness.light","└title(color:","└widgetsapp([globalobjectkey","└─child","└─child:","├_overlayentry([globalkey","├semanticsnode(1;","├─child","├─onstage:","╎","▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀","▄▄▄▄▄▄▄▄","✔️","✗","、","、email","、indicatorcolor等也会受primaryswatch影响。","、layoutchangednotification等。下面是一个监听scrol","、right、","、window.ontextscalefactorchang","、反向播放","。","。renderobjectwidget类中定义了创建、更新renderobject的方法,子类必须实现他们,关于renderobject我们现在只需要知道它是最终布局、渲染ui界面的对象即可,也就是说,对于布局类widget来说,其布局算法都是通过对应的renderobject对象来实现的,所以读者如果对接下来介绍的某个布局类widget原理感兴趣,可以查看其renderobject的实现,而在本章中,为了让读者对布局类widget有个快速的认识,所以我们不会深入到renderobject的细节中区。在学习本章时,读者的重点是掌握不同布局类widget的布局特点,具体原理和细节我们会在后面高级部分介绍。","。在其build方法中分别构建了一个switch和checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setstate()通知framework重新构建ui。","。有两种主要方法允许从asset","。要测试软件包,请在test目录中添加unit","。详细说明可在android文档中找到。","。默认情况下,listview的会在滚动方向尽可能多的占用空间。当listview在一个无边界(滚动方向上)的容器中时,shrinkwrap必须为true。","一个","一个animationcontroller控制所有动画","一个isrepaintboundari","一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。","一个scrollcontroller可以同时被多个scrol","一个scrollcontroller虽然可以对应多个scrol","一个statefulwidget类。","一个statefulwidget类会对应一个state类,state表示与其对应的statefulwidget要维护的状态,state中的保存的状态信息可以:","一个tojson","一个user.fromjson","一个widget对象可以对应多个element对象。这很好理解,根据同一份配置(widget),可以创建多个实例(element)。","一个像素点能发出的所有颜色总数是显示器的一个重要指标,比如我们所说的1600万色的屏幕就是指一个像素点可以显示出1600万种颜色,而显示器颜色是有rgb三基色组成,所以1600万即2的24次方,即每个基本色(r、g、b)深度扩展至8","一个包也可以只提供字体文件而不需要在pubspec.yaml中声明。","一个完整的应用程序往往会依赖很多第三方包,正如在原生开发中,android使用gradle来管理依赖,ios用cocoapods或carthage来管理依赖,而flutter也有自己的依赖管理工具,本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。","一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(renderview)开始进行命中测试,下面是renderview的hittest()源码:","一个导航栏","一个建议是,如果所有请求都需要认证,那么应该在httpclient初始化时就调用addcredentials()来添加全局凭证,而不是去动态添加。","一图胜万言:","一定要注意,renderobject的parentdata","一旦你的flutter应用程序有一个文件位置的引用,你可以使用dart:ioapi来执行对文件系统的读/写操作。有关使用dart处理文件和目录的详细内容可以参考dart语言文档,下面我们看一个简单的例子。","一旦实现了一个包,我们可以在pub上发布它","一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。gesturedetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。gesturedetector会将要监听的widget的原点(左上角)作为本次手势的原点,当用户在监听的widget上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母a的示例:","一次性生成","一次绘制过程,我们称其为一帧。flutter","一章。flutter还有一种通用的获取statefulwidget对象state的方法:通过globalkey来获取!","一般","一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。","一般格式为","上例中的滚动通知如scrollstartnotification、scrollupdatenotification等都是继承自scrollnotification类,不同类型的通知子类会包含不同的信息,比如scrollupdatenotification有一个scrolldelta属性,它记录了移动的位移,其它通知属性读者可以自己查看sdk文档。","上例中,只有点击文本内容区域才会触发点击事件,如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为hittestbehavior.opaque。注意,该属性并不能用于在widget树中拦截(忽略)事件,它只是决定命中测试时的widget大小。","上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部widget透明区域),控制台只会打印“down0”,也就是说顶部widget没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:","上手安卓最常遇见的问题之一,错误如下图所示,此时点击超链接即可自动跳转到安装页面","上文已经提到react","上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。","上表中开发语言主要指ui的开发语言,动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是flutter的release包默认是使用dart","上述命令创建一个flutter项目,项目名为myapp,其中包含一个使用materi","上述的globalmateriallocalizations和globalwidgetslocalizations只是material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的localizations,我们将在下一节介绍其具体的实现方式。","上面build方法不接收参数,这一点和在statelesswidget和statefulwidget中build(buildcontext)方法不同。代码中需要用到buildcontext的地方直接用this代替即可,如代码注释1处theme.of(this)参数直接传this即可,因为当前对象本身就是element实例。","上面layout()源码中定义了一个relayoutboundary变量,什么是","上面代码中addlistener()函数调用了setstate(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变image的宽高,因为它的高度和宽度现在使用的是animation.valu","上面代码中build方法返回的仍然是一个widget,这是由于flutter框架中已经有了widget这一层,并且组件库都已经是以widget的形式提供了,如果在flutter框架中所有组件都像示例的homeview一样以element形式提供,那么就可以用纯element来构建ui了,homeview的build方法返回值类型就可以是element了。","上面代码中我们用到了另外几个widget,下面我们来分别介绍一下:","上面代码中,如果没有中间的unconstrainedbox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于","上面代码中,我们每点一次按钮就会分发一个mynotification类型的通知,我们在widget根上监听通知,收到通知后我们将通知通过text显示在屏幕上。","上面代码中,我们通过textspan实现了一个基础文本片段和一个链接片段,然后通过text.rich","上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过defaulttextstyl","上面代码中,由于要维护switch和checkbox状态,所以switchandcheckboxtestroute继承自statefulwidget","上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。","上面代码首先创建了一个tabcontrol","上面假定包位于git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:","上面参数分为两组:第一组是可滚动widget公共参数,前面已经介绍过,不再赘述;第二组是listview各个构造函数(listview有多个构造函数)的共同参数,我们重点来看看这些参数,:","上面只是pointerevent一些常用属性,除了这些它还有很多属性,读者可以查看api文档。","上面只是themedata的一小部分属性,完整列表读者可以查看sdk定义。上面属性中需要说明的是primaryswatch,它是主题颜色的一个\"样本\",通过这个样本可以在一些条件下生成一些其它的属性,例如,如果没有指定primarycolor,并且当前主题不是深色主题,那么primarycolor就会默认为primaryswatch指定的颜色,还有一些相似的属性如accentcolor","上面我们介绍的gridview都需要一个widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子widget数量比较少时,当子widget比较多时,我们可以通过gridview.builder来动态创建子widget。gridview.build","上面我们有父子两个constrainedbox,他们的限制条件不同,运行后效果如下:","上面的build方法中的代码可以改为:","上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给animatedbuilder后animatedbuilder再将其传递给匿名构造器,","上面的代码依次会输出:","上面的代码在javascript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为dart本身是一个强类型语言,任何变量都是有确定类型的,在dart中,当用var声明一个变量后,dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而javascript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。","上面的代码,实现了一个回显字符串的echo","上面的例子中并没有指定curve,所以放大的过程是线性的(匀速),下面我们指定一个curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initstate中的代码改为下面这样即可:","上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。","上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过websocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现streambuilder和stream都没有指定接收类型的参数,并且在创建websocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用streambuilder,因为websocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,streambuilder的snapshot.data的类型就是list,是文本时,则为string。","上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据json文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将json转为model类,下面我们看看怎么做:","上面的资源都是flutter应用中的,这些资源只有在flutter框架运行之后才能使用,如果要给我们的应用设置app图标或者添加启动图,那我们必须使用特定平台的assets。","上面示例演示了javascript调用原生api的过程,同样的,一般来说优秀的jsbridge也支持原生调用javascript,dsbridge也是支持的,如果您感兴趣,可以去github","上面说过,我们可以通过animation的addstatuslistener()方法来添加动画状态改变监听器。flutter中,有四种动画状态,在animationstatus枚举类中定义,下面我们逐个说明:","上面这个小例子的输出结果如下所示:","下一节我们再通过实现一个自绘的圆形渐变进度条的实例来帮助读者加深印象。","下滑线浅灰色,宽度1像素","下载包","下载并安装","下载文件:","下选择了你的开发团队。当你选择一个团队时,xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。","下面代码在dart中会报错,因为变量t的类型已经确定为string,","下面我们介绍一下materialpagerout","下面我们介绍一下常用的widget。","下面我们以android为例,实现一个获取手机型号的原生api供javascript调用。在这个示例中将展示javascript调用原生api的流程,读者可以直观的感受一下调用流程。我们选用笔者在github上开源的dsbridge作为jsbridge来进行通信。dsbridge是一个支持同步调用的跨平台的jsbridge,此示例中只使用其同步调用功能。","下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下:","下面我们来实现启动动画的路由:","下面我们来测试一下,为了尽可能多的展示gradientcircularprogressindicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:","下面我们来看看各个回调函数:","下面我们测试一下turnbox的功能,测试代码如下:","下面我们看一个例子,实现一个柱状图增长的动画:","下面我们看一个例子:","下面我们看一个完整的例子:","下面我们看看repaintboundary的原理,renderobject有一个isrepaintboundary属性,该属性决定这个renderobject重绘时是否独立于其父元素,如果该属性值为tru","下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如下:","下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘ui的过程,首先我们看一下我们的目标结果:","下面我们通过一个获取电池电量的插件来介绍一下flutter插件的开发流程。该插件中我们在dart中通过getbatterylevel","下面是一个不带可选参数调用这个函数的例子:","下面是一个将大写字母a","下面是在iphonex上页面效果截图:","下面是拦截应用中所有调用print输出日志的行为。","下面是用第三个参数调用这个函数的例子:","下面的代码使url_launcher插件的api在hello包中是可用的:","下面的例子将使用gesturedetector来识别点击事件,关于该gesturedetector的详细内容我们将在后面“事件处理”一章中介绍。","下面看一个例子:","下面看一个示例子:","下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样","下面,我们监听listview的滚动通知,然后显示当前滚动进度百分比:","下面,我们逐一解释一下各个字段的意义:","下,接下来我们通过一个例子来演示一下如何依赖、下载并使用第三方包。","不同的pagestoragekey,需要不同的值,这样才可以区分为不同scrol","不同的是,它可以接收多个异步操作的结果(成功或失败)。","不同的是,这个绘制边界需要由开发者通过repaintboundari","不同,在","不是很好,只有0.1.1版本.","不用显式的去添加帧监听器,然后再调用setstate()","不能自适应子widget大小,必须通过指定父容器大小或实现testflowdelegate的getsize返回固定大小。","不要按“停止”按钮;","不足:","不过,flutter官方建议使用android","与","与c/c++、java类似,flutt","业务需求变化快,开发成本变大;由于原生开发一般都要维护android、ios两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。","两个方法的源码,可以发现前者主要是执行了transientcallbacks队列,而后者执行了","两个方法,在看这两个方法之前我们首先了解一下","两种方式相比,onchanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:","中","中,","中inheritedwidget发生了变化,那么此时inheritedwidget的子widget的didchangedependencies()回调都会被调用。典型的场景是当系统语言locale或应用主题改变时,flutt","中关联的","中包含了一个inheritedwidget,然后在之后的build()","中实现,查看其源发,发现在其initinstances()方法中有如下代码:","中就确定了,在后面的","中文简体","中间的slivergrid:它用sliverpadding包裹以给slivergrid添加补白。slivergrid是一个两列,宽高比为4的网格,它有20个子widget。","中,勾选上","中,它被调用后会立即进行一次绘制(而不是等待\"vsync\"","中,有个","临时目录:","为","为flutter应用的首页,它也是一个widget。","为javascript提供运行环境。","为materi","为tapboxb","为true,则该renderobject拥有layer,直接绘制","为了使用方便,我们定义一个myicons类,功能和icons类一样:将字体文件中的所有图标都定义成静态变量:","为了将数据发送到服务器,我们会add消息给websocketchannel提供的sink。","为了尽可能小而且简单,flutter软件包中仅提供美国英语值的materiallocalizations和widgetslocalizations接口的实现。","为了方便使用,flutter提供了一个textformfield","为了方便开发者创建动画,不同的ui系统对动画都进行了一些抽象,比如在android中可以通过xml来描述一个动画然后设置给view。flutter中也对动画进行了抽象,主要涉及tween、animation、curve、controller这些角色。","为了方便示例,在本例中我们使用future.delay","为了更好的方便帮助中国开发者了解这门新技术,我们,flutter中文网,前后发起了flutter翻译计划、flutter开源计划,前者主要的任务是翻译flutter官方文档,后者则主要是开发一些常用的包来丰富flutter生态,帮助开发者提高开发效率。而时至今日,这两件事取得的效果还都不错!","为了更新显示画面,显示器是以固定的频率刷新(从gpu取数据),比如有一部手机屏幕的刷新频率是","为了避免用户误触返回按钮而导致app退出,在很多app中都拦截了用户点击返回键的按钮,当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。flutter中可以通过willpopscope来实现返回按钮拦截,我们看看willpopscope的默认构造函数:","为了防止用户误触返回键退出,我们拦截返回事件,当用户在1秒内点击两次返回按钮时,则退出,如果间隔超过1秒则不退出,并重新记时。代码如下:","为事件触发的坐标(如果有的话),返回","为什么要将build方法放在state中,而不是放在statefulwidget中?","为保存屏幕右下角带“➕”号按钮点击次数的状态。","为当前应用支持的locale列表,是开发者在materialapp中通过supportedlocales属性注册的。","为此,materialapp","为要模拟的android版本选择一个或多个系统印象,然后选择","为路由的名称,是个字符串;value是个builder回调函数,用于生成相应的路由widget。我们在通过路由名称入栈新路由时,应用会根据路由名称在路由表中找到对应的widgetbuilder回调函数,然后调用该回调函数生成路由widget并返回。","主要接口","主要缺点:","主资源默认对应于1.0倍的分辨率图片。看一个例子:","主轴(水平)方向间距","主轴和纵轴","主题","之前,有很多次被没用过flutter但对其保持好奇的开发者问到”flutter的性能究竟怎样?“,”开发体验真的好吗?“这类问题。当时之所以会有很多这样的问题,主要的原因就是那时flutter的成功案例太少,虽然国内闲鱼是第一个引入flutter的商业应用,但初期也只是在很少的页面使用了flutter,flutter究竟能否适合用于完整项目缺乏考验。那时,我就想如果能用flutter开发一个完整的app发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下flutter的流畅度,这样有个直观的了解后,就会容易做出判断,为此,我开发了gitme,它是一个github客户端,它支持了源码浏览、issue、label等github的大多数功能。到目前为止,通过gitme登录过github账号的用户有5000多,日活用户有500。更重要的是,有很多人正是用了gitme后,才来学flutter的。","之所以如此,是由于textfield在绘制下划线时使用的颜色是主题色里面的hintcolor,但提示文本颜色也是用的hintcolor,","之所以将dart与java和javascript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且dart","也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外,","也就不用重新布局了。","也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。","也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px;","也是用于接收异步事件数据,和futur","也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:","也许你已经猜到flutter就属于这一类跨平台技术,没错,flutter正是实现一套自绘引擎,并拥有一套自己的ui布局系统。不过,自绘制引擎的思路并不是什么新概念,flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的qt。","也需要被重新布局,那么到什么时候是个头呢?答案就是","了,这个好处和animatedwidget是一样的。","事件处理与通知","事件总线","事件总线通常用于widget之间状态共享,但关于widget之间状态共享也有一些专门的package如redux,这和web框架vue/react是一致的。通常情况下事件总线是足以满足业务需求的,如果你决定使用redux的话,一定要想清楚业务是否真的有必要用它,防止“化简为繁”、过度设计。","交错动画","从asset中加载图片","从启动到显示","从异常信息中我们可到是因为listview高度边界无法确定引起,所以解决的办法也很明显,我们需要给listview指定边界,我们通过sizedbox指定一个列表高度看看是否生效:","从网络加载图片","仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。","他们的使用方法和上面“http请求认证”一节中介绍的addcredentials和authent","代理","代码中打开抽屉菜单的方法在scaffoldstate中,通过scaffold.of(context)可以获取父级最近的scaffold","代码分为三部分:","代码大致逻辑是先判断自身是不是","代码如下:","代码很简单,就不赘述了。","代码很简单,首先判断有无溢出,如果没有则调用defaultpaint(context,","代码比较简单,我们主要是通过包装(组合)rotationtransition来实现的。","代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrievedata()的功能是模拟从数据源异步获取数据,我们使用english_words包的generatewordpairs()方法每次生成20个单词。","代码解释:","代码说明已经包含在注释里,下面我们看看运行效果:","代码运行效果:","代码:","以json_serializable的方式创建model类","以下步骤与上面使用object","以下示例构建了一个控制器、一条曲线和一个tween:","以启用","以在项目中使用这些新的依赖项.","以获得有关镜像服务器的最新动态。","任何0.4.x(x","任何appl","任意弧度;整个进度可以不是整圆。","优化后的url输入键盘;","优化后的日期输入键盘;android上会显示“:","优化后的电子邮件地址;会显示“@","优化后的电话号码输入键盘;会弹出数字键盘并显示\"*","会和一个祖先节点共用一个layer","会在widget树中从当前位置向上查找第一个类型为_inheritedtheme的widget。所以当局部使用theme后,其子树中theme.of()找到的第一个_inheritedtheme便是该theme的。","会显示“/","会被renderbox和它的子类使用.","传给它的","但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。","但是flutter中没有机制取消或停止冒泡过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的widget才能触发事件。","但是,animationcontroller具有控制动画的其他方法,例如forward()方法可以启动动画。数字的产生与屏幕刷新有关,因此每秒钟通常会产生60个数字(即60fps),在动画的每一帧,生成新的数字后,每个animation对象会调用其listener对象回调,等动画状态发生改变时(如动画结束)会调用statuslisteners监听器。","但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的api,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。","但是,读者请注意,unconstrainedbox对父限制的“去除”并非是真正的去除,上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minheight(100.0)仍然是生效的,只不过它不影响最终子元素的大小,但仍然还是占有相应的空间,可以认为此时的父constrainedbox是作用于子constrainedbox上,而redbox只受子constrainedbox限制,这一点请读者务必注意。","但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:","体积小:可以减小安装包大小。","体验热重载","作为","作为分隔符.","你也可以在控制台,定位到当前工程目录,然后手动运行flutter","你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,inkfeature是materi","你会立即在运行的应用程序中看到更新的字符串。","你可以使用","你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:","你可能多次看到过","使用","使用animatedwidget简化","使用async/await消除callback","使用dart:developer的timeline工具来包含你想测试的代码块,例如:","使用english_words包来生成随机字符串。","使用faderout","使用flatbutton也很简单,代码如下:","使用future消除callback","使用gradientbutton","使用ide插件生成model","使用intl包","使用intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用intl包我们需要添加两个依赖:","使用kotlin和使用java的步骤类似,首先在android","使用kotlin添加android平台特定的实现","使用materi","使用outlinebutton也很简单,代码如下:","使用package可以创建共享的模块化代码。一个最小的package包括:","使用raisedbutton非常简单,如:","使用redux这样的全局状态包,读者可以在pub上查看其详细信息。","使用socket","使用swift实现io","使用usb将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。","使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutt","使用websocket","使用xcode,您可以在ios设备或模拟器上运行flutter应用程序。","使用代码如下:","使用复杂.","使用字体","使用平台通道在flutter(client)和原生(host)之间传递消息,如下图所示:","使用平台通道调用原生代码","使用打包好的localizationsdeleg","使用文本样式","使用自定义字体图标","使用镜像","使用默认的","例如:","例如笔者flutter","例如,flutter中有一个动画widget的基类animatedwidget,它继承自statefulwidget类。animatedwidget中引入了一个抽象方法build(buildcontext","例如,iconbutton是一个图片按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。","例如,一个名为“fancy_backgrounds”的包,可能包含以下文件:","例如,下面代码创建一个animation对象,但不会启动它运行:","例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构:","例如,在上面的转储中,您可以看到窗口大小,size(411.4,","例如,如果应用程序目录中有以下文件:","例如:","依赖git:你也可以依赖存储在git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法","依赖下面这些命令行工具.","依赖包中的资源图片","依赖本地包","便会重新布局,我们是通过调用","便实现了跨平台。","保存用户信息","信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是schedulewarmupframe()","值得一提的是,dio内部仍然使用httpclient发起的请求,所以代理、请求认证、证书校验等和httpclient是相同的,我们可以在onhttpclientcreate回调中设置,例如:","值得注意的是,httpclient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。","值得注意的是,在materi","值得注意的是,在第二步中,状态变化后react框架并不会立即去计算并渲染dom树的变化部分,相反,react会在dom的基础上建立一个抽象层,即虚拟dom树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟dom,最后再批量同步到真实dom中,而不是每次改变都去操作一下dom。为什么不能每次改变都直接去操作dom树?这是因为在浏览器中每一次dom操作都有可能引起浏览器的重绘或回流:","值是否唯一.","假如我们不想让某个子树响应pointerevent的话,我们可以使用ignorepointer和absorbpointer,这两个widget都能阻止子树接收指针事件,不同之处在于absorbpointer本身会参与命中测试,而ignorepointer本身不会参与,这就意味着absorbpointer本身是可以接收指针事件的(但其子树不行),而ignorepointer不可以。一个简单的例子如下:","假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。","假设我们的后台服务使用的是自签名证书,证书格式是pem格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下:","假设我们要从数据源异步分批拉取一些数据,然后用listview显示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:","假设我们要给一段富文本(richtext)的不同部分分别添加点击事件处理器,但是textspan并不是一个widget,这时我们不能用gesturedetector,但textspan有一个recognizer属性,它可以接收一个gesturerecognizer,假设我们在点击时给文本变色:","假设我们需要从一个异步数据源(如网络)分批获取一些icon,然后用gridview来展示:","假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:","假设有两个路由a和b,他们的内容交互如下:","做一些事,比如:","先画背景","全局事件总线","全局状态管理","共享元素转换。下面我们通过一个示例来体验一下hero","关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在flutter中一些常见的变换效果上。","关于路由参数的详细信息读者可以自行查阅api文档,比较简单,不再赘述。","关闭client后,通过该client发起的所有请求都会中止。","关闭websocket连接","关闭websocket连接。","其中\"basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。","其中itembuilder为子widget构建器。","其中m和n是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。","其中style","其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。","其它依赖方式","其它异常捕获与日志收集","其它的值","其实context正是操作widget所对应的element的一个接口,由于widget树对应的element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。flutter中有很多“of(context)”这种方法,在使用时读者一定要注意context是否正确。","其实,无论是在javascript还是dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个promise(future)的调用链。","其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“json","内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;","再画前景,应用渐变","写一个shell(mo.sh),将生成模板和生成model串起来:","写一个自动生成模板的脚本(mo.dart),它可以根据指定的json目录,遍历生成模板,在生成时我们定义一些规则:","几乎所有的ui系统都会提供一个自绘ui的接口,这个接口通常会提供一块2d画布canvas,canvas内部封装了一些基本绘制的api,开发者可以通过canvas绘制各种自定义图形。在flutter中,提供了一个custompaint","函数","函数作为参数传递","函数作为变量","函数内部。","函数声明","分别指定四个方向的补白","分发通知。","分析","分析器","列表中,参数","列表加载","列表,可以看到此时的","则表示有","创建","创建control","创建flutter平台客户端","创建flutter应用","创建一个controller:","创建一个element实例,记为el","创建一个httpclient","创建一个新的应用程序项目","创建一个新路由,命名“newroute”","创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi","初始化flutter框架时.","初始化数据","初识flutter","到根","刷新当前终端窗口。","刷新页面将在chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。","前后路由页的共享hero的tag必须是相同的,flutt","前景画笔,会显示在子节点前面","前面讲了material组件库如何支持国际化,本节我们将介绍一下我们自己的ui中如何支持多语言。根据上节所述,我们需要实现两个类:一个delegate类一个localizations类,下面我们通过一个实例说明。","功能","功能型widget","功能型widget指的是不会影响ui布局及外观的widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的focusscope(焦点控制)、pagestorage(数据存储)、notificationlistener(事件监听)都属于功能型widget。由于widget是flutter的一等公民,功能型widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型widget。","功能型widget简介","加载","加载图片","加载文本asset","加载该图片","加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。","加载:建议使用","动态化","动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。","动态化较好,支持热更新。","动态性不足;为了保证ui绘制性能,自绘ui系统一般都会采用aot模式编译其发布包,所以应用发布后,不能像hybrid和rn那些使用javascript(jit)作为开发语言的框架那样动态下发代码。","动画","动画。","动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。","动画在终点停止","动画在起始点停止","动画基本结构","动画构建的范围缩小了,如果没有builder,setstate()将会在父widget上下文调用,这将会导致父widget的build方法重新调用,而有了builder之后,只会导致动画widget的build重新调用,这在复杂布局下性能会提高。","动画正在反向执行","动画正在正向执行","动画状态监听","动画结构","动画过程可以是匀速的、加速的或者先加速后减速等。flutter中通过curve(曲线)来描述动画过程,curve可以是线性的(curves.linear),也可以是非线性的。","动画通知","包与插件","包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用:","包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。","包含一个子widget,如:constrainedbox、decoratedbox等","包含多个子widget,一般都有一个children参数,接受一个widget数组。如row、column、stack等","包含路由的配置信息,如路由名称、是否初始路由(首页)。","包管理","包装一组函数参数,用[]标记为可选的位置参数:","升级","升级flutter","单一方向拖动","单选开关和复选框","单选框和复选框","即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如:","即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。","即可解决","即可解决。","原始指针事件处理","原生应用程序是指某一个移动平台(比如ios或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的sdk","原生开发","原生开发与跨平台技术","原生控件渲染","原生根据布局信息通过对应的原生控件渲染控件树;","原生渲染,性能相比h5提高很多。","去flutter中文网查看相关内容。","去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk","参数","参数app是一个widget,它是flutter应用启动后要展示的第一个widget。而widgetsflutterbinding正是绑定widget","参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定app的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:","反向遍历需要重绘的renderobject","发布packag","发现build传递的是this,很明显了,这个buildcontext很可能就是element类,查看element类定义,发现element类果然实现了buildcontext接口:","发生这种情况是因为localizations内部使用了inheritedwidget","发起","发起一个","发起多个并发请求:","发送","发送平台消息","取代线性布局","变体(variant)","变换transform","变量只能被设置一次,两者区别在于:const","变量声明","变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:","另一种实现可能会将高亮状态导出到父widget,同时保持_active状态为内部,但如果你要将该tapbox给其它人使用,可能没有什么意义。","另一种需要注意的是每个盒子描述的”relayoutsubtreeroot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。","另外widget类本身是一个抽象类,其中最核心的就是定义了createelement()接口,在flutter开发中,我们一般都不用直接继承widget类来实现widget,相反,我们通常会通过继承statelesswidget和statefulwidget来间接继承widget类来实现,而statelesswidget和statefulwidget都是直接继承自widget类,而这两个类也正是flutter中非常重要的两个抽象类,它们引入了两种widget模型,接下来我们将重点介绍一下这两个类。","另外,material组件库也提供了一个pageview","另外,实际场景中,json对象很少会这么简单,嵌套的json对象并不罕见,如果有什么能为我们自动处理json序列化,那将会非常好。幸运的是,有!","只会创建一次,后面会进行复用。那么buildowner是什么呢?其实他就是widget","只能通过父元素设置.","只要他们重绘时,这会使该层被一组旋转色所覆盖。","只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用","只负责布局子节点。","只需将它们替换为适当大小的图片。保留原始文件名称。","只需按照android开发人员指南中的说明,","只需要在materialapp或widgetsapp的localizationsdelegates列表中添加我们的delegate实例即可完成注册:","可以使用","可以使用getapplicationdocumentsdirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在ios上,这对应于nsdocumentdirectory。在android上,这是appdata目录。","可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现。","可以发现,renderobject中最终也是通过canvas来绘制的,那么通过实现renderobject的方式和上面介绍的通过custompaint和canvas自绘的方式有什么区别?其实答案很简单,custompaint只是为了方便开发者封装的一个代理类,它直接继承自singlechildrenderobjectwidget,通过rendercustompaint的paint方法将canvas和画笔painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在painter中)。","可以发现,子元素的大小是通过crossaxiscount和childaspectratio两个参数共同决定的。注意,这里的子元素指的是子widget的最大显示空间,注意确保子widget的实际大小不要超出子元素的空间。","可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过httpclientrequest直接设置header,不同的是通过httpclient设置的对整个httpclient都生效,而通过httpclientrequest设置的只对当前请求生效。","可以发现,直观的感觉就是margin的补白是在容器外部,而padding的补白是在容器内部,读者需要记住这个差异。事实上,container内margin和padding都是通过pad","可以发送与方法调用相对应的消息。","可以在flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如googl","可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset:","可以将其子widget树对齐到屏幕中心,","可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。","可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(callback","可以按比例“扩伸”row、column和flex子widget所占用的空间。","可以直接调用便捷方法","可以看main()函数只调用了一个runapp()方法,我们看看runapp()方法中都做了什么:","可以看出,当调用","可以看到container通过组合多种widget来实现复杂强大的功能,在flutter中,这也正是组合优先于继承的实例。","可以看到gradientbutton是由padding、center、inkwell等widget组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态、不能定义圆角等,读者可以根据实际需要来完善。","可以看到layout方法需要传入两个参数,第一个为constraints,即","可以看到widgetsflutterbinding继承自","可以看到window类包含了当前设备和系统的一些信息以及flutt","可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user","可以看到左侧菜单已经替换成功。","可以看到我们主要的任务就是实现paintchildren,它的主要任务是确定每个子widget位置。由于flow不能自适应子widget的大小,我们通过在getsize返回一个固定大小来指定flow的大小。","可以看到此时initst","可以看到该方法中主要调用了handlebeginframe()","可以看到通过intl.plural方法可以在howmany值不同时输出不同的提示信息。","可以看到,boss字段已自动添加,并自动导入了“person.dart”。","可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于floatingactionbutton的位置,上面floatingactionbutton的位置为:","可以看到,使用socket需要我们自己实现http协议细节,本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后如下:","可以看到,右边溢出部分报错。这是因为row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。flutter中通过wrap和flow来支持流式布局,将上例中的row换成wrap后溢出部分则会自动折行。下面是wrap的定义:","可以看到,在statefulwidget插入到widget树时首先initstate方法会被调用。","可以看到,在发生异常时,flutter默认的处理方式是弹一个errorwidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugreportexception()方法看看:","可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算,那么有什么方法可以自动拉升listview以填充屏幕剩余空间的方法吗?当然有!答案就是flex。前面已经介绍过在flex布局中,可以使用expanded自动拉伸组件大小的widget,我们也说过column是继承自flex的,所以我们可以直接使用column+expanded来实现,代码如下:","可以看到,我们虽然将container的高度设置为5像素,但是最终却是50像素,这正是constrainedbox的最小高度限制生效了。如果将container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,constrainedbox只限制了最小高度,并未限制最大高度。","可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。","可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白,那如果我们要实现列表铺满除过表头以外的屏幕空间呢?直观的方法是我们动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:","可以看到,由于第二个子widget没有定位,所以fit属性会对它起作用,就会占满stack。有stack子元素是堆叠的,所以第一个子widget被第二个遮住了,而第三个在最上层,所以可以正常显示。","可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承custompainter类,我们在画笔类中实现真正的绘制逻辑。","可以自定义粗细、两端是否圆角等样式。","可以装饰一个boxdecoration,","可以通过","可以通过findproxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去:","可以通过textspan和文本混用。","可以通过局部主题覆盖全局主题,正如代码中通过theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为widget中使用主题样式时是通过theme.of(buildcontext","可滚动widget","可滚动widgets简介","可滚动widget简介","可见依赖发生变化后,其didchangedependencies()会被调用。但是读者要注意,如果_testwidget的build方法中没有使用sharedatawidget的数据,那么它的didchangedependencies()将不会被调用,因为它并没有依赖sharedatawidget。","可视化调试","可让您创建一个带格式的文本。","可让您创建矩形视觉元素。contain","可访问平台全部功能(gps、摄像头);","可选命名参数在flutter中使用非常多。","可选的位置参数","可选的命名参数","右下角有一个悬浮的动作按钮","各个属性名都是自解释的,详情读者可以查看api文档,我们看一个示例:","同一个host,同时允许建立连接的最大数量。","同一个包中的源码文件之间也可以使用相对路径来导入。","同时支持分析、检查堆等。有关observatory的更多信息请参考observatori","名称","名,已有","后面是一个future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在","向persistentcallbacks队列添加了一个回调","向父级递归查找","否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。","含义","启动","启动android","启动屏幕将永远持续显示。","启动您的设备。","命中测试","命令","命令以查看是否都准备ok了:","命令以验证flutter识别您连接的android设备。","命令来下载依赖包。","命令来创建:","命名路由","命名路由的优缺点","命名路由的最大优点是直观,我们可以通过语义化的字符串来管理路由。但其有一个明显的缺点:不能直接传递路由参数。举个例子,假设有一个新路由echoroute,它的功能是接受一个字符串参数tip,然后再在屏幕中心将tip的内容显示出来,代码如下:","和","和c","和cupertino两种视觉风格的组件库。而我们flutter开发的大多数场景,只是和这两层打交道。","和didchangedependencies都没有被调用,而此时didupdatewidget被调用。","和javascript中的async/await功能和用法是一模一样的,如果你已经了解javascript中的async/await的用法,可以直接跳过本节。","和stateless","和statelesswidget一样,statefulwidget也是继承自widget类,并重写了createelement()方法,不同的是返回的el","和window一样,要在android设备上构建并运行flutter程序都需要先安装android","和上一节中介绍的相同,我们现在需要先注册demolocalizationsdelegate类,然后再通过demolocalizations.of(context)来动态获取当前locale文本。","和上一节中的步骤类似,我们仍然要实现localizations和delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。","和其它地方的意义稍微有点区别,此处用于配合left、top","和包管理一样,flutter也使用pubspec.yaml文件来管理应用程序所需的资源。举一个例子:","和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。","和服务器建立连接的超时,如果超过这个值则会抛出socketexception异常。","响应式的编程框架中都会有一个永恒的主题——“状态管理”,无论是在react/vue(两者都是支持响应式编程的web开发框架)还是flutter,他们讨论的问题和解决的思想都是一致的。所以,如果你对react/vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,st","响应式编程","唯一不同的是","回到runapp的实现中,当调用完attachrootwidget后,最后一行会调用","回调","回调中打印日志:","回调地狱(callback","回调返回值是一个遵循浏览器pac脚本格式的字符串,详情可以查看api文档,如果不需要代理,返回\"direct\"即可。","回调,","回调,绑定framework手势子系统,是framework事件模型与底层事件的绑定入口。","因此,renderparagraph有一个relayoutsubtreeroot=up8,这意味着当它renderparagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。","因此,可以看到其实dom树和控件树是等价的概念,只不过前者常用语web开发中,而后者常用于原生开发中。","国际化","国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化delegate。","图中的白线以16ms增量沿纵轴显示;","图标","图片","图片及icon","图片和icon","圆的半径","在","在2018年googl","在_myhomepagestate.build方法中的column的子widget中添加一个按钮(flatbutton)","在ab两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:","在android","在android设备上启用","在appdelegate类中添加以下新的方法:","在app中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的app中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:","在app开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。","在asset中声明","在dart中,所有的外部事件任务都在事件队列中,如io、计时器、点击、以及绘制事件等,而微任务通常来源于dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于gui应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过future.microtask(…)方法向微任务队列插入一个任务。","在flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过textstyle属性使用字体。","在flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为","在flutter中页面ui通常都是由一些低阶别的widget组合而成,当我们需要封装一些通用widget时,应该首先考虑是否可以通过组合其它widget来实现,如果可以则应优先使用组合,因为直接通过现有widget拼装会非常方便、简单、高效。","在flutter中,widget的功能是“描述一个ui元素的配置数据”,它就是说,widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。实际上,flutter中真正代表屏幕上显示元素的类是element,也就是说widget只是描述element的一个配置,有关element的详细介绍我们将在本书后面的高级部分深入介绍,读者现在只需要知道,widget只是ui元素的一个配置数据,并且一个widget可以对应多个element,这是因为同一个widget对象可以被添加到ui树的不同部分,而真正渲染时,ui树的每一个widget节点都会对应一个element对象。总结一下:","在flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)。","在flutter中,应该优先使用localelistresolutioncallback,当然你不必担心android系统的差异性,如果在低版本的android系统中,flutter会自动处理这种情况,这时locale列表只会包含一项。","在flutter中,我们可以创建一个websocketchannel连接到一台服务器:","在flutter中,组合的思想非常重要,flutter提供了非常多的基础widget,而我们的界面开发都是按照需要组合这些widget来实现各种不同的布局。","在flutter中,还有一些flutter没有为我们捕获的异常,如调用空对象方法异常、future中的异常。在dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了future的异常的:","在flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们:","在flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在flutter命令行运行flutter命令了。","在flutter开发中,iconfont和图片相比有如下优势:","在flutter框架加载时,flutter会使用本地平台机制绘制启动页。此启动页将持续到flutter渲染应用程序的第一帧时。","在flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap","在flutter项目的根目录中,导航到.../ios/runner。该目录中assets.xcassets/appicon.appiconset已经包含占位符图片。","在hello/ios/hello.podspec:","在itembuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个icon。","在javascript中调用原生api","在java和oc中,如果程序发生异常且没有被捕获,那么程序将会终止,但在dart或javascript中则不会,究其原因,这和它们的运行机制有关系,java和oc都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但dart和javascript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过dart官方提供的一张图来看看dart大致运行原理:","在java目录下打开","在kotlin目录中打开mainactivity.kt。","在lib根目录下的shelf.dart中,导出了多个lib/src目录下的dart文件:","在macos上搭建flutter开发环境","在masos下可以同时进行android和ios设备的测试。","在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset","在pubspec.yml中的flutter部分添加如下内容:","在renderparagraph中基于它的内容来决定其大小。","在runner","在state对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。","在widget","在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。","在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而defaulttextstyle正是用于设置默认文本样式的。下面我们看一个例子:","在widget生命周期中可以被改变,当state被改变时,可以手动调用其setstate()方法通知flutt","在windows上搭建flutter开发环境","在xcode中,选择导航面板左侧中的runner项目。","在“android","在“widget简介”一节,我们介绍了widget和element的关系,我们知道最终的ui树其实是由一个个独立的element节点构成。我们也知道了组件最终的layout、渲染都是通过renderobject来完成的,从创建到渲染的大体流程是:根据widget生成element,然后创建相应的renderobject并关联到element.renderobject属性上,最后再通过renderobject来完成布局排列和绘制。","在“用户变量”下检查是否有名为“path”的条目:","在一次绘制过程中,这三个回调队列会放在不同时机被执行:","在上一节我们说过每个element都对应一个renderobject,我们可以通过element.renderobject","在上面的例子中,text的所有文本内容只能按同一种样式,如果我们需要对一个text内容的不同部分按照不同的样式显示,这时就可以使用textspan,它代表文本的一个“片段”。我们看看textspan的定义:","在下面tapboxc示例中,按下时,盒子的周围会出现一个深绿色的边框。抬起时,边框消失;点击生效,盒子的颜色改变。","在之前我们已经介绍过dart语言的相关特性,读者可以翻看一下,如果你熟悉dart语法,可以跳过本节,如果你还不了解dart,不用担心,按照笔者经验,如果你有过其他编程语言经验,尤其是java和javascript的话,所以,如果你是前端或android开发者,那么将会非常容易上手dart。当然,如果你是ios开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习dart时,只是花了一个小时,看完dart官网的languag","在之前的章节中,我们已经简单介绍过statelesswidget,statelesswidget相对比较简单,它继承自widget,重写了createelement()方法:","在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。","在介绍row和colum时,如果子widget超出屏幕范围,则会报溢出错误,如:","在介绍statefulwidget时,我们提到state对象有一个回调didchangedependencies,它会在“依赖”发生变化时被flutt","在以下示例中,tapboxb通过回调将其状态导出到其父项。由于tapboxb不管理任何状态,因此它的父类为statelesswidget。","在任何系统的ui框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变ui外观,由于人眼会产生视觉暂留,最终看到的就是一个“连续”的动画,这和电影的原理是一样的,而ui的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率fps(fram","在你flutter项目目录中通过","在你的mac上,通过","在全球,随着flutter被越来越多的知名公司应用在自己的商业app中,flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当google在2018年io大会上发布了第一个preview版本后,国内刮起来一股学习flutter的热潮。","在前几节中,我们介绍了flutter中常用的可滚动widget,也说过可以用scrollcontroller来控制可滚动widget的滚动位置,本节先介绍一下scrollcontroller,然后以listview为例,展示一下scrollcontroller的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。","在前面的介绍中,我们知道flutter中几乎所有的对象都是一个widget,与原生开发中“控件”不同的是,flutter中的widget的概念更广泛,它不仅可以表示ui元素,也可以表示一些功能性的组件如:用于手势检测的","在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列”","在原生移动应用平台的衍生产物,目前支持ios和android两个平台。rn使用javascript语言,类似于html的jsx,以及css来开发移动应用,因此熟悉web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。","在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟dom映射的对象是什么?react中虚拟dom最终会映射为浏览器dom树,而rn中虚拟dom会通过","在发布之前,检查pubspec.yaml、readme.md以及changelog.md文件,以确保其内容的完整性和正确性。然后,运行","在可滚动widget的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动widget的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。","在后面的章节中我们将会举例说明。","在命令行运行","在大型应用程序中,不同模块或package可能会与自己的本地化值捆绑在一起。","在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。","在实战中,后台接口往往会返回一些结构化数据,如json、xml等,如之前我们请求github","在客户端,methodchannel","在宿主平台上,methodchannel","在工具栏中点击","在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。","在布局阶段,父节点会调用子节点的layout()方法,下面我们看看renderobject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):","在开发实现materi","在开发过程中,强烈建议您使用flutter的“调试”模式,有时也称为“checked”模式(注意:dart2.0后“checked”被废除,可以使用“strong”","在很多布局系统中都有viewport的概念,在flutter中,术语viewport(视口),如无特别说明,则是指一个widget的实际显示区域。例如,一个listview的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其viewport仍然是800像素。","在您的项目根文件夹中运行","在我们使用websocket后,要关闭连接:","在按下时添加绿色边框,当抬起时,取消高亮","在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息!","在接下来的两节中,我们会分别介绍android和ios端api的实现。","在接下来的小节中,我们先详细介绍一下element、renderobject,它们是组成flutt","在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。","在接收到滚动事件时,参数类型为scrollnotification,它包括一个metrics属性,它的类型是scrollmetrics,该属性包含当前viewport及滚动位置等信息:","在搜索框输入","在新版的android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的locale,如果某一种语言加载成功则会停止。下面是android中设置语言列表的截图:","在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与element有对应关系(一可能对多),在有些场景(flutter的sdk文档中)也代指“ui树”的意思。而在st","在本书的前面章节中,我们多次提到\"ui系统\"这个概念,本书中所指的ui系统特指:基于一个平台,在此平台上实现gui的一个系统,这里的平台特指操作系统,如android、ios或者windows、macos。我们说过各个平台ui系统的原理是相通的,也就是说无论是android还是ios,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍flutt","在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是","在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,gesturedetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:","在本章接下来的小节中,我们将通过一些实例来详细介绍自定义ui的过程,由于后两种方法本质是相同的,后续我们只介绍custompaint和canvas的方式,读者如果对自定义renderobject的方法好奇,可以查看renderparagraph或renderimage源码。","在本篇中,我们看看最后一种跨平台技术:自绘ui+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制ui,而不依赖系统原生控件,所以可以做到不同平台ui的一致性。注意,自绘引擎解决的是ui的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下:","在构建期间,flutter将asset放置到称为","在某些情况下,动画值可能会超出animationcontroller的0.0","在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。","在移动端,各个平台或ui系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。","在笔者看来,dart的设计目标应该是既对标java,也对标javascript,dart在静态语法方面和java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和javascript很像,如函数式特性、异步支持等。除了融合java和javascript语言之所长之外,dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在dart中其实看到的不仅有java和javascript的影子,它还具有其它编程语言中的身影,如命名参数在object","在终端中运行:","在终端中运行:flutter","在设备像素比率为1.8的设备上,.../2.0x/my_icon.png","在调用didchangedependencies()之后。","在调用didupdatewidget()之后。","在调用initstate()之后。","在调用setstate()之后。","在输入时,android","在运行应用程序前,请运行flutter","在这个示例中,主要dart代码是在","在这种情况下,一个单一的gesturedetector被列出,并且监听“tap”手势(“tap”是tapgesturedetector的tostringshort函数输出的)","在这种情况下,每个逻辑像素代表3.5个设备像素。","在这种情况下,由于应用程序本地定义了字体,所以在创建textstyle时可以不指定package参数:","在选择匹配当前设备分辨率的图片时,flutter会使用到asset变体(见下文),将来,flutter可能会将这种机制扩展到本地化、阅读提示等方面。","在项目中设置json_serializ","在项目目录中,您应用程序的代码位于","基于aot的发布包:","基于jit的快速开发周期:flutter在开发阶段采用,采用jit模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;","基于widgetsapp的应用程序类似,只是不需要globalmateriallocalizations.delegate。","基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!","基于此四点,尽管qt是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。","基础widget","堆叠,","声明","声明分辨率相关的图片","声明文本样式","处理包的相互依赖","处理抬起事件","处理按下事件","复写父类的方法,主要是设置诊断树的一些特性。","复杂的json对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。","外部存储目录:可以使用getexternalstoragedirectory()来获取外部存储目录,如sd卡;由于ios不支持外部目录,所以在ios下调用该方法会抛出unsupportederror异常,而在android下结果是android","多行文本,需和maxlines配合使用(设为null或大于1)","多重限制","大会上,flutter","大会上,googl","大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:","大多数应用程序都是通过materialapp为入口,但根据低级别的widgetsapp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。materialapp实际上也是widgetsapp的一个包装。","大多数路由页都会包含一个导航栏,有些路由页可能会有抽屉菜单(drawer)以及底部tab导航菜单等。如果每个页面都需要开发者自己手动去实现,这会是一件非常无聊的事。幸运的是,我们前面提到过,flutt","头部sliverappbar:sliverappbar对应appbar,两者不同之处在于sliverappbar可以集成到customscrollview。sliverappbar可以结合flexiblespacebar实现materi","好","如","如,","如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在webview中,而webview实质上就是一个浏览器内核,其javascript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于h5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的api,","如何决定使用哪种管理方法?以下原则可以帮助你决定:","如何学习flutter","如果1、2验证都失败了,如果用户提供了badcertificatecallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。","如果behavior值改为hittestbehavior.opaque,则只会打印\"down1\"。","如果custompaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在repaintboundari","如果dom只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。","如果dom树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。","如果element要重新插入到element树的其它位置,如element或element的祖先拥有一个globalkey(用于全局复用元素),那么framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderobject重新attach到渲染树。","如果json文件名以下划线“_”开始,则忽略此json文件。","如果locale为null,则表示flutter未能获取到设备的locale信息,所以我们在使用locale之前一定要先判空。","如果row里面嵌套row,或者column里面再嵌套column,那么只有对最外面的row或column会占用尽可能大的空间,里面row或column所占用的空间为实际大小,下面以column为例说明:","如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。","如果xcode中的自动签名失败,请验证项目的","如果一切正常,","如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置","如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户id,然后通过用户id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下:","如果你一次输出太多,那么android有时会丢弃一些日志行。为了避免这种情况,您可以使用flutter的foundation库中的debugprint()。","如果你使用intellij的flutter插件,那么已经自动启用了。","如果你使用不同的文件名,那您还必须更新同一目录中的contents.json文件,图片的具体尺寸可以查看苹果官方的标准。","如果你使用终端是zsh,终端启动时","如果你想在windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户path:","如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用vpn,这里需要注意的是一些代理只会代理部分app的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到pub,因此,在发布pub包时使用全局代理或全局vpn会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。","如果冲突的依赖不是一个包,而是一个特定于android的库,比如guava,那么必须将依赖重写声明添加到gradle构建逻辑中。","如果发送的数据是formdata,则dio会将请求header的contenttype设为“multipart/form","如果只靠我一个人,也只能等我有空了才能写,但是今年实在是太忙了!当然,还是有一些方法可以加快进度,比如大家一起来写,本书已经开源,有志之士都可以提pr,然后需要做好的就是review和校稿;当然还有一个不能保证一定有用的办法就是点击下面的”打赏“按钮,然后发一个大红包,这样作者拿了钱,说不定会不好意思慢慢吞吞的写,毕竟是收了钱的,哈哈。","如果图中超过这三条线之一,那么您的运行频率低于60hz。横轴代表帧。","如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。","如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。","如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上flutter中的手势识别引入了一个arena的概念,arena直译为“竞技场”的意思,每一个手势识别器(gesturerecognizer)都是一个“竞争者”(gesturearenamember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个listview,它的第一个子widget也是listview,如果现在滑动这个子listview,父listview会动吗?答案是否定的,这时只有子widget会动,因为这时子widget会胜出而获得滑动事件的处理权。","如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。","如果子元素未超出当前边界,则绘制子元素","如果已安装git","如果应用程序正在运行,请使用热重载按钮","如果异步任务发生错误,我们可以在catcherror中捕获错误,我们将上面示例改为:","如果您从未打算更改一个变量,那么使用","如果您使用flutter","如果您使用observatory进行分析,请确保通过","如果您尝试调试合成图层,例如以确定是否以及在何处添加repaintboundari","如果您尝试调试合成问题,则可以使用debugdumplayertree()。对于上面的例子,它会输出:","如果您尝试调试布局问题,那么widgets层的树可能不够详细。在这种情况下,您可以通过调用debugdumprendertree()转储渲染树。","如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。","如果您编写自己的widget,则可以通过覆盖debugfillproperties()来添加信息。","如果您编写自己的渲染对象,则可以通过覆盖debugfillproperties()将信息添加到转储。","如果您重命名.png文件,则还必须在您androidmanifest.xml的标签的android:icon属性中更新名称。","如果想自定义路由切换动画,可以使用pageroutebuilder,例如我们想以渐隐渐入动画来实现路由过渡:","如果想自定义路由切换动画,可以自己继承pageroute来实现,我们将在后面介绍动画时,实现一个自定义的路由widget。","如果想让flutter使用不同版本的android","如果我们tab页可以滑动切换的话,还需要在滑动过程中更新tabbar指示器的偏移。显然,要手动处理这些是很麻烦的,为此,material库提供了一个tabbarview组件,它可以很轻松的配合tabbar来实现同步切换和滑动状态同步,示例如下:","如果我们使用命名参数,就必须将路由提前注册到路由表中,所以就无法动态修改tip参数,如:","如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,本文将在后面介绍container时来介绍如何实现。","如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。","如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:","如果我们的flutter应用本身依赖某个包,我们需要将所依赖的包添加到depend","如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。flutter提供一些widget和类以帮助实现国际化,而flutter的库本身也是国际化的。","如果我们直接修改hintcolor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintstyle,它可以覆盖hintcolor,并且主题中可以通过inputdecorationtheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下:","如果我们需要将上面代码在现有flutter框架中跑起来,那么还是得提供一个”适配器“widget将homeview结合到现有框架中,下面customhome就相当于”适配器“:","如果是digest认证,可以创建digest认证凭据:","如果是post或put等可以携带请求体方法,可以通过httpclientrequest对象发送request","如果未在imag","如果某一个widget有多个父constrainedbox限制,那么最终会是哪个生效?我们看一个例子:","如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。","如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是intl的托底策略。","如果没有widget层,单靠element层是否可以搭建起一个可用的ui框架?如果可以应该是什么样子?","如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。","如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。","如果直到根节点也没找到一个layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。","如果第一步验证失败,但在创建httpclient时,已经通过securitycontext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。","如果系统的语言环境发生变化,widgetsapp将创建一个新的loc","如果给scaffold添加了抽屉菜单,默认情况下scaffold会自动将appbar的leading设置为菜单按钮(如上面截图所示)。如果我们想自定义菜单图标,可以手动来设置leading,如:","如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以renderflex对象为例说明:","如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。","如果要让里面的colum占满外部colum,可以使用expand","如果设备的locale区域设置发生更改,则loc","如果该条目不存在,创建一个新用户变量","如果该条目存在,","如果请求的https证书是可信ca颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。","如果这些命令中的任何一个失败并出现错误,请运行brew","如果遇到无法通过系统提供的现有widget实现的ui时,如我们需要一个渐变圆形进度条,而flutter提供的circularprogressindicator并不支持在显示精确进度时对进度条应用渐变色(其valuecolor","如果需要过滤uri,可以手动判断","如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用dart中实现的api。","如果需要,自定义命名策略也很容易。例如,如果我们正在使用的api返回带有snake_case的对象,但我们想在我们的模型中使用lowercamelcase,","如:","如:android","子widget是一个column","子widget的绘制将独立于父widget的绘制,repaintboundary会隔离其子节点和custompaint本身的绘制边界。示例如下:","字体主题,包括标题、body等文字样式","字段,例如:","字符串内容超过一行,text宽度等于屏幕宽度,第二行文本便会居中显示。","它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,flutter提供了一个renderbox类,它继承自renderobject,布局坐标系统采用笛卡尔坐标系,这和android和ios原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用renderbox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下renderbox。","它们可以通过localizations.of被获取到:","它实际上是一个imageprovider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用image.asset()方法,如:","它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。","它是一个map,","它是一个自动化的源代码生成器,可以在开发阶段为我们生成json序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生json序列化异常的风险降至最低。","安卓包配置问题","安装","安装android","安装flutter","安装flutter和dart插件","安装flutter插件","安装xcode","安装之后重新运行即可。","安装步骤:","安装目录是“~/code/flutter_dir”,那么代码为:","安装遇到问题?","完成flutter框架初始化时.","完整代码:","完整的代码:","完整的例子","官网:阅读flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新flutter发展动态的地方,由于目前flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。","定义_active:确定盒子的当前颜色的布尔值。","定义_handletap()函数,该函数在点击该盒子时更新_active,并调用setstate()更新ui。","定义一个\"模板的模板\",名为\"template.dart\":","定义一个controller:","定义一个背景蓝色,两边圆角的按钮。效果如下:","定义一个路由类faderout","定义一个通知类,要继承自notification类;","定义两个变量,用于保存用户名和密码,然后在onchange触发时,各自保存一下输入内容。","定义函数时,使用{param1,","定位到","定位到android","定位到您","实例","实例的","实例转化为一个map.","实例:turnbox","实例:圆形渐变进度条","实例:圆形渐变进度条(自绘)","实例:无限加载列表","实现","实现_handletapboxchanged(),当盒子被点击时调用的方法.","实现delegate类","实现local","实现localizations类","实现packag","实现renderobject","实现testflowdelegate:","实现widget的所有交互式行为。","实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在app","实现一个计数器","实现代码如下:","实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉ide或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。","实现:","实际上sizedbox和只是constrainedbox一个定制,上面代码等价于:","实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个textfield都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组textfield的内容,除了一个一个清除有没有什么更好的办法呢?为此,flutter提供了一个form","客户端发送http请求给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话,","客户端得到响应码后,将用户名和密码进行base64编码(格式为用户名:密码),设置请求头authorization,继续访问","客观的来讲,dart在语法层面确实比java更有表现力;在vm层面,dart","容器的大小可以通过width、height属性来指定,也可以通过constraints来指定,如果同时存在时,width、height优先。实际上container内部会根据width、height来生成一个constraints。","容器类widget","容器类widget和布局类widget都作用于其子widget,不同的是:","宿主监听平台通道,并接收该消息。然后它会调用该平台的api,并将响应发送回客户端,即应用程序的flutter部分。","密码不能小于6位,如果小于6为则提示“密码不能少于6位”。","对view的抽象也是一样的,他们都将操作系统api抽象成一个基础对象(如用于2d图形绘制的canvas),然后再定义一套规则来描述ui,如ui树结构,ui操作的单线程原则等。","对于android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。","对于buildcontext读者现在可以先作了解,随着本书后面内容的展开,也会用到context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于buildcontext更多的内容,我们也将在后面高级部分再深入介绍。","对于get请求我们可以将query参数通过对象来传递,上面的代码等同于:","对于ios,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。","对于一些widget来说,混合管理的方式非常有用。在这种情况下,widget自身管理一些内部状态,而父widget管理一些其他外部状态。","对于一些复杂或不规则的ui,我们可能无法使用现有widget组合的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等,当然有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片是实现不了的,比如要实现一个手写输入面板。这时,我们就需要来自己绘制ui外观。","对于上面的例子,它会输出:","对于只包含一个表达式的函数,可以使用简写语法","对于大多数情况,当您想要使用最新版本的xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。","对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如","对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。","对于纯dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可","对于线性布局,有主轴和纵轴之分,如果布局是沿水平方,那么主轴就指是水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类mainaxisalignment和crossaxisalignment,分别代表主轴对齐和纵轴对齐。","对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badcertificatecallback回调中:","对于问题1,答案当然是肯定的,因为我们之前说过widget树只是element树的映射,我们完全可以直接通过element来搭建一个ui框架。下面举一个例子:","对于问题2,答案当然也是肯定的,flutter","对应事件的订阅者队列","对应的","对应的element","对应请求头中的content","对应请求头中的keep","对应请求头中的user","对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。","对象:","对象加载:每个flutter应用程序都有一个rootbundle对象,","对象并不相同;另外statefulwidget类中添加了一个新的接口createstate(),下面我们看看statefulwidget的类定义:","对齐方式(来自widget如center和align)显示为黄色箭头.","导入包","导入包。","导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":","导入并创建dio实例:","导航栏右侧菜单","导航栏右边有一个分享按钮","导航栏底部菜单,通常为tab按钮组","导航栏阴影","导航返回拦截","导航返回拦截willpopscop","将","将diagnosticsproperty对象作为方法参数,并调用父类方法。","将diagnosticsproperty对象作为方法的参数,并调用父类方法。","将english_words(3.1.3版本)添加到依赖项列表,如下:","将flutter添加到path中,可以在任何终端会话中运行flutter命令。","将json字符串转为list/map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下json:","将materi","将不会被加载,解决办法就是修改","将不能再被调用。","将以下新方法添加到appdelegate.swift底部:","将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。","将动画过程定义为一个非线性曲线.","将原生api通过webview注册到jsbridge中","将在我们运行生成命令后自动生成","将字符串","将安装包zip解压到你想安装flutt","将数据发送到服务器","将数据发送到服务器。","将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。","将点击次数以字符串类型写到文件中","将给定的路由入栈(即打开新的页面),返回值是一个future对象,用以接收新路由出栈(及关闭)时的返回数据。","将虚拟dom布局信息传递给原生;","将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。","将需要绘制的比特数据发给gpu","就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满","尽可能的利用好shouldrepaint返回值;在ui树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的ui不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的ui外观;如果绘制依赖外部状态,那么我们就应该在shouldrepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。","尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializ","层","层叠布局","层叠布局stack、posit","层叠布局和web中的绝对定位、android中的frame布局是相似的,子widget可以根据到父容器四个角的位置来确定本身的位置。绝对定位允许子widget堆叠(按照代码中声明的顺序)。flutter中使用stack和positioned来实现绝对定位,stack允许子widget堆叠,而positioned可以给子widget定位(根据stack的四个角)。","展示应用第一帧时.","属性","属性及外观","属性只支持执行旋转动画时变化indicator的颜色),这时最好的方法就是通过自定义widget绘制逻辑来画出我们期望的外观。flutter中提供了custompaint和canvas供我们自绘ui外观。","嵌套json","工作原理","工具:","工具来为package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成api文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:","工具版本。","工欲善其事必先利其器,本节首先会分别介绍一下在windows和macos下flutt","已经创建过了,则将根","布局","布局消息传递;","布局类widget","布局类widgets简介","布局类widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)multichildrenderobjectwidget","布局类widget就是指直接或间接继承(包含)multichildrenderobjectwidget的widget,它们一般都会有一个children属性用于接收子widget。我们看一下继承关系","布局类widget是按照一定的排列方式来对其子widget进行排列;而容器类widget一般只是包装其子widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。","布局类widget都会包含一个或多个子widget,不同的布局类widget对子widget排版(layout)方式不同。我们在前面说过element树才是最终的绘制树,element树是通过widget树来创建的(通过widget.createelement()),widget其实就是element的配置数据。flutter中,根据widget是否需要包含子节点将widget分为了三类,分别对应三种element,如下表:","布局过程","布局限制类容器constrainedbox、sizebox","带\"*\"号的分支即你本地的flutter","常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子:","常见配置问题","常规>设备管理","平台依赖、sdk版本等,而且它也是flutter开发推荐的ide之一(当然,你也可以使用其它编辑器或ide,我们将会在后面讨论)。","平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;","平台通道","平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。","平台通道数据类型支持","平台通道消息处理回调","平移","年","并信任您的证书。","并在每次收到消息时通知flutter重新构建界面。","并在那里创建一个。","并将一个widget放在通过new","并混入了很多binding,在介绍这些binding之前我们先介绍一下window对象。我们看看window的官方解释:","并用一个text","并选择","并非是一个widget,","库中的按钮都有如下相同点:","库造成的,解决方法如下:","应用中main函数为应用程序的入口,main函数中调用了,runapp","应用入口。","应用或包的描述、简介。","应用的flutter部分通过平台通道(platform","应用结构。","应该在didchangedependencies()中做什么?","底下两层(foundation和animation、painting、gestures)在google的一些视频中被合并为一个dart","底部sliverfixedextentlist:它是一个所有子元素高度都为50像素的列表。","底部tab导航栏","底部导航","底部导航栏打一个圆形的洞","建议使用","开发dart包","开发flutter插件","开发packag","开发人员只会关心该框是否处于active状态,而不在乎高亮显示是如何管理的,所以应该让tapbox内部处理这些细节。","开发人员选项","开发效率","开发效率高","开发效率;flutter的热重载可帮助开发者快速地进行测试、构建ui、添加功能并更快地修复错误。在ios和android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。","开发者只需关注状态转移(数据),当状态发生变化,react框架会自动根据新的状态重新构建ui。","开发者可以根据实际需求来定制。","开头的任何内容都只能在调试模式下工作。","开始一直向父节点查找,直到找到","开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。","异步支持","引入","引入dio:","引入english_words包。","引入pathprovider插件;在pubspec.yaml文件中添加如下声明:","弹性布局","弹性布局flex","弹性布局允许子widget按照一定比例来分配父容器空间,弹性布局的概念在其ui系统中也都存在,如h5中的弹性盒子布局,android中的flexboxlayout。flutter中的弹性布局主要通过flex和expanded来配合实现。","强制使用","强制使用23.0版本的guava库,在hello/android/build.gradle中:","当element父widget的配置数据改变时,为了进行element复用,framework在决定重新创建element前会先尝试复用相同位置旧的element:调用element对应widget的canupdate()方法,如果返回true,则复用旧element,旧的element会使用新的widget配置数据更新,反之则会创建一个新的element,不会复用。widget.canupdate()主要是判断newwidget与oldwidget的runtimetype和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个widget时,可以通过指定不同的key来禁止复用。","当flutter提供的现有widget无法满足我们的需求,或者我们为了共享代码需要封装一些通用widget,这时我们就需要自定义widget。在flutter中自定义widget有三种方式:通过组合其它widget、自绘和实现renderobject,本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。","当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,renderobject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数renderbox子类来说如果子类只有一个子节点,那么子节点偏移一般都是offset.zero","当local","当scrollcontroller和scrol","当text发生改变时,我们调用markneedsbuild()方法将当前element标记为dirty即可,标记为dirty的element会在下一帧中重建。实际上,state.setstate()在内部也是调用的markneedsbuild()方法。","当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。","当一个路由中包含多个scrollabl","当使用dart","当内容超过显示视口(viewport)时,如果没有特殊处理,flutter则会提示overflow错误。为此,flutter提供了多种可滚动widget(scrol","当创建一个animationcontroller时,需要传递一个vsync参数,它接收一个tickerprovider类型的对象,它的主要职责是创建ticker,定义如下:","当前系统字体缩放比例。","当前系统默认的语言local","当前设备的dpi,即一个物理相许显示多少逻辑像素,数字越大,显示效果就越精细保真。","当前进度,取值范围","当同时监听ontap和ondoubletap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以gesturedetector会等一断时间来确定是否为双击事件。如果用户只监听了ontap(没有监听ondoubletap)事件时,则没有延时。","当在flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。","当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。","当在调试模式设置为true时,它将覆盖这样一个网格。","当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如padding)显示为浅蓝色,子widget周围有一个深蓝色框,","当应用中包括一些跨widget(甚至跨路由)的状态需要同步时,上面介绍的方法很难胜任了。比如,我们有一个设置页,里面可以设置应用语言,但是我们为了让设置实时生效,我们期望在语言状态发生改变时,我们的app","当您第一次attach真机设备进行ios开发时,需要同时信任你的mac和该设备上的开发证书。首次将ios设备连接到mac时,请在对话框中选择","当我们更改系统语言设置时,app中的loc","当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。","当所有编辑框都失去焦点时键盘就会收起","当指针按下时,flutter会对应用程序执行命中测试(hit","当按下、抬起、或者取消点击时更新_highlight状态,调用setstate()更新ui。","当按钮从被按下变为被释放时debugdumpapp()被调用,flatbutton对象同时调用setstate(),并将自己标记为\"dirty\"。","当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setst","当有父widget的配置数据改变时,同时其state.build返回的widget结构与之前不同,此时就需要重新构建对应的element树。为了进行element复用,在element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应widget的canupdate方法,如果返回true,则复用旧element,旧的element会使用新widget配置数据更新,反之则会创建一个新的element。widget.canupdate主要是判断newwidget与oldwidget的runtimetype和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个widget时,可以通过指定不同的key来避免复用。","当有祖先element决定要移除el","当检测到点击时,它会通知父widget。","当点击时,将状态的改变传递给父widget.","当点击盒子并且_active状态改变时调用setstate()更新ui。","当然,parentdata并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的parentdata中,如containerbox的parentdata就保存了指向兄弟节点的previoussibling和nextsibling,element.visitchildren()方法也正是通过它们来实现对子节点的遍历。再比如keepal","当状态改变时,调用setstate()更新ui.","当绘制区域大小改变回调","当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。","当需要使用这个package时,我们可以通过\"package:\"指令来指定包的入口文件:","当需要绘制的内容大小溢出当前空间时,将会执行paintoverflowindicator()","很多人可能会问flutter中有没有像java开发中的gson/jackson一样的json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在flutter中是禁用的。运行时反射会干扰dart的tre","很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,效果如下:","很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isrepaintboundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,renderobject也提供了一个markneedspaint()方法,其源码如下:","很明显,window正是flutt","很明显,由于flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintchild()来绘制子节点,同时将子节点parentdata中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintchild()。而如果子节点还有子节点时,paintchild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为:","很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorbrightness为brightness.dark,这是为了保证按钮文字颜色为浅色。","微信图标","必须指定的参数有两个:","快应用","快应用是华为、小米、oppo、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用javascript语言开发,原生控件渲染,与react","快应用自身不支持vue或react语法,其采用原生javascript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用vue语法开发(mpvue),从原理上来讲,vue的语法也可以移植到快应用上。","快速内存分配","忽略pointerev","怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio","怎么样,通过boxdecoration,我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在本章末尾来实现一个完整的gradientbutton。","思考题:diff操作和dom批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适?","思考题:flutter","思考题:为什么build方法的参数不定义成element对象,而要定义成buildcontext","思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?","思考题:对于maxwidth和maxheight,多重限制的策略是什么样的呢?","思考题:既然stream可以接收多次事件,那能不能用stream来实现一个订阅者模式的事件总线?","性能","性能好;flow是一个对child尺寸以及位置调整非常高效的控件,flow用转换矩阵(transform","性能高;由于自绘引擎是直接调用系统api来绘制ui,所以性能和原生控件接近。","总结","总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。","总结:","您也可以直接使用gridpaperwidget将这种网格覆盖在非material应用程序上","您也可以通过使用","您也可以通过打开xcode完全自定义storyboard。在project","您也可以通过设置debugpaintsizeenabled为true以可视方式调试布局问题。","您可以通过android","您应该在您的设备或模拟器上会看到启动的应用程序:","您想补充此文档?可以查看《flutter实战》开源项目\"贡献须知\"。","您现在可以在hello/android/src源码中import","您现在可以在hello/ios/classes源码中","您现在就可以在android上运行该应用程序。如果您使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","您的应用可以通过assetbundle对象访问其asset","您还可以调用debugdumpsemanticstree()获取语义树(呈现给系统可访问性api的树)的转储。","意为该节点的大小是否仅通过","我们一般很少会使用flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是wrap是否满足需求。flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。flow有如下优点:","我们之前介绍的http协议和websocket协议都属于应用层协议,除了它们,应用层协议还有很多如:smtp、ftp等,它们都是通过socket实现的。其实,操作系统中提供的原生网络请求api是标准的,在c语言的socket库中,它主要提供了端到端建立链接和发送数据的基础api,而高级编程语言中的socket库其实都是对操作系统的socket","我们之前已经介绍过rotatedbox,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转,二是当旋转的角度发生变化时,旋转角度更新过程没有动画。","我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在flutter中,我们使用ttf格式即可。","我们介绍一下scrollcontroller常用的属性和方法:","我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:","我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的tag常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给user添加一个person类型的","我们使用返回的结果,在setstate中来更新用户界面状态batterylevel。","我们修改一下上面用户登录的示例,在提交之前校验:","我们先定义一个redbox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:","我们先来看一下widget类的声明:","我们先看一个示例,后面再单独讨论一下behavior属性。","我们先看看basic认证的基本过程:","我们先运行此示例,效果图如下:","我们再看看renderbox默认的hittest()实现:","我们创建一个listview,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使listview恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:","我们发现onerror是fluttererror的一个静态属性,它有一个默认的处理方法","我们发现在调用renderbinding.drawframe()方法前会调用","我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时tapdown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onhorizontaldragend","我们发现,错误是通过fluttererror.reporterror方法上报的,继续跟踪:","我们可以看到element是flutt","我们可以看到pagebuild","我们可以看到wrap的很多属性在row(包括flex和column)中也有,如direction、crossaxisalignment、textdirection、verticaldirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍row的部分。读者可以认为wrap和flex(包括row和column)除了超出显示范围后wrap会折行外,其它行为基本相同。下面我们看一下wrap特有的几个属性:","我们可以看到,gridview和listview的大多数参数都是相同的,它们的含义也都相同,如有疑惑读者可以翻阅listview一节,在此不再赘述。我们唯一需要关注的是griddelegate参数,类型是slivergriddelegate,它的作用是控制gridview子widget如何排列(layout),slivergriddelegate是一个抽象类,定义了gridview","我们可以看到,在counterwidget从widget树中移除时,deactive和dispose会依次被调用。","我们可以看到,在绘制子节点时,如果child.isrepaintboundari","我们可以看到,实现hero动画只需要用hero","我们可以看到,无论是android","我们可以通过animation来监听动画的帧和状态变化:","我们可以通过controller.positions.length来确定controller被几个scrol","我们可以通过intl.plural(...)来实现:","我们可以通过localeresolutioncallback或localelistresolutioncallback回调来监听locale改变的事件,我们先看看localeresolutioncallback的回调函数签名:","我们可以通过scaffold的bottomnavigationbar属性来设置底部导航,如本节开始示例所示,我们通过material组件库提供的bottomnavigationbar和bottomnavigationbaritem两个widget来实现material风格的底部导航栏,可以看到代码非常简单,不在赘述。但是如果我们想实现如下效果的底部导航应该怎么做呢?","我们可以通过调用json.decode方法来解码json","我们在”事件处理与通知“一章中已经讲过flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。","我们在上一节“计数器”示例的基础上,做如下修改:","我们如何收取消息并显示它们?在这个例子中,我们将使用一个streambuild","我们始终可以通过以下方式来获取应用的当前区域locale:","我们定义一个person.json内容修改为:","我们实现一个最小高度为50,宽度尽可能大的红色容器。","我们实现一个获取百度首页html的例子,示例效果如下:","我们实现一个路由换肤功能:","我们实现一个页面,它包含:","我们对六个色块进行自定义流式布局:","我们将randomwordswidget","我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下:","我们将在介绍弹性布局时详细介绍expanded。","我们将执行动画的widget分离出来:","我们已经在custompaint一节中介绍过repaintboundary,现在我们深入的了解一些。与","我们已经知道localizations类中主要实现提供了本地化值,如文本:","我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。","我们必须要翻译title和remainingemailsmessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。","我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labeltext不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉textfield本身的下划线,然后通过container去嵌套定义样式,如:","我们按照之前经验,写出如下代码:","我们最终的异常捕获和上报代码如下:","我们来介绍一下scrollcontroller的另外三个方法:","我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。","我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面。","我们看一下之前“计数器”示例应用程序的inheritedwidget版本,需要说明的是,本例主要是为了演示inheritedwidget的功能特性,并不是计数器的推荐实现方式。","我们看一个简单的例子:","我们看一看运行结果:","我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:","我们看到默认的实现里调用了hittestself()和hittestchildren()两个方法,这两个方法默认实现如下:","我们看最后一行,通过addpersistentframecallback","我们看看custompaint构造函数:","我们看看edgeinsets提供的便捷方法:","我们看看gradientbutton实现:","我们看看themedata部分数据:","我们看看这些方法分别做了什么:","我们知道,在很多时候我们都需要使用这个context","我们给上例中的stack指定一个fit属性,然后将三个子widget的顺序调整一下:","我们虽然翻译了官方文档,但是对于海量的sdk文档,基本很难去全部翻译。而那时,电子工业出版社正好找到了我,希望我能写一本flutter实战类的书籍。","我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:","我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。","我们通常会直接使用boxdecoration,它是一个decoration的子类,实现了常用的装饰元素的绘制。","我们通过container来实现如下的卡片:","我们通过gesturedetector对container进行手势识别,触发相应事件后,在container上显示事件名,为了增大点击区域,将container设置为200×100,代码如下:","我们通过实现一个图片逐渐放大的示例来演示一下flutter中动画的基本结构:","我们通过纯粹的element来模拟一个statefulwidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是1","我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。","我们需要先注册路由表后,我们的flutter应用才能正确处理命名路由的跳转。注册方式很简单,我们回到之前“计数器”的示例,然后在myapp类的build方法中找到materialapp,添加routes属性,代码如下:","或","或事件处理器中调用它是最佳解决方案。","或以下命令找到模拟器:","或更新的版本","或更高版本","或者点击","截至2018年5月,该包支持24种语言。要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:","所有动画都由同一个animationcontroller驱动,无论动画实时持续多长时间,控制器的值必须介于0.0和1.0之间,而每个动画的间隔(interval)介于0.0和1.0之间。对于在间隔中设置动画的每个属性,请创建一个tween。","所有方向均使用相同数值的补白。","所有这些标志只能在调试模式下工作。通常,flutter框架中以“debug...”","所谓“平台特定”或“特定平台”,平台指的就是指flutter运行的平台,如android或ios,可以认为就是应用的原生部分。所以,平台通道正是flutter和原生之间通信的桥梁,它也是flutter插件的底层基础设施。","所谓命名路由(name","所谓线性布局,即指沿水平或垂直方向排布子widget。flutter中通过row和column来实现线性布局,类似于android中的linearlayout控件。row和column都继承自flex,我们将在弹性布局一节中详细介绍flex。","手势冲突","手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过listener直接识别原始指针事件来解决冲突。","手势竞争与冲突","手势识别","手势识别gesturedetector","手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数pointerdownevent、pointermoveevent、pointerupevent都是pointerevent的一个子类,pointerevent类中包括当前指针的一些信息,如:","才会被调用,而","打包包中的","打开","打开(或创建)","打开`lib/main.dart`文件","打开http连接,设置请求头","打开lib/main.dart文件。","打开抽屉菜单","打开插件首选项","打开终端并运行如下这些命令:","打开默认的xcode","执行intl.sh","执行上面代码,4秒后你会在控制台中看到“hello","执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。","执行效果如下,点击灰色矩形,就可以看到整个动画效果:","找到下面这一部分,并加上","技术支持;现在google正在大力推广flutter,flutter的作者中很多人都是来自chromium团队,并且github上活跃度很高。另一个角度,从今年上半年flutter频繁的版本发布也可以看出google对flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。","技术类型","抛出一个异常","抽屉菜单drawer","抽屉菜单通常将drawer作为根节点,它实现了material风格的菜单面板,mediaquery.removepadding可以移除抽drawer内的一些指定空白,读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页顶部由用户头像和昵称组成,底部是一个菜单列表,用listview实现,关于listview我们将在后面“可滚动widget”一节详细介绍。","拖入图片,并命名为launchimage.png、launchimage@2x.png、launchimage@3x.png。","拖动、滑动","持续生成","指定","指定放置项目的位置,然后按蓝色的确定按钮","指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的widget,然后从那里开始,事件会在widget树中向上冒泡,这些事件会从最内部的widget被分发到到widget根的路径上的所有widget,这和web开发中浏览器的事件冒泡机制相似,","按下时都会有“水波动画”。","按照惯例,widget的构造函数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查,另外,在继承widget时,第一个参数通常应该是key,如果接受子widget的child参数,那么通常应该将它放在参数列表的最后。同样是按照惯例,widget的属性应被声明为final,防止被意外改变。","按钮","按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以flatbutton为例,介绍一下常见的按钮属性,详细的信息可以查看api文档。","按钮宽高","排行榜前","掘金:掘金的flutter主页目前也收集了不少的博客文章,读者可以自行浏览。","接下来就可以通过","接下来我们以materialapp类为入口的应用来说明如何支持国际化。","接下来我们可以在widget中使用locale值:","接下来我们看看container的margin和padding属性的区别:","接下来我们通过路由名来打开新的路由页,修改flatbutton的onpressed回调代码,改为:","接下来,下载flutter_localizations库,然后指定materialapp的localizationsdelegates和supportedlocales:","接下来,在applic","接下来,在oncreate里创建methodchannel并设置一个methodcallhandler。确保使用与在flutter客户端使用的通道名称相同。","接下来,在oncreate里创建methodchannel并设置一个methodcallhandler。确保使用和flutter客户端中使用的通道名称相同的名称。","接下来,我们先对dart语法做一个简单的介绍,然后再将dart与javascript和java做一个简要的对比,方便读者更好的理解。","接下来,我们创建一个新路由,在新路由中,我们只显示一个counterwidget:","接下来,我们在lib目录下创建一个i10n的目录,该目录用于保存从arb文件生成的dart代码文件。","接下来,我们在widget树中移除counterwidget,将路由build方法改为:","接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包,确定其最新的版本号和是否支持flutter。","接下来,我们将通过创建三个简单示例tapboxa、tapboxb和tapboxc来说明管理状态的不同方式。","接下来,我们添加java代码,使用android电池api来获取电池电量。此代码和在原生android应用中编写的代码完全相同。","接下来,我们添加kotlin代码,使用android电池api来获取电池电量,这和原生开发是一样的。","接下来,我们添加object","接下来,我们添加swift代码,使用ios电池api来获取电池电量,这和原生开发是相同的。","接下来,我们看看_myhomepagestate中都包含哪些东西:","接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getbatterylevel。","接下来,执行整个任务流:","接下来,覆盖application方法并创建一个fluttermethodchannel绑定通道名称samples.flutter.io/battery:","接下来,让我们用android","控制台输出:","控制焦点","提供了window.onmetricschang","提供了我们需要连接到websocket服务器的工具.","提供代码分析","提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。","提示","提示语","插件包:一种专用的dart包,其中包含用dart代码编写的api,以及针对android(使用java或kotlin)和针对ios(使用oc或swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。","插件并点击","插件开发:android端api实现","插件开发:ios端api实现","插件开发:实现android端api","插件开发:实现ios端api","插件开发:平台通道简介","插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:","插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentdata正是一个预留变量,它正是由par","搭建flutter开发环境","操作系统:","操作系统绘制api的封装","支持flutter开发工作流","支持国际化","支持多种渐变色。","支持文件数组上传","收到滚动事件后获得的信息不同;notificationlistener在收到滚动事件时,通知中会携带当前滚动位置和viewport的一些信息,而scrollcontroller只能获取当前滚动位置。","效果如下:","效果:","数字;会弹出数字键盘","数据共享","文件","文件中,下面我们看看该示例的源码:","文件夹:包括包中公开的(public)代码,最少应有一个.dart文件","文件操作","文件操作与网络请求","文本、字体样式","文本及样式","文本输入键盘","文档.","文档对象模型(document","文档目录:","新添加的依赖","新路由继承自statelesswidget,界面很简单,在页面中间显示一句\"thi","方法","方法,","方法。setstate方法的作用是通知flutter框架,有状态发生了改变,flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面,","方法下方:","方法中将不会再被修改了,这种情况下","方法中订阅语言改变的事件,当用户在设置页切换语言后,我们触发语言改变事件,然后app","方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout()","方法内部生成的。每次热更新时,build方法都会被执行。","方法将textspan","方法时,会从当前","方法来移除它,移除后element.renderobject也会被从渲染树中移除,然后framework会调用element.deactiv","方法用来判断该","方法的部分实现(省略了无关代码):","方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。","方法,可以给执行对象指定一个zone。zone表示一个代码执行的环境范围,为了方便理解,读者可以将zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如zone中可以捕获日志输出、timer创建、微任务调度的行为,同时zone也可以捕获所有未处理的异常。下面我们看看runzoned(...)方法定义:","方法,它的功能是启动flutter应用,它接受一个widget参数,在本示例中它是myapp类的一个实例,该参数代表flutter应用。","方法,该方法的实现在","方法,这时element状态变为“inactive”状态。","旋转","无法连接。","无论是materialpageroute、cupertinopageroute,还是pageroutebuilder,它们都继承自pageroute类,而pageroutebuilder其实只是pageroute的一个包装,我们可以直接继承pageroute类来实现自定义路由,上面的例子可以通过如下方式实现:","无论是statelesswidget和statefulwidget的build方法都会传一个buildcontext对象:","日志:","时你会注意到有与缩放相关的参数)","时便会重新build,这时","时则不会。","时(如widget树结构发生了变化,导致element对应的widget被移除),这时该祖先element就会调用deactivatechild","时,performresize()","时,则冒泡继续。","时,才会触发重绘,这样便可以实现局部重绘。当","映射为原生控件树。","是","是dart所有对象的根基类,也就是说所有类型都是object的子类,所以任何类型的数据都可以赋值给object声明的对象,所以表现效果和dynamic相似。","是javascript与原生应用之间通信的桥梁,作用和jsbridge一样,事实上,在ios中,很多jsbridge的实现都是基于","是material库中提供的flutt","是material库中提供的页面脚手架,它包含导航栏和body以及floatingactionbutton(如果需要的话)。","是material组件库的一个widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:","是react","是一个javascript解释器,它在react","是一个widgetbuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。","是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的imageprovid","是不是有质感了!之所以会这样,是因为raisedbutton默认有配置阴影:","是使用","是否使用materialapp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个materi","是否在被点击的范围内,同时负责将被点击的","是否有设置代理。删除后问题即可解决。","是否自动获取焦点。","是应用的首页,它继承自statefulwidget类,表示它是一个有状态的widget(st","是必选的,它不支持通过其它方式创建组件,所以学习","是每次布局都会被调用的。sizedbypar","是芯片系列,如","显示效果如下:","显示效果:","更多","更多的配置属性读者可以参考paint类定义。","更改为","更新flutter应用程序启动图标的方式与在本机android或ios应用程序中更新启动图标的方式相同。","更新到了","更新启动页","更新应用在gpu上的渲染,此方法会直接调用flutt","更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。","更新环境变量","最内部renderpositionedbox再次松开约束,这次是将按钮中的文本居中。","最后","最后一步就是根据arb生成dart文件:","最后一步:添加多语言支持","最后再说一下为什么本书要开源。既然是电子工业出版社约的稿,就这么公开,难道将来就不会冲击实体书的销量?这个问题我是仔细考虑过的,很多写过书的人可能都知道,写技术书是不赚钱的,能收获的也就是一点点名气,而我吧却只喜欢钱,既然赚不到钱,那何不直接公开得了…当然还有另外一个原因就是要做实体书的话,最后和编辑校稿会花费很多时间,可是我实在是没时间了,很可能会放弃实体书出版,为了防止本书最后因不能正常出版而不能被大家看到,所以最终决定了开源。","最后,如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提pr。如果您想一起参与本书创作,可以参考《flutter实战》贡献指南。","最后,我们创建一个按钮,每点击一次,就将sharedatawidget的值自增:","最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。","最后,我们完成之前添加的onmethodcall方法。我们需要处理平台方法名为getbatterylevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getbatterylevel。","最后,我们完成之前添加的setmethodcallhandler方法。我们需要处理的平台方法名为getbatterylevel,所以我们在call参数中需要先判断是否为getbatterylevel。","最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。","最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。","最终效果如下:","最终显示效果是宽90,高60,也就是说是子constrainedbox的minwidth生效,而minheight是父constrainedbox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:","最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minwidth生效的是父constrainedbox,而minheight是子constrainedbox生效。","有renderobject","有一个animation参数,这是flutter路由管理器提供的,在路由切换时pagebuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。","有一个debugshowmaterialgrid参数,","有一个onpressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。","有一个底部导航","有一个抽屉菜单","有两点需要说明:","有了上面的设置,源码生成器将生成用于序列化name和email字段的json代码。","有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入flutter的世界!","有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在x轴上平移一段距离。这时我们就需要使用交错动画(stagger","有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用future的whencomplete回调,我们将上面示例改一下:","有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到ui界面上,应该怎么做?答案是future.wait,它接受一个future数组参数,只有数组中所有future都执行成功后,才会触发then的成功回调,只要有一个future执行失败,就会触发错误回调。下面,我们通过模拟future.delay","有关key和widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为widget显式添加key的话可能(但不一定)会使ui在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,我们只在构建列表项ui时会显式指定key。","有关上述步骤的详细信息,请参阅","有各种各样的工具和功能来帮助调试flutter应用程序。","有异常时则弹出错误提示","有很多状态,而每次状态改变都要调用build方法,由于状态是保存在state中的,如果将build方法放在statefulwidget中,那么构建时读取状态将会很不方便,试想一下,如果真的将build方法放在statefulwidget中的话,由于构建用户界面过程需要依赖state,所以build方法将必须加一个state参数,大概是下面这样:","有时代理服务器也启用了身份验证,这和http协议的认证是相似的,httpclient提供了对应的proxy认证方法和属性:","服务器会返回一个401","服务器验证用户凭据,如果通过就返回资源内容。","未读邮件数","本书后面事件处理一章中会实现一个全局事件总线。","本书后面示例中,路由默认都是通过scaffold创建。","本地化值由localizations的","本地化的代理类","本文档尚未完成,您可以:","本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改materialapp的theme属性。","本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:","本章将通过一些简单的示例来一步步介绍flutter的开发流程.","本章总结","本章目录","本篇主要介绍一下","本节主要介绍了listview的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过listview.custom来自定义,它需要实现一个sliverchilddelegate用来给listview生成列表项widget,更多详情请参考api文档。","本节主要介绍了一下flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对flutter细节的了解,再回过头来看,相信你会有更深的体会。","本节介绍一下flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像api文档一样所有属性都介绍,关于属性详细的信息请参考flutt","本节介绍了flutter","本节介绍了引用、下载、使用一个包的整体流程,并在后面介绍了多种不同的引入方式,这些是flutter开发中常用的,但dart的dependencies还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/depend","本节先来介绍一下原始指针事件(pointer","本节我们介绍了renderobject主要的功能和方法,理解这些内容可以帮助我们更好的理解flutt","本节我们先对flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下flutter官方提供的一张框架图:","本节我们实现一个圆形渐变进度条,它支持:","本节我们将实现一个turnbox,它可以以任意角度来旋转其子节点,并且在角度发生变化时可以执行一个动画过渡到新状态,同时,我们可以手动指定动画速度。","本节我们接着上一节\"获取电池电量\"插件的示例,来完成android端api的实现。以下步骤是使用java的示例,如果您更喜欢kotlin,可以直接跳到后面kotlin部分。","本节我们接着之前\"获取电池电量\"插件的示例,来完成ios端api的实现。以下步骤使用object","本节我们通过一个简单的示例说明了flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在demolocalizations类中获取title时手动的判断当前语言locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过dart","本节给大家一些学习建议,分享一下笔者在学习flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。","本节详细的介绍了element的生命周期,以及它与widget、buildcontext的关系,也介绍了element在flutt","来保存子节的keepalive状态。","来创建:","来定位他们相对于stack的上下左右四条边的位置。stacks是基于web开发中的绝对定位(absolut","来实现,该方法可以根据json字符串具体内容将其转为list或map,这样我们就可以通过他们来查找所需的值,如:","来执行","来更新ui这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。animatedwidget类封装了调用setstate()的细节,并允许我们将widget分离出来,重构后的代码如下:","来标记element为dirty的。在","来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下:","来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如:","来获取widget树中默认的focusscopenode。下面看一个示例,在此示例中创建两个textfield,第一个自动获取焦点,然后创建两个按钮:","来获取。并且我们也说过renderobject的主要职责是layout和绘制,所有的renderobject会组成一棵渲染树rend","来获取临时目录;","来获取当前buildcontext的assetbundle。","来赋值的,parent通常会通过子renderobject的parentdata存储一些和子元素相关的数据,如在stack布局中,renderstack就会将子元素的偏移数据存储在子元素的parentdata中(具体可以查看positioned实现)。","构建ui界面","构建ui界面的逻辑在build方法中,当myhomepage第一次创建时,_myhomepagestate类会被创建,当初始化完成后,flutter框架会调用widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_myhomepagestate的build方法中都干了什么事:","构建过程支持asset变体的概念:不同版本的asset可能会显示在不同的上下文中。","构建错误信息","构造函数","构造函数,","构造函数的各个参数的意义:","构造函数:","枚举值","查找,一直向上查找到是","查看“output”窗口中的输出是否有问题","标志,","标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解widget的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用widget时能够兼容或报错提示(使用assert断言函数)。","树中使用的一些类也具有tostringdeep,从该点返回整个子树的多行描述。已一些具有详细信息tostring的类会实现一个tostringshort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。","校验用户名","根widget","根据animation对象的控制方式,动画可以反向运行,甚至可以在中间切换方向。animation还可以生成除double之外的其他类型值,如:animation\\","根据你电脑屏幕大小,模拟高清屏ios设备可能会溢出屏幕。可以在模拟器的","根部的变换是应用设备像素比的变换;","框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,flutter就会自动弹出一个错误界面,这是因为flutter已经在执行build方法时添加了异常捕获,最终的源码如下:","框架代表","框架和flutter","检查renderobject是否需要重绘,然后更新renderobject.needscompositing属性,如果该属性值被标记为true则需要重绘。","概念","模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。","次'),","正如debugdumpapp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从fram","正如上文所述,","此代码只能暂时针对当前命令行窗口设置path环境变量,要想永久将flutter添加到path中请参考下面更新环境变量","此例中column包含两个","此处需要有一张插图","此外,可以使用专门的binarycodec、stringcodec和","此方法会直接调用flutter","此示例只展示了textstyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅sdk文档。值得注意的是:","此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。","此类的实例由materialapp类提供的localizationdelegate创建,","此行代码作用是导入了materi","此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china","步骤","步骤有两步:","每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是assets)。","每个person都有nam","每个委托必须定义一个异步load()","每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugprintstack()方法按需打印堆栈痕迹。","每次滚动结束,scrollabl","每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。","每点击一次按钮,计数器就会自增,控制台就会打印一句日志:","没有自己的layer,","注:","注册我们的deleg","注册路由表","注册,注意,不要在此类回调中再触发新的frame,这可以会导致循环刷新。","注意","注意:","注意animate()返回的是一个animation,而不是一个animatable。","注意,assetimag","注意,dart","注意,flutter中的很多widget是直接继承自statelesswidget或statefulwidget,然后在build()方法中构建真正的renderobjectwidget,如text,它其实是继承自statelesswidget,然后在build()方法中通过richtext来构建其子树,而richtext才是继承自leafrenderobjectwidget。所以为了方便叙述,我们也可以直接说text属于leafrenderobjectwidget(其它widget也可以这么描述),这才是本质。读到这里我们也会发现,其实statelesswidget和statefulwidget就是两个用于组合widget的基类,它们本身并不关联最终的渲染对象(renderobjectwidget)。","注意,flutter官方并没有对widget进行官方分类,我们对其分类主要是为了方便讨论和对widget功能的区分记忆。","注意,flutter的渠道版本会不停变动,请以flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去flutt","注意,http的方式除了basic认证之外还有:digest认证、client认证、form","注意,materi","注意,onhttpclientcreate会在当前dio实例内部需要创建httpclient时调用,所以通过此回调配置httpclient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。","注意,代码中的有renderview和renderviewelement两个变量,renderview是一个renderobject,它是渲染树的根,而renderviewelement是renderview对应的element对象,可见该方法主要完成了","注意,登录按钮的onpressed方法中不能通过form.of(context)来获取,原因是,此处的context为formtestroute的context,而form.of(context)是根据所指定context向根去查找,而formstate是在formtestroute的子树中,所以不行。正确的做法是通过builder来构建登录按钮,builder会将widget节点的context作为回调参数:","注意,虽然dart是先调用了opengl,opengl才会调用操作系统api,但是这仍然是原生渲染,因为opengl只是操作系统api的一个封装库,它并不像webview渲染那样需要javascript运行环境和css渲染器,所以不会有性能损失。","注意,虽然flutter的dart运行时和dart","注意,通过settrustedcertificates()设置的证书格式必须为pem或pkcs12,如果证书格式为pkcs12,则需将证书密码传入,这样则会在代码中暴露证书密码,所以客户端证书校验不建议使用pkcs12格式的证书。","注意,默认demo示例可能随着编辑器flutter插件版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。","注意:","注意:dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new","注意:http协议中虽然可以通过keep","注意:一个路由中包含多个scrollabl","注意:上面这些参数并非listview特有,在本章后面介绍的其它可滚动widget也可能会拥有这些参数,它们的含义是相同的。","注意:代码中注释的部分是不能正常工作的,因为这个context是根context,而notificationlistener是监听的子树,所以我们通过builder来构建raisedbutton,来获得按钮位置的context。","注意:使用gesturerecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。","注意:包在使用本身的资源时也应该加上package参数来获取。","注意:可滚动widget通过一个list来作为其children属性时,只适用于子widget较少的情况,这是一个通用规律,并非listview自己的特性,像gridview也是如此。","注意:在继承statefulwidget重写其方法时,对于包含@mustcallsuper标注的父类方法,都要在子类方法中先调用父类方法。","注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于","注意:由于本书并非专门介绍dart语言的书籍,所以本章主要会介绍一下在flutter开发中常用的语法特性,如果想更多了解dart,读者可以去dart官网学习,现在互联网上dart相关资料已经很多了。另外dart","注意:要使用math.pi需先进行如下导包。","注释1的\"messages_all.dart\"文件是通过intl_translation工具从arb文件生成的代码,所以在第一次运行生成命令之前,此文件不存在。注释2处的initializemessages()方法和\"messages_all.dart\"文件一样,是同时生成的。","注释3处和上一节示例代码不同,这里我们直接调用demolocalizations.load()即可。","流式布局","流式布局wrap、flow","测试代码运行后效果如下图:","混合应用的优点是动态内容是h5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。","混合开发技术点","混合管理","混合管理(父widget和子widget都管理状态)。","添加","添加flutter相关工具到path中:","添加以下路径:","添加到","添加到\"计数器\"示例的首页myhomepag","添加到text中,之所以可以这样做,是因为text其实就是richtext的一个包装,而richtext是可以显示多种样式(富文本)的widget。","添加后,执行flutter","添加回调。","添加固定表头","渐变色数组","渐变色的终止点,对应colors属性","渲染","渲染和绘制逻辑在renderbind","渲染层","渲染时需要javascript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。","源码及注释:源码注释应作为学习flutter的第一文档,flutt","源码可以看出只有","源码很简单,该方法主要任务是更新了所有被标记为“dirty”的renderobject的布局信息。主要的动作发生在node._layoutwithoutresize()方法中,该方法中会调用performlayout()进行重新布局。","源码:","滚动位置恢复","滚动监听","滚动监听及控制","滚动监听及控制scrollcontrol","灵活、组件库易维护、ui外观保真度和一致性高;由于ui渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。","灵活;由于我们需要自己实现flowdelegate的paintchildren()方法,所以我们需要自己计算每一个widget的位置,因此,可以自定义布局策略。","点击","点击container时,由于它在absorbpointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但absorbpointer本身是可以接收指针事件的,所以会输出\"up\"。如果将absorbpointer换成ignorepointer,那么两个都不会输出。","点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下:","点击、双击、长按","点击下面的\"赏\"按钮,请作者喝杯咖啡,鼓励继续创作~~","点击或指针事件回调","点击按钮则按钮文本会随机排序。","点击第一个按钮可以将焦点从第一个textfield挪到第二个textfield。","点击第二个按钮可以关闭键盘。","热重载应用,再次点击“open","热重载按钮","热重载(hot","焦点可以通过focusnode和focusscopenode来控制,默认情况下,焦点由focusscope来管理,它代表焦点控制范围,可以在这个范围内可以通过focusscopenode在输入框之间移动焦点、设置默认焦点等。我们可以通过focusscope.of(context)","然后pubspec.yaml文件中只需包含:","然后加载图像,使用:","然后将该对象用作其子对象。最终的结果是animatedbuilder返回的对象插入到widget树中。","然后我们可以通过如下方式使用它:","然后我们实现一个子widget","然后我们点击⚡️按钮热重载,控制台输出日志如下:","然后打开你应用程序的observatori","然后按回车键","然后授予执行权限:","然后暴露给webview以供javascript调用,这样一来,webview就成为了javascript与原生api之间通信的桥梁,主要负责javascript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于webview的用于在javascript与原生之间通信并实现了某种消息传输协议的工具称之为webview","然后点击","然后热重载,日志如下:","然后设置输入框controller:","然后访问","然后调用","然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;","然后选择","然后选择里面的","然后,将下面的新方法添加到activity类中的,位于oncr","然后,应用程序可以声明一个字体,如下面的示例所示:","然后,转到ios设备上的设置菜单,选择","父widget管理子widget状态。","父widget管理子widget的st","父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是","版本。","版本号可能随着时间推移会发生变化,读者可以使用最新版。","特定平台","特殊情况","状态。","状态管理","状态访问不便","环境变量设置为相应的sdk安装目录。","现在可以在hello中import","现在可以在ios上运行应用程序,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在可以在ios上运行该应用程序了,如果使用的是ios模拟器,请注意,它不支持电池api,因此应用程序将显示“电池信息不可用”。","现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,我们将在后面“动画”一章中实现一个完整的缩放widget。","现在就可以在android上运行该应用程序了,如果使用的是android模拟器,则可以通过工具栏中的\"...\"按钮访问extend","现在就可以将customhome添加到widget树了,我们在一个新路由页创建它,最终效果如下:","现在我们可以在demolocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同:","现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名:","现在我们就完成了路由表的注册。","现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。","现在我们按住圆形“a”拖动然后抬起手指,控制台日志如下:","现在我们来介绍一下dart线程运行过程,如上图中所示,入口函数","现在我们看看flutter为什么选择dart语言?笔者根据官方解释以及自己对flutter的理解总结了以下几条(由于其它跨平台框架都将javascript作为其开发语言,所以主要将dart和javascript做一个对比):","现在画布有了,我们最后还缺一个画笔,flutter提供了paint类来实现画笔。在paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:","现在请读者自行查看handlebeginframe()","现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user.","现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列api供javascript调用,让javascript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。","现在,我们回答之前提出的问题,为什么build()方法在state(而不是statefulwidget)中","现在,我们将整个流程串起来:当右下角的floatingactionbutton按钮被点击之后,会调用_incrementcounter,在_incrementcounter中,首先会自增_counter计数器(状态),然后setstate会通知flutter框架状态发生变化,接着,flutter会调用build方法以新的状态重新构建ui,最终显示在设备屏幕上。","现在,我们来和qt","现在,我们重点来介绍一下behavior属性,它决定子widget如何响应命中测试,它的值类型为hittestbehavior,这是一个枚举类,有三个枚举值:","现在,无论是点击导航栏tab菜单还是在页面上左右滑动,tab页面都会切换,并且tab菜单的状态和tab页面始终保持同步。下面我们来看看代码,细心的读者可以发现,tabbar和tabbarview的controller是同一个!正是如此,tabbar和tabbarview正是通过同一个controller来实现菜单切换和滑动状态同步的。","理解state的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下state的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承statefulwidget,代码如下:","理论上可以使用任何文本编辑器与命令行工具来构建flutter应用程序。","生态系统得以快速增长,由此可见,flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!","生态;从github上来看,目前flutter活跃用户正在高速增长。从stackoverflow上提问来看,flutter社区现在已经很庞大。flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在stackoverflow或其github","生成文档","生成随机字符串","用android","用animatedbuilder重构","用animatedwidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在animatedwidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个animatedwidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而animatedbuilder正是将渲染逻辑分离出来,","用于从一个map构造出一个","用于创建和state","用于绑定平台消息通道(messag","用户名不能为空,如果为空则提示“用户名不能为空”。","用户手指按下:offset(26.3,","用途","由于android","由于dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,javascript是一个弱类型语言,也因此前端社区出现了很多给javascript代码添加静态类型检测的扩展语言和工具,如:微软的typescript以及facebook的flow。相比之下,dart本身就支持静态类型,这是它的一个重要优势。","由于flutter会同时构建android和ios两个平台的发布包,所以flutter同时依赖android","由于globalkey要保持全局唯一性,我们使用静态变量存储","由于json.decode()仅返回一个map,这意味着直到运行时我们才知道值的类型。","由于rn和react原理相通,并且flutter也是受react启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下react原理。react是一个响应式的web框架,我们先了解一下两个重要的概念:dom树与响应式编程。","由于rotatedbox是作用于layout阶段,所以widget会旋转90度(而不只是绘制的内容),decoration会作用到widget所占用的实际空间上,所以就是上图的效果。读者可以和前面transform.rotate示例对比理解。","由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,listview会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。","由于在国内访问flutter有时可能会受到限制,flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:","由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:","由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的api供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的api是比较复杂和低效的,因为操作系统提供的api往往比较基础,直接调用需要了解api的很多细节。正是因为这个原因,几乎所有用于开发gui程序的编程语言都会在操作系统之上再封装一层,将操作系统原生api封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发gui应用程序,而这一层抽象,正是我们所说的“ui”系统,如android","由于本身功能较多,这里我们只介绍其常用的api及特性。还有,请记住,futur","由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生ui系统限制,例如,在android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。","由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在ui需要变化时,可以直接通过矩阵变化来达到视觉上的ui改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的flow","由于第一个text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字有重合部分。","由于第一个子widget","画图像","画圆","画圆弧","画椭圆","画点","画矩形","画笔paint","画线","画路径","界面如下:","登录按钮","的","的column的子widget中。","的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的","的全路径作为它的值.","的大小了,于是","的大小,那么","的布局状态标记为","的必要基础。而react","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用”","的所有api的返回值仍然是一个future对象,所以可以很方便的进行链式调用。","的报错信息,请检查","的概念:","的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。","的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。","的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个ui系统:可以使用同一种编程语言开发,然后针对不同操作系统api抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而flutter的原理正是如此,它提供了一套dart","监听文本变化","监听文本变化也有两种方式:","监听来自服务器的消息","监听来自服务器的消息。","监听滚动通知","监听焦点变化","监听焦点状态改变事件","监听系统语言切换","目前android","目前混合开发框架的典型代表有:cordova、ion","目前,flutter中文官网日pv在5w左右,每日独立访问人数8000多。","目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为aot","目录","直接使用语句级单步调试器连接到您的应用程序。如果您使用的是intellij,则还可以使用其内置的调试器来调试您的应用程序。","相似,repaintboundary是用于在确定重绘边界的,与","相反,flutter使用自己的高性能渲染引擎来绘制widget。这样不仅可以保证在android和ios上ui的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。","相同,故不再赘述。","相对于混合应用,由于react","省略无关代码","看一个例子:","看似不起眼,实则举足轻重。由于有dart团队的积极投入,flutter团队可以获得更多、更方便的支持,正如flutter官网所述“我们正与dart社区进行密切合作,以改进dart在flutter中的使用。例如,当我们最初采用dart时,该语言并没有提供生成原生二进制文件的工具链(这对于实现可预测的高性能具有很大的帮助),但是现在它实现了,因为dart团队专门为flutter构建了它。同样,dart","看完element的生命周期,可能有些读者会有疑问,开发者会直接操作element树吗?其实对于开发者来说,大多数情况下只需要关注widget树就行,flutter框架已经将对widget树的操作映射到了element树上,这可以极大的降低复杂度,提高开发效率。但是了解element对理解整个flutt","真正的绘制逻辑","矢量的:iconfont都是矢量图标,放大不会影响其清晰度。","硬件加速.","硬件绘图基本原理","确保xcode许可协议是通过打开一次xcode或通过命令sudo","确保xcode项目的构建没有错误。","确保与在flutter客户端使用的通道名称相同。","确定您flutter","磁盘空间:","示例","示例中的spacer的功能是占用指定比例的空间,实际上它只是expanded的一个包装:","示例:","示例:javascript调用原生api获取手机型号","示例:五子棋/盘","示例:登录输入框","示例:自定义渐变按钮","社区","禁用时的阴影","移动开发技术简介","空白(如没有任何子节点的container)以灰色显示。","竞争","第一个flutter应用","第一次运行flutter命令(如flutt","第一步:创建dart包","第一步:创建必要目录","第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:","第一:qt移动开发社区太小,学习资料不足,生态不好。","第三部:添加需要国际化的属性","第三:移动端发力较晚,市场已被其它动态化框架占领(hybrid和rn)。","第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下flutter中重要的notification机制。","第二步:实现localizations和delegate类","第二:官方推广不利,支持不够。","第五步:生成dart代码","第四步:生成arb文件","第四:在移动开发中,c++开发和web开发栈相比有着先天的劣势,直接结果就是qt开发效率太低。","等回调。它flutter","等回调。它是渲染树与flutter","等待android","等待连接服务器","等待项目创建继续,并显示main.dart文件","答案就在paintchild()源码中:","简介","简化代码,并非源码","简单概括就是:组合和响应式。我们要开发一个ui界面,需要通过组合其它widget来实现,flutter中,一切都是widget,当ui要发生变化时,我们不去直接修改dom,而是通过更新状态,让flutt","简称","管理_activ","管理_active状态.","管理_highlight","管理tapboxa的状态。","管理对象表的原因。","管理状态.","管理自身状态.","类:","类不同,","类中已经有了一个build方法,正如上面所述,此时build方法需要接收一个state对象,这就意味着animatedwidget必须将自己的state对象(记为_animatedwidgetstate)提供给其子类,因为子类需要在其build方法中调用父类的build方法,代码可能如下:","类中有三个framecallback回调队列,","类似于javascript中的var,它可以接收任何类型的变量,但最大的不同是dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如:","类似于原生开发,flutter也可以为当前设备加载适合其分辨率的图像。","类型,","类型一旦确定后则不能再更改其类型。","类型安全","类类定义了许多常用的曲线,也可以创建自己的,例如:","精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。","系统可随时清除的临时目录(缓存)。在ios上,这对应于nstemporarydirectory()","系统字体缩放变化回调","系统能力调用","系统要求","约束条件为","纵轴(垂直)方向间距","线性布局row、column","线性布局row和column","组件库提供的本地化的字符串和其他值,它可以使materi","组件库的本地化字符串由materiallocalizations类定义,","组件的简单演示应用程序。","组合其它widget","组合是自定义组件最简单的方法,在任何需要自定义的场景下,都应该优先考虑是否能够通过组合来实现。而自绘和通过实现renderobject的方法本质上是一样的,都需要开发者调用canva","细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的flatbutton换成raisedbutton就行,其它代码不用改,换了之后我们看看效果:","细心的读者可能已经发现上面示例中通过addlistener()和setstate()","绘制","绘制前回调,一般会受显示器的垂直同步信号vsync驱动,当屏幕刷新时就会被调用","绘制回调","绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个widget,并设置其shouldrepaint回调值为false,然后将棋盘widget作为背景。然后将棋子的绘制放到另一个widget中,这样落子时只需要绘制棋子。","绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:","绘制的很频繁或很复杂时,可以通过repaintboundari","绘制过程","给子节点创建一个layer","给每一个动画对象指定间隔(interval)","给目标statefulwidget添加globalkey","继承statefulwidget不便","继承statelesswidget类,因为所有状态都由其父widget处理。","综上所述,可以发现,对于statefulwidget,将build方法放在state中,可以给开发带来很大的灵活性。","综上所述,我们可以看到当路由需要参数时,使用命名路由则不够灵活。","综上所述,我们的证书校验其实就是提供一个badcertificatecallback回调,下面通过一个示例来说明。","综上所述,笔者还是很看好dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。","缘起","缩放","缺少依赖库问题","缺点:","网络操作","美国英语","而boxconstraints.tightfor(width:","而package中主要的功能的源码都在src目录下。shelf","而rn中将虚拟dom映射为原生控件的过程中分两步:","而在dart中几乎是完全平移了javascript中的这两者:future相当于promise,而async/await连名字都没改。接下来我们看看通过future和async/await如何消除上面示例中的嵌套问题。","而实际上constrainedbox和sizedbox都是通过renderconstrainedbox来渲染的,我们可以看到constrainedbox和sizedbox的createrenderobject()方法都返回的是一个renderconstrainedbox对象:","而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对dom进行操作,这会带来性能问题,而批量操作只会触发一次dom更新。","背景画笔,会显示在子节点后面;","背景色","背景装饰","脚本我们通过dart来写,源码如下:","自今年我们在github建立官方账号以来,前后开源了cookiejar、dio、flukit等多个项目,而dio在开源两周后,就迅速成为flutter第三方包中star排名第一的开源库。","自动化生成模板","自动生成model","自定义widget","自定义widget方法简介","自定义平台通道和编解码器","自定义按钮外观","自定义样式","自定义路由切换动画","自定义路由过渡动画","自定义通知","自绘","自绘ui+原生","自绘ui+原生(qt","自绘控件非常强大,理论上可以实现任何2d图形外观,实际上flutter提供的所有widget最终都是调用canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的widget的源码,找到其对应的renderobject对象,如text","至此真相大白,buildcontext就是widget对应的element,所以我们可以通过context在statelesswidget和statefulwidget的build方法中直接访问element对象。我们获取主题数据的代码theme.of(context)内部正是调用了element的inheritfromwidgetofexacttype()方法。","至此,react","至此,我们将使用intl包对app进行国际化的流程介绍完了,我们可以发现,其中第一步和第二步只在第一次需要,而我们开发时的主要的工作都是在第三步。由于最后两步在第三步完成后每次也都需要,所以我们可以将最后两步放在一个shell脚本里,当我们完成第三步或完成arb文件翻译后只需要分别执行该脚本即可。我们在根目录下创建一个intl.sh的脚本,内容为:","至此,我们已经介绍了flutter","至此,我们的脚本写好了,我们在根目录下新建一个json目录,然后把user.json移进去,然后在lib目录下创建一个models目录,用于保存最终生成的model类。现在我们只需要一句命令即可生成model类了:","获取flutter","获取formstate后,","获取一下,","获取应用目录","获取当前区域local","获取的locale就会更新。","获取的locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,这时我们就需要监听locale改变事件。","获取输入内容","获取输入内容有两种方式:","获取项目所有依赖包的最新版本。","获得焦点时focusnode.hasfocus值为true,失去焦点时为false。","菜单下设置设备比例。","菜单中的设置,确保模拟器正在使用64位设备(iphon","菜单图标","菜单文本","虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应考虑优先使用pageroutebuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候pageroutebuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承pageroute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isactive属性是否为true,代码如下:","虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。","虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果:","虽然这非常方便,但如果我们不需要每次在model类中进行更改时都要手动运行构建命令的话会更好。","衡量应用启动时间","表单form","装饰容器decoratedbox","要为ios开发flutter应用程序,您需要xcod","要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugprintmarkneedslayoutstacks和","要使用package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建textstyle的过程如下:","要使用tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。","要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或semanticsdebugg","要关闭调试模式并使用发布模式,请使用flutter","要准备在android模拟器上运行并测试flutter应用,请按照以下步骤操作:","要准备在android设备上运行并测试flutter应用,需要android","要准备在ios模拟器上运行并测试flutter应用,请按以下步骤操作:","要创建交错动画,需要使用多个动画对象","要加载依赖包中的图像,必须给assetimage提供package参数。","要加载图片,可以使用","要包含json_serializable到我们的项目中,我们需要一个常规和两个开发依赖项。简而言之,开发依赖项是不包含在我们的应用程序源代码中的依赖项,它是开发过程中的一些辅助工具、脚本,和node中的开发依赖项相似。","要包含第一张图像,必须在pubspec.yaml的assets部分中声明它:","要升级flutter","要安装并运行flutter,您的开发环境必须满足以下最低要求:","要将flutter应用安装到ios真机设备,需要一些额外的工具和一个apple帐户,还需要在xcode中进行一些设置。","要将启动屏幕(splash","要将图片添加到启动屏幕(splash","要将字体打文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如:","要序列化一个user,我们只是将该user对象传递给该json.encode方法。我们不需要手动调用tojson这个方法,因为`json.encode内部会自动调用。","要开始您的第一个ios开发项目,您可能需要使用您的appl","要想使用命名路由,我们必须先提供并注册一个路由表(rout","要执行自定义性能跟踪和测量dart任意代码段的wall/cpu时间(类似于在android上使用systrace)。","要找出相对于帧的开始/结束事件发生的位置,可以切换debugprintbeginframebanner和debugprintendframebanner布尔值以将帧的开始和结束打印到控制台。","要收集有关flutter应用程序启动所需时间的详细信息,可以在运行flutt","要查更改,请调用","要查看您的更改,请调用","要检索由localizationsdeleg","要获得应用程序性能图,请将materialapp构造函数的showperformanceoverlay参数设置为true。","要调用debugdumprendertree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。","要转储widgets库的状态,请调用debugdumpapp()。","要通过路由名称来打开新路由,可以使用:","观其发展,在2018年5月份,flutter","解决依赖冲突","解决方法如下:","解压安装包到你想安装的目录,如:","解释:第一个row很简单,默认为居中对齐;第二个row,由于mainaxissize值为mainaxissize.min,row的宽度等于两个text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个row设置textdirection值为textdirection.rtl,所以子widget会从右向左的顺序排列,而此时mainaxisalignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个row测试的是纵轴的对齐方式,由于两个子text字体不一样,所以其高度也不同,我们指定了verticaldirection值为verticaldirection.up,即从低向顶排列,而此时crossaxisalignment值为crossaxisalignment.start表示底对齐。","计数器应用示例","计数器示例","让app支持多语言","让您的应用继续运行.","让您的应用继续运行。","让我们看看如何将我们的user类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化json","讲到这里,读者可能发现flutter","设为新的,由此可以看出","设置app图标","设置controller:","设置onchange回调,如:","设置其孩子的约束为:boxconstraints(0.0flatbutton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是materi","设置它的最简单方法是在void","设置状态的自增函数。","设置给了子树column节点处,这样一来column的所有子孙text默认都会继承该样式,除非text显示指定不继承样式,如代码中注释2。示例运行效果如下:","设置默认值,并从第三个字符开始选中后面的字符","设计规范中有些是不能自定义的,如导航栏高度,themedata只包含了可自定义部分。","证书校验","试想一下,如果我们的state","该package提供了一个websocketchannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。","该streambuild","该stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与future返回单个异步响应不同,stream类可以随着时间推移传递很多事件。","该widget在应用程序的根部创建了一些有用的widget,比如一个theme,它配置了应用的主题。","该函数是该tostring方法用来填充小部件描述信息的。","该命令会同时更新flutter","该命令检查你的环境并在命令行窗口中显示报告。dart","该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。","该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为:","该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为:","该应用的state类拥有当前的应用状态。我们需要延长这一点以保持当前的电量","该方法用于添加用户凭据,如:","该方法直接调用了renderbinding的drawframe()方法:","该方法负责创建根","该方法进行了最终的绘制,可以看出它不是重绘了所有","该标志用橙色或轮廓线标出每个层的边界,或者使用debugrepaintrainbowenabled标志,","该计数器示例中,每点击一次右下角带“➕”号的悬浮按钮,屏幕中央的数字就会加1。","该调用可能失败(平台不支持平台api,例如在模拟器中运行时),所以我们将invokemethod调用包装在tri","详细的文档语法请参考dartdoc","语义","语义化","语义化即semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解ui内容。如果一个renderobject要支持语义化接口,可以实现","语法中很多地方也都借鉴了java和javascript。","语法是基于","语法而创造。与","请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。","请求","请求:","请求结束,关闭httpclient","请确保运行flutter","请阅读下面代码,想象一下运行的结果:","读取响应内容","读取点击次数(以字符串)","读者可以运行示例看看效果。","读者应该将这两点牢记在心中。","调度","调度frame,该方法执行后,onbeginframe和ondrawframe将紧接着会在合适时机被调用,","调用","调用android","调用validate()方法校验用户名密码是否合法,校验","调用widget.createel","调用函数时,可以使用指定命名参数。例如:paramname:","调用系统api渲染","调试flutter","调试flutter应用","调试动画","调试动画最简单的方法是减慢它们的速度。为此,请将timedilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。","调试应用程序层","调试性能问题","调试模式断言","资源","资源管理","起步","跟踪dart代码性能","跟踪的分支,要切换分支,可以使用flutter","跟踪输出保存为start_up_info.json,在flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:","跨平台技术简介","跨平台自绘引擎","路径可以是相对的,也可以是绝对的。","路由(route)在移动开发中通常指页面(page),这跟web开发中单页应用的route概念意义是相同的,route在android中通常指一个activity,在ios中指一个viewcontroller。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是android还是ios,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。","路由a","路由b:","路由管理","路由表","转到","输入","输入框内编辑文本在水平方向的对齐方式。","输入框及表单","输入框和表单","输入项目名称","运行","运行上面两个示例,图片加载成功后显示如下:","运行代码生成程序","运行后效果如下:","运行后点击右下角悬浮按钮则可以切换主题:","运行后界面如下:","运行后,一切都将自动执行,现在好多了,不是吗?","运行后,就可以在任意方向拖动了:","运行后:","运行启动你应用程序","运行应用程序","运行效果如下(彩色):","运行效果如下:","运行效果:","运行此命令后,会将我们之前通过intl","运行结果:","运行:","返回值是一个locale,此locale为flutt","返回的值。在android上,这是getcachedir())返回的值。","还有一个问题,通过repaintboundari","还有很多其它方法,如navigator.replace、navigator.popuntil等,详情请参考api文档或sdk源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。","这一步可以使用任意http","这一步和windows下步骤一致,不再赘述。","这一步完成后,请求信息就已经发送给服务器了,返回一个httpclientresponse对象,它包含响应头(header)和响应流(响应体的stream),接下来就可以通过读取响应流来获取响应内容。","这一类问题是由于无法连接到","这与在flutter应用程序或任何其他dart项目中引用软件包没有什么不同。","这个key属性类似于react/vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canupdate()方法中。","这个平台方法的实现只需调用我们在前一步中编写的android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的api,我们也会通知返回:","这个平台方法的实现只需调用我们在前一步中编写的ios代码,并使用result参数返回成功或错误的响应。如果调用了未定义的api,我们也会通知返回:","这个应用程序:","这个想法听起来不错,书最大的好处就是可以系统性的介绍一门新技术,但由于我平时工作太忙,周末时间已经有很多花费在维护中文网和开源项目上了,所以此事不得不推迟,而直到今天,你现在看到的,也仍然不是完整的内容,目录灰色的部分都还没有写,那什么时候能写完?","这个方法中有一个scene对象,scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将canvas画好的scene传给window.render()方法,该方法会直接将scene信息发送给flutt","这个是默认的locale资源文件,如果我们现在要支持中文简体,只需要在该文件同级目录创建一个\"intl_zh_cn.arb\"文件,然后将\"intl_messages.arb\"的内容拷贝到\"intl_zh_cn.arb\"文件,接下来将英文翻译为中文即可,翻译后的\"intl_zh_cn.arb\"文件内容如下:","这个特殊的localizations.of()表达式会经常使用,所以materiallocalizations类提供了一个便捷方法:","这也关闭了observatory调试器。一个中间模式可以关闭除observatory之外所有调试辅助工具的,称为“profil","这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入","这些例子功能是相似的","这些具有弹性空间的布局类widget可让您在水平(row)和垂直(column)方向上创建灵活的布局。其设计是基于web开发中的flexbox布局模型。","这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像","这些实现类分别称为defaultmateriallocalizations和defaultwidgetslocalizations。flutter_loc","这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件:","这些错误是完全正常的,这是因为model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法:","这会将依赖包安装到您的项目。您可以在控制台中看到以下内容:","这句命令在首次运行时会在\"lib/i10n\"目录下生成多个文件,对应多种locale,这些代码便是最终要使用的dart代码。","这可以帮助您确定某个对象是否以某种不正确的方式进行hit测试(flutter检测点击的位置是否有能响应用户操作的widget),例如,如果它实际上超出了其父项的范围,首先不会考虑通过hit测试。","这将在hello/文件夹下创建一个具有以下专用内容的package工程:","这将显示两个图表。第一个是gpu线程花费的时间,最后一个是cpu线程花费的时间。","这就是为什么如果你看转储,你会看到特定的对象标记为“dirty”。您还可以查看已注册了哪些手势监听器;","这就是为什么要用local","这应该始终在发布模式(releas","这意味着如果您不在应用程序的main()方法中调用runapp","这时,我们只需要简单修改一下json,添加一些特殊标志,重新运行mo.sh即可:","这是一个setter,类型是一个回调,当服务器需要用户凭据且该用户凭据未被添加时,httpclient会调用此回调,在这个回调当中,一般会调用addcredential()来动态添加用户凭证,例如:","这是一个“扁平化”的树,显示了通过各种构建函数投影的所有widget(如果你在widget树的根中调用tostringdeepwidget,这是你获得的树)。","这是一个封装print,它将输出限制在一个级别,避免被android内核丢弃。","这是一个很有意思,但也很有争议的问题,在了解flutter为什么选择了","这是一个纯","这是一种写法","这是因为单词对是在","这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。","这是根layer的tostringdeep输出的。","这是第二种写法","这样一来,我们app中所有调用print方法输出日志的行为都会被拦截,通过这种方式,我们也可以在应用中记录日志,等到应用触发未捕获的异常时,将异常信息和日志统一上报。zonespecification还可以自定义一些其他行为,读者可以查看api文档。","这样一来,结合上面的fluttererror.onerror我们就可以捕获我们flutter应用中全部错误了!需要注意的是,error","这样会较好,","这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。","这样很显然是不合理的,因为","这样我们就可以处理那些flutter为我们捕获的异常了,接下来我们看看如何捕获其它异常。","这样的话就只能将state的所有状态声明为公开的状态,这样才能在state类外部访问状态,但将状态设置为公开后,状态将不再具有私密性,这样依赖,对状态的修改将会变的不可控。将build()方法放在state中的话,构建过程则可以直接访问状态,这样会很方便。","这样,当在美国英语和中文简体之间切换系统语言时,app的标题将会分别为“flutt","这样,最初的示例就可以改为:","这样,调用代码就不用担心json序列化了,但是,model类还是必须的。在实践中,user.fromjson和user.tojson方法都需要单元测试到位,以验证正确的行为。","这样,调用代码现在可以具有类型安全、自动补全字段(name和email)以及编译时异常。如果我们将拼写错误字段视为int类型而不是string,","这种方式是通过拼装其它低级别的widget来组合成一个高级别的widget,例如我们之前介绍的container就是一个组合widget,它是由decoratedbox、constrainedbox、transform、padding、align等组成。","这种方法不是使用应用程序构建的默认asset","这类框架主要原理就是将app的一部分需要动态变动的内容通过h5来实现,通过原生的网页加载控件webview","这触发了一次性构建,我们可以在需要时为我们的model生成json序列化代码,它通过我们的源文件,找出需要生成model类的源文件(包含@jsonserializable标注的)来生成对应的.g.dart文件。一个好的建议是将所有model类放在一个单独的目录下,然后在该目录下执行命令。","这里缺一张生命周期图","这里,我们使用文件来保存数据:","进入","进入flutter引擎时.","进入了","进入了正式版(1.0)发布前的最后阶段。","进入当前所在项目名/android","进度条的总弧度,2*pi为整圆,小于2*pi则不是整圆","进度条背景色","进行","进行关联,即创建出","进行重绘,而context.paintchild在重绘时使用了转换矩阵(transform","进阶","连接android模拟器","连接android真机设备","连接ios模拟器","连接ios真机设备","连接不上android","连接到websocket服务器","连接到websocket服务器。","连接的设备名是","连接设备运行flutter应用","追加","选择","选择一个设备并选择","选择一个运行该应用的android设备。如果没有列出可用,请选择","通常,可以使用defaultassetbundle.of()在应用运行时来间接加载asset(例如json文件),而在widget上下文之外,或其它assetbundle句柄不可用时,可以使用rootbundle直接加载这些asset,例如:","通知notif","通过","通过_formkey.currentst","通过android","通过animatedbuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个growtransition来说明,它可以对子widget实现放大动画:","通过builder来获取raisedbutton所在widget树的真正context(element)","通过context.canvas可以取到canvas对象,接下来就可以调用canva","通过controller监听,如:","通过controller直接获取。","通过controller获取输入框内容","通过formdata上传多个文件:","通过future回调中再返回future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:","通过globalkey来获取state对象","通过httpclientrequest可以设置请求header,如:","通过httpclient发起http请求","通过json.decode()","通过notificationlistener可以在从scrol","通过rootbundl","通过switch和checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父widget来管理状态,然后当用户点击时,再通过事件通知给父widget,这样是合理的,因为switch和checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义widget时也应该思考一下哪种状态的管理方式最为合理。","通过tabbar我们只能生成一个静态的菜单,如果要实现tab页,我们可以通过tabcontroller去监听tab菜单的切换去切换tab页,代码如:","通过上一节介绍,我们可以发现直接使用httpclient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、cookie管理等就会非常繁琐。幸运的是,dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。","通过上面介绍,相信你对dart应该有了一个初步的印象,由于笔者平时也使用java和javascript,下面笔者根据自己的经验,结合java和javascript,谈一下自己的看法。","通过上面示例,我们发现有多重限制时,对于minwidth和minheight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。","通过了命中测试,需要响应事件,反之则认为当前renderbox没有命中。在继承renderbox时,可以直接重写hittest()方法,也可以重写","通过后再提交数据。","通过在我们的项目根目录下运行:","通过它可以轻松访问主资源包,直接使用package:flutter/services.dart中全局静态的rootbundle对象来加载asset即可。","通过将singletickerproviderstatemixin添加到state的定义中,然后将state对象作为vsync的值,这在后面的例子中可以见到。","通过检查模拟器","通过组合现有widget实现","通过组合现有widget实现自定义widget","通过组合的方式定义widget和我们之前写界面并无差异,不过在抽离出单独的widget时我们要考虑代码规范性,如必要参数要用@requir","通过路由名打开新路由页","通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,flutter封装了一个icondata和icon来专门显示字体图标,上面的例子也可以用如下方式实现:","通过这种widget组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。","通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个json在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。","通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的;","速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;","遵循xcode签名流程来配置您的项目:","那statelesswidget和statefulwidget的build方法传入的context对象是哪个实现了buildcontext的类。我们顺藤摸瓜,发现调用时发生在statelesswidget和statefulwidget对应的statelesselement和statefulelement的build方法中,以statelesselement为例:","那么buildcontext到底是什么呢,查看其定义,发现其是一个抽象接口类:","那么我们可以使用@jsonkey标注:","那么我们的代码就不会通过编译,而不是在运行时崩溃。","那么有什么方法可以彻底去除父boxconstraints的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的widget时,如果对子widget指定限制时一定要注意,因为一旦指定限制条件,子widget如果要进行相关自定义大小时将可能非常困难,因为子widget在不更改父widget的代码的情况下无法彻底去除其限制条件。","那么这两个graphics/background.png和graphics/dark/background.png","那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。","部分。","都将包含在您的asset","配置xcode命令行工具以使用新安装的xcode版本","配置与使用","采用dart语言开发","采用web开发技术栈,社区庞大、上手快、开发成本相对较低。","重启android","重启windows以应用此更改.","重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在app启动后用户再改变系统语言时load方法将不会被调用,所以locale资源将不会被加载。事实上,每当locale改变时flutter都会再调用load方法加载新的locale,无论shouldreload返回true还是false。","重新创建时再恢复。如果scrollcontroller.keepscrolloffset为false,则滚动位置将不会被存储,scrol","重新启动","重新运行mo.sh,生成的user.dart如下:","重绘","针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指android和ios两个平台),根据其原理,主要分为三类:","锁定事件","间接继承自element类,与statefulwidget相对应(作为其配置数据)。statefulelement中可能会多次调用createstate()来创建状态(state)对象。","间接继承自element类,与statelesswidget相对应(作为其配置数据)。","队列。","除了flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:","除了pushnamed方法,还有pushreplacementnamed等其他管理命名路由的方法,读者可以自行查看api文档。","除了上面提到的methodchannel,还可以使用basicmessagechannel,它支持使用自定义消息编解码器进行基本的异步消息传递。","除了通用属性,我们重点看一下reverse和primary两个属性:","随着学习flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时有些吃力,而这主要的原因是没有一个资料去系统的学习flutter。","需要安装两个插件:","需要注意的是,scrollcontroller的animateto()","需要注意的是:由于renderbinding只是一个mixin,而with它的是widgetbinding,所以我们需要看看widgetbinding中是否重写该方法,查看widgetbinding的drawframe()方法源码:","需要注意的有三点:","页面标题","项目下提issue。","颜色固定黑色\")","颜色跟随主题\")","首先创建一个新的应用程序:","首先在android","首先在原生中实现获取手机型号的api","首先打开xcode中flutter应用程序的ios部分:","首先,在项目根目录下创建一个i10n","首先,我们构建通道。我们使用methodchannel调用一个方法来返回电池电量。","首先,我们通过继承inheritedwidget,将当前计数器点击次数保存在sharedatawidget的data属性中:","首先,添加需要导入的依赖。","首次推出了一款新的用于创建跨平台、高性能的移动应用框架——flutter。","首页","验证avd配置是否正确,然后选择","验证“flutter/bin”是否已在path中:","验证无误后,我们就可以运行发布命令了:","验证配置","高","高度增长到300后,开始沿x轴向右平移100像素;这个过程占用整个动画时间的40%。","高性能","默认不支持","默认情况下,animationcontroller对象值的范围是0.0到1.0。如果我们需要不同的范围或不同的数据类型,则可以使用tween来配置动画以生成不同的范围或数据类型的值。例如,像下面示例,tween生成从","默认情况下,flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他materialapp属性,并包含一个名为“flutter_localizations”的包。","默认情况下,flutter使用的android","默认情况下,模板支持使用java编写android代码,或使用object","默认构造函数","默认构造函数有一个children参数,它接受一个widget列表(list)。这种方式适合只有少量的子widget的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建。实际上通过此方式创建的listview和使用singlechildscrollview+column的方式没有本质的区别。下面是一个例子:","默认的样式风格,我们使用material作为本路由的根。","!=","(ahead","(int","(react","(下面讨论)。","(主资源),后者被认为是一种变体(variant)。","(如果已经安装了brew,跳过此步骤)。","(或者更具体地说,如果您不调用window.render去响应window.ondrawframe)的话,","(非首次绘制),该方法会将被标记为“dirty”",")",")=>",")是google官方的dart",")的任何时间调用此方法(在调用runapp()之后)。",",mount方法中首先调用elment所对应widget的createrenderobject方法创建与element相关联的renderobject对象,然后调用element.attachrenderobject方法将element.renderobject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。",",也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。",",使用json字符串作为参数:",",其中",",则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢?",",在其中添加:sourc",",在搜索结果列表中选择",",如assetimage是实现了从asset中加载图片的imageprovider,而networkimage实现了从网络加载图片的imageprovider。",",如果一个应用的大多数功能都是h5实现的话,我们称其为web",",如果在then中返回的是一个future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。",",如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过renderobject的parentdata属性来保存的。在renderbox中,其parentdata属性默认是一个boxparentdata对象,该属性只能通过父节点的setupparentdata()方法来设置:",",如此递归完成整个ui的布局。",",它实现了一个交错gridview的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。",",它是用于控制/监听tab菜单切换。然后通过tabbar生成了一个底部菜单栏,tabbar的tabs属性接受一个widget数组,表示每一个tab子菜单,我们可以自定义,也可以像示例中一样直接使用tab",",当build函数引用了inheritedwidget时,会创建对inheritedwidget的隐式依赖关系。当inheritedwidget发生更改时,即loc",",当盒子被点击时调用。",",所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。",",打开appdelegate.m",",正因如此,customscrollview才可以将多个sliver\"粘\"在一起,这些sliver共用customscrollview的scrollable,最终实现统一的滑动效果。",",灰色为false。",",然后再上面绘制子节点",",然后将",",然后打开appdelegate.swift",",表示是否为三态,其默认值为fals",",这时checkbox有两种状态即“选中”和“不选中”,对应的value值为true和fals",",这样其他开发者就可以轻松使用它。",",采用混合模式开发的app我们称之为混合应用或hybrid",",重启",":maxlength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxlengthenforced决定当输入文本长度超过maxlength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。",":子widgets数组。",":由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。",";如果其值为true时,value的值会增加一个状态null,读者可以自行了解。",";而容器类widget一般只需要接受一个子widget(child),他们直接或间接继承自(或包含)singlechildrenderobjectwidget。","?这主要是为了开发的灵活性。如果将build()方法在statefulwidget中则会有两个问题:","~/.bash_profil","~/.zshrc"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"缘起","keywords":"","body":"\n\n缘起\n在全球,随着Flutter被越来越多的知名公司应用在自己的商业APP中,Flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当Google在2018年IO大会上发布了第一个Preview版本后,国内刮起来一股学习Flutter的热潮。\n为了更好的方便帮助中国开发者了解这门新技术,我们,Flutter中文网,前后发起了Flutter翻译计划、Flutter开源计划,前者主要的任务是翻译Flutter官方文档,后者则主要是开发一些常用的包来丰富Flutter生态,帮助开发者提高开发效率。而时至今日,这两件事取得的效果还都不错!\n目前,Flutter中文官网日PV在5W左右,每日独立访问人数8000多。\n自今年我们在github建立官方账号以来,前后开源了cookieJar、dio、flukit等多个项目,而dio在开源两周后,就迅速成为Flutter第三方包中Star排名第一的开源库。\n之前,有很多次被没用过Flutter但对其保持好奇的开发者问到”Flutter的性能究竟怎样?“,”开发体验真的好吗?“这类问题。当时之所以会有很多这样的问题,主要的原因就是那时Flutter的成功案例太少,虽然国内闲鱼是第一个引入Flutter的商业应用,但初期也只是在很少的页面使用了Flutter,Flutter究竟能否适合用于完整项目缺乏考验。那时,我就想如果能用Flutter开发一个完整的APP发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下Flutter的流畅度,这样有个直观的了解后,就会容易做出判断,为此,我开发了Gitme,它是一个Github客户端,它支持了源码浏览、Issue、Label等Github的大多数功能。到目前为止,通过Gitme登录过Github账号的用户有5000多,日活用户有500。更重要的是,有很多人正是用了Gitme后,才来学flutter的。\n虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。\n随着学习Flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时有些吃力,而这主要的原因是没有一个资料去系统的学习Flutter。\n我们虽然翻译了官方文档,但是对于海量的SDK文档,基本很难去全部翻译。而那时,电子工业出版社正好找到了我,希望我能写一本Flutter实战类的书籍。\n这个想法听起来不错,书最大的好处就是可以系统性的介绍一门新技术,但由于我平时工作太忙,周末时间已经有很多花费在维护中文网和开源项目上了,所以此事不得不推迟,而直到今天,你现在看到的,也仍然不是完整的内容,目录灰色的部分都还没有写,那什么时候能写完?\n如果只靠我一个人,也只能等我有空了才能写,但是今年实在是太忙了!当然,还是有一些方法可以加快进度,比如大家一起来写,本书已经开源,有志之士都可以提PR,然后需要做好的就是Review和校稿;当然还有一个不能保证一定有用的办法就是点击下面的”打赏“按钮,然后发一个大红包,这样作者拿了钱,说不定会不好意思慢慢吞吞的写,毕竟是收了钱的,哈哈。\n最后再说一下为什么本书要开源。既然是电子工业出版社约的稿,就这么公开,难道将来就不会冲击实体书的销量?这个问题我是仔细考虑过的,很多写过书的人可能都知道,写技术书是不赚钱的,能收获的也就是一点点名气,而我吧却只喜欢钱,既然赚不到钱,那何不直接公开得了…当然还有另外一个原因就是要做实体书的话,最后和编辑校稿会花费很多时间,可是我实在是没时间了,很可能会放弃实体书出版,为了防止本书最后因不能正常出版而不能被大家看到,所以最终决定了开源。\n最后,如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提PR。如果您想一起参与本书创作,可以参考《Flutter实战》贡献指南。\n最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。\n"},"chapter1/":{"url":"chapter1/","title":"起步","keywords":"","body":"本章目录\n\n移动开发技术简介\nFlutter简介 \n搭建Flutter开发环境 \nDart语言简介 \n\n"},"chapter1/mobile_development_intro.html":{"url":"chapter1/mobile_development_intro.html","title":"移动开发技术简介","keywords":"","body":"移动开发技术简介\n原生开发与跨平台技术\n原生开发\n原生应用程序是指某一个移动平台(比如iOS或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的SDK API。比如Android原生应用就是指使用Java或Kotlin语言直接调用Android SDK开发的应用程序;而iOS原生应用就是指通过Objective-C或Swift语言直接调用iOS SDK开发的应用程序。原生开发有以下主要优势:\n\n可访问平台全部功能(GPS、摄像头);\n速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;\n\n主要缺点:\n\n平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;\n内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;\n\n在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。 但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:\n\n动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。\n业务需求变化快,开发成本变大;由于原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。\n\n总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。\n跨平台技术简介\n针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指Android和iOS两个平台),根据其原理,主要分为三类:\n\nH5+原生(Cordova、Ionic、微信小程序)\nJavaScript开发+原生渲染 (React Native、Weex、快应用)\n自绘UI+原生(QT for mobile、Flutter)\n\n在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。\nHybrid技术简介\nH5+原生混合开发\n这类框架主要原理就是将APP的一部分需要动态变动的内容通过H5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(ios)来加载(以后若无特殊说明,我们用WebView来统一指代android和ios中的网页加载控件)。这样一来,H5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在Android和iOS两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发 ,采用混合模式开发的APP我们称之为混合应用或Hybrid APP ,如果一个应用的大多数功能都是H5实现的话,我们称其为Web APP 。\n目前混合开发框架的典型代表有:Cordova、Ionic 和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。\n混合开发技术点\n如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在WebView中,而WebView实质上就是一个浏览器内核,其JavaScript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于H5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的API, 然后暴露给WebView以供JavaScript调用,这样一来,WebView就成为了JavaScript与原生API之间通信的桥梁,主要负责JavaScript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于WebView的用于在JavaScript与原生之间通信并实现了某种消息传输协议的工具称之为WebView JavaScript Bridge, 简称 JsBridge,它也是混合开发框架的核心。\n示例:JavaScript调用原生API获取手机型号\n下面我们以Android为例,实现一个获取手机型号的原生API供JavaScript调用。在这个示例中将展示JavaScript调用原生API的流程,读者可以直观的感受一下调用流程。我们选用笔者在Github上开源的dsBridge作为JsBridge来进行通信。dsBridge是一个支持同步调用的跨平台的JsBridge,此示例中只使用其同步调用功能。\n\n首先在原生中实现获取手机型号的API getPhoneModel\nclass JSAPI{\n @JavascriptInterface\n public Object getPhoneModel(Object msg){\n return Build.MODEL;\n }\n}\n\n\n将原生API通过WebView注册到JsBridge中\nimport wendu.dsbridge.DWebView\n...\n//DWebView继承自WebView,由dsBridge提供 \nDWebView dwebView= (DWebView) findViewById(R.id.dwebview);\n//注册原生API到JsBridge\ndwebView.addJavascriptObject(new JsAPI(), null);\n\n\n在JavaScript中调用原生API\nvar dsBridge=require(\"dsbridge\")\n//直接调用原生API `getPhoneModel`\nvar model=dsBridge.call(\"getPhoneModel\");\n//打印机型\nconsole.log(model);\n\n\n\n上面示例演示了JavaScript调用原生API的过程,同样的,一般来说优秀的JsBridge也支持原生调用JavaScript,dsBridge也是支持的,如果您感兴趣,可以去github dsBridge项目主页查看。\n现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列API供JavaScript调用,让JavaScript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。\n总结\n混合应用的优点是动态内容是H5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。\nReact Native和Weex\n本篇主要介绍一下 JavaScript开发+原生渲染的跨平台框架原理。\nReact Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和Android两个平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。\n由于RN和React原理相通,并且Flutter也是受React启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下React原理。React是一个响应式的Web框架,我们先了解一下两个重要的概念:Dom树与响应式编程。\nDOM树与控件树\n文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的标准接口。简单来说,DOM就是文档树,与用户界面控件树对应,在前端开发中通常指HTML对应的渲染树,但广义的DOM也可以指Android中的XML布局文件对应的控件树,而术语DOM操作就是指直接来操作渲染树(或控件树), 因此,可以看到其实DOM树和控件树是等价的概念,只不过前者常用语Web开发中,而后者常用于原生开发中。\n响应式编程\nReact中提出一个重要思想:状态改变则UI随之自动改变,而React框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下React中响应式原理:\n\n开发者只需关注状态转移(数据),当状态发生变化,React框架会自动根据新的状态重新构建UI。\nReact框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过Diff算法,计算出树中变化的部分,然后只更新变化的部分(DOM操作),从而避免整棵树重构,提高性能。\n\n值得注意的是,在第二步中,状态变化后React框架并不会立即去计算并渲染DOM树的变化部分,相反,React会在DOM的基础上建立一个抽象层,即虚拟DOM树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟DOM,最后再批量同步到真实DOM中,而不是每次改变都去操作一下DOM。为什么不能每次改变都直接去操作DOM树?这是因为在浏览器中每一次DOM操作都有可能引起浏览器的重绘或回流:\n\n如果DOM只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。\n如果DOM树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。\n\n而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对DOM进行操作,这会带来性能问题,而批量操作只会触发一次DOM更新。\n\n思考题:Diff操作和DOM批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适?\n此处需要有一张插图\n\nReact Native\n上文已经提到React Native 是React 在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟DOM映射的对象是什么?React中虚拟DOM最终会映射为浏览器DOM树,而RN中虚拟DOM会通过 JavaScriptCore 映射为原生控件树。\nJavaScriptCore 是一个JavaScript解释器,它在React Native中主要有两个作用:\n\n为JavaScript提供运行环境。\n是JavaScript与原生应用之间通信的桥梁,作用和JsBridge一样,事实上,在iOS中,很多JsBridge的实现都是基于 JavaScriptCore 。\n\n而RN中将虚拟DOM映射为原生控件的过程中分两步:\n\n布局消息传递; 将虚拟DOM布局信息传递给原生;\n原生根据布局信息通过对应的原生控件渲染控件树;\n\n至此,React Native 便实现了跨平台。 相对于混合应用,由于React Native是原生控件渲染,所以性能会比混合应用中H5好很多,同时React Native是Web开发技术栈,也只需维护一份代码,同样是跨平台框架。\nWeex\nWeex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和React Native类似,最大的不同是语法层面,Weex支持Vue语法和Rax语法,Rax 的 DSL 语法是基于 React JSX 语法而创造。与 React 不同,在 Rax 中 JSX 是必选的,它不支持通过其它方式创建组件,所以学习 JSX 是使用 Rax 的必要基础。而React Native只支持JSX语法。\n快应用\n快应用是华为、小米、OPPO、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用JavaScript语言开发,原生控件渲染,与React Native和Weex相比主要有两点不同:\n\n快应用自身不支持Vue或React语法,其采用原生JavaScript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用Vue语法开发(mpvue),从原理上来讲,Vue的语法也可以移植到快应用上。\nReact Native和Weex的渲染/排版引擎是集成到框架中的,每一个APP都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到ROM中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。\n\n总结\nJavaScript开发+原生渲染的方式主要优点如下:\n\n采用Web开发技术栈,社区庞大、上手快、开发成本相对较低。\n原生渲染,性能相比H5提高很多。\n动态化较好,支持热更新。\n\n不足:\n\n渲染时需要JavaScript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。\nJavaScript为脚本语言,执行时需要JIT,执行效率和AOT代码仍有差距。\n由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。\n\nQT Moblie与Flutter\n在本篇中,我们看看最后一种跨平台技术:自绘UI+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。注意,自绘引擎解决的是UI的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下:\n\n性能高;由于自绘引擎是直接调用系统API来绘制UI,所以性能和原生控件接近。\n\n灵活、组件库易维护、UI外观保真度和一致性高;由于UI渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。\n\n\n不足:\n\n动态性不足;为了保证UI绘制性能,自绘UI系统一般都会采用AOT模式编译其发布包,所以应用发布后,不能像Hybrid和RN那些使用JavaScript(JIT)作为开发语言的框架那样动态下发代码。\n\n也许你已经猜到Flutter就属于这一类跨平台技术,没错,Flutter正是实现一套自绘引擎,并拥有一套自己的UI布局系统。不过,自绘制引擎的思路并不是什么新概念,Flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的QT。\nQT简介\nQt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,QT虽然在PC端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到QT的声音,但一直很弱,无论QT本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:\n第一:QT移动开发社区太小,学习资料不足,生态不好。\n第二:官方推广不利,支持不够。\n第三:移动端发力较晚,市场已被其它动态化框架占领(Hybrid和RN)。\n第四:在移动开发中,C++开发和Web开发栈相比有着先天的劣势,直接结果就是QT开发效率太低。\n基于此四点,尽管QT是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。\nFlutter简介\n“千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了!\nFlutter是Google发布的一个用于创建跨平台、高性能移动应用的框架。Flutter和QT mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,QT mobile面对的问题Flutter是否也一样,Flutter会不会步入QT mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看Flutter诞生过程:\n\n2017 年 Google I/O 大会上,Google 首次推出了一款新的用于创建跨平台、高性能的移动应用框架——Flutter。\n2018年2月,Flutter发布了第一个Beta版本,同年五月, 在2018年Google I/O 大会上,Flutter 更新到了 beta 3 版本。\n2018年6月,Flutter发布了首个预览版本,这意味着 Flutter 进入了正式版(1.0)发布前的最后阶段。\n\n观其发展,在2018年5月份,Flutter 进入了 GitHub stars 排行榜前 100 名,已有 27k star。而今天(2018年8月16日),已经有35K的Star。经历了短短一年多的时间,Flutter 生态系统得以快速增长,由此可见,Flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!\n现在,我们来和QT mobile做一个对比:\n\n生态;从Github上来看,目前Flutter活跃用户正在高速增长。从Stackoverflow上提问来看,Flutter社区现在已经很庞大。Flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在Stackoverflow或其github issue中找到答案。\n技术支持;现在Google正在大力推广Flutter,Flutter的作者中很多人都是来自Chromium团队,并且github上活跃度很高。另一个角度,从今年上半年Flutter频繁的版本发布也可以看出Google对Flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。\n开发效率;Flutter的热重载可帮助开发者快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了Flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。\n\n基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!\n本章总结\n本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下:\n\n\n\n技术类型\nUI渲染方式\n性能\n开发效率\n动态化\n框架代表\n\n\n\n\nH5+原生\nWebView渲染\n一般\n高\n✔️\nCordova、Ionic\n\n\nJavaScript+原生渲染\n原生控件渲染\n好\n高\n✔️\nRN、Weex\n\n\n自绘UI+原生\n调用系统API渲染\n好\nFlutter高, QT低\n默认不支持\nQT、Flutter\n\n\n\n上表中开发语言主要指UI的开发语言,动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是Flutter的Release包默认是使用Dart AOT模式编译的,所以不支持动态化,但Dart还有JIT或snapshot运行方式,这些模式都是支持动态化的,后续会介绍。\n"},"chapter1/flutter_intro.html":{"url":"chapter1/flutter_intro.html","title":"Flutter简介","keywords":"","body":"初识Flutter\nFlutter简介\nFlutter 是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加 native扩展。同时 Flutter还使用 Native引擎渲染视图,这无疑能为用户提供良好的体验。\n跨平台自绘引擎\nFlutter与用于构建移动应用程序的其它大多数框架不同,因为Flutter既不使用WebView,也不使用操作系统的原生控件。 相反,Flutter使用自己的高性能渲染引擎来绘制widget。这样不仅可以保证在Android和iOS上UI的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。\nFlutter使用Skia作为其2D渲染引擎,Skia是Google的一个2D图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,Skia是跨平台的,并提供了非常友好的API,目前Google Chrome浏览器和Android均采用Skia作为其绘图引擎,值得一提的是,由于Android系统已经内置了Skia,所以Flutter在打包APK(Android应用安装包)时,不需要再将Skia打入APK中,但iOS系统并未内置Skia,所以构建iPA时,也必须将Skia一起打包,这也是为什么Flutter APP的Android安装包比iOS安装包小的主要原因。\n高性能\nFlutter高性能主要靠两点来保证,首先,Flutter APP采用Dart语言开发。Dart在 JIT(即时编译)模式下,速度与 JavaScript基本持平。但是 Dart支持 AOT,当以 AOT模式运行时,JavaScript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,Flutter使用自己的渲染引擎来绘制UI,布局数据等由Dart语言直接控制,所以在布局过程中不需要像RN那样要在JavaScript和Native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以JavaScript需要和Native之间不停的同步布局信息,这和在浏览器中要JavaScript频繁操作DOM所带来的问题是相同的,都会带来比较可观的性能开销。\n采用Dart语言开发\n这是一个很有意思,但也很有争议的问题,在了解Flutter为什么选择了 Dart而不是 JavaScript之前我们先来介绍两个概念:JIT和AOT。\n目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为AOT (Ahead of time)即 “提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为JIT(Just-in-time)即“即时编译”。AOT程序的典型代表是用C/C++开发的应用,它们必须在执行前编译成机器码,而JIT的代表则非常多,如JavaScript、python等,事实上,所有脚本语言都支持JIT模式。但需要注意的是JIT和AOT指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以JIT方式运行也可以以AOT方式运行,如Java、Python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为AOT的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于AOT。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。\n现在我们看看Flutter为什么选择Dart语言?笔者根据官方解释以及自己对Flutter的理解总结了以下几条(由于其它跨平台框架都将JavaScript作为其开发语言,所以主要将Dart和JavaScript做一个对比):\n\n开发效率高\nDart运行时和编译器支持Flutter的两个关键特性的组合:\n基于JIT的快速开发周期:Flutter在开发阶段采用,采用JIT模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;\n基于AOT的发布包: Flutter在发布时可以通过AOT生成高效的ARM代码以保证应用性能。而JavaScript则不具有这个能力。\n\n高性能\nFlutter旨在提供流畅、高保真的的UI体验。为了实现这一点,Flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而Dart支持AOT,在这一点上可以做的比JavaScript更好。\n\n快速内存分配\nFlutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,Flutter将无法有效地工作。当然Chrome V8的JavaScript引擎在内存分配上也已经做的很好,事实上Dart开发团队的很多成员都是来自Chrome团队的,所以在内存分配上Dart并不能作为超越JavaScript的优势,而对于Flutter来说,它需要这样的特性,而Dart也正好满足而已。\n\n类型安全\n由于Dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,JavaScript是一个弱类型语言,也因此前端社区出现了很多给JavaScript代码添加静态类型检测的扩展语言和工具,如:微软的TypeScript以及Facebook的Flow。相比之下,Dart本身就支持静态类型,这是它的一个重要优势。\n\nDart团队就在你身边\n看似不起眼,实则举足轻重。由于有Dart团队的积极投入,Flutter团队可以获得更多、更方便的支持,正如Flutter官网所述“我们正与Dart社区进行密切合作,以改进Dart在Flutter中的使用。例如,当我们最初采用Dart时,该语言并没有提供生成原生二进制文件的工具链(这对于实现可预测的高性能具有很大的帮助),但是现在它实现了,因为Dart团队专门为Flutter构建了它。同样,Dart VM之前已经针对吞吐量进行了优化,但团队现在正在优化VM的延迟时间,这对于Flutter的工作负载更为重要。” \n\n\n总结\n本节主要介绍了一下Flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对Flutter细节的了解,再回过头来看,相信你会有更深的体会。\nFlutter框架结构\n本节我们先对Flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到Flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下Flutter官方提供的一张框架图:\n\nFlutter Framework\n这是一个纯 Dart实现的 SDK,它实现了一套基础库,自底向上,我们来简单介绍一下:\n\n底下两层(Foundation和Animation、Painting、Gestures)在Google的一些视频中被合并为一个dart UI层,对应的是Flutter中的dart:ui包,它是Flutter引擎暴露的底层UI库,提供动画、手势及绘制能力。\n\nRendering层,这一层是一个抽象的布局层,它依赖于dart UI层,Rendering层会构建一个UI树,当UI树有变化时,会计算出有变化的部分,然后更新UI树,最终将UI树绘制到屏幕上,这个过程类似于React中的虚拟DOM。Rendering层可以说是Flutter UI框架最核心的部分,它除了确定每个UI元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。\n\nWidgets层是Flutter提供的的一套基础组件库,在基础组件库之上,Flutter还提供了 Material 和Cupertino两种视觉风格的组件库。而我们Flutter开发的大多数场景,只是和这两层打交道。\n\n\nFlutter Engine\n这是一个纯 C++实现的 SDK,其中包括了 Skia引擎、Dart运行时、文字排版引擎等。在代码调用 dart:ui库时,调用最终会走到Engine层,然后实现真正的绘制逻辑。\n总结\nFlutter框架本身有着良好的分层设计,本节旨在让读者对Flutter整体框架有个大概的印象,相信到现在为止,读者已经对Flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下Flutter的开发语言Dart。\n如何学习Flutter\n本节给大家一些学习建议,分享一下笔者在学习Flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。\n资源\n\n官网:阅读Flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新Flutter发展动态的地方,由于目前Flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。\n\n源码及注释:源码注释应作为学习Flutter的第一文档,Flutter SDK的源码是开源的,并且注释非常详细,也有很多示例,实际上,Flutter官方的SDK文档就是通过注释生成的。源码结合注释可以帮你解决大多数问题。\n\nGithub:如果遇到的问题在StackOverflow上也没有找到答案,可以去github flutter 项目下提issue。\nGallery源码:Gallery是Flutter官方示例APP,里面有丰富的示例,读者可以在网上下载安装。Gallery的源码在Flutter源码“examples”目录下。\n\n社区\n\nStackOverflow:如果你还没听过StackOverflow,这是目前全球最大的程序员问答社区,现在也是活跃度最高的Flutter问答社区。StackOverflow上面除了世界各地的Flutter使用者会在上面交流之外,Flutter开发团队的成员也经常会在上面回答问题。\nFlutter中文网社区:Flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了Flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。\n掘金:掘金的Flutter主页目前也收集了不少的博客文章,读者可以自行浏览。\n\n总结\n有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入Flutter的世界!\n"},"chapter1/install_flutter.html":{"url":"chapter1/install_flutter.html","title":"搭建Flutter开发环境","keywords":"","body":"安装Flutter\n工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。\n搭建Flutter开发环境\n由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Flutter时也需要安装相应平台的构建工具和SDK。下面我们分别介绍一下Windows和macOS下的环境搭建。\n使用镜像\n由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:\nexport PUB_HOSTED_URL=https://pub.flutter-io.cn\nexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn\n注意: 此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china 以获得有关镜像服务器的最新动态。\n在Windows上搭建Flutter开发环境\n系统要求\n要安装并运行Flutter,您的开发环境必须满足以下最低要求:\n\n操作系统: Windows 7 或更高版本 (64-bit)\n\n磁盘空间: 400 MB (不包括Android Studio的磁盘空间).\n\n工具: Flutter 依赖下面这些命令行工具.\n\nPowerShell 5.0 或更新的版本\n\nGit for Windows (Git命令行工具);\n\n\n如果已安装Git for Windows,请确保可以在命令提示符或PowerShell中运行 git 命令\n\n\n获取Flutter SDK\n\n去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#windows\n\n\n\n 注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。\n\n将安装包zip解压到你想安装Flutter SDK的路径(如:C:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如C:\\Program Files\\)。\n\n在Flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在Flutter命令行运行flutter命令了。\n\n\n更新环境变量\n如果你想在Windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户PATH:\n\n转到 “控制面板>用户帐户>用户帐户>更改我的环境变量”\n在“用户变量”下检查是否有名为“Path”的条目:\n如果该条目存在, 追加 flutter\\bin的全路径,使用 ; 作为分隔符.\n如果该条目不存在,创建一个新用户变量 Path ,然后将 flutter\\bin 的全路径作为它的值.\n\n\n\n重启Windows以应用此更改.\n运行 flutter doctor命令\n在Flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们:\nflutter doctor\n\n该命令检查你的环境并在命令行窗口中显示报告。Dart SDK已经在打包在Flutter SDK里了,没有必要单独安装Dart。 仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。\n例如:\n[-] Android toolchain - develop for Android devices\n • Android SDK at D:\\Android\\sdk\n ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ\n • Try re-installing or updating your Android SDK,\n visit https://flutter.io/setup/#android-setup for detailed instructions.\n第一次运行flutter命令(如flutter doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutter doctor命令来验证是否安装成功。\nAndroid设置\nFlutter依赖于Android Studio的全量安装。Android Studio不仅可以管理Android 平台依赖、SDK版本等,而且它也是Flutter开发推荐的IDE之一(当然,你也可以使用其它编辑器或IDE,我们将会在后面讨论)。\n安装Android Studio\n\n下载并安装 Android Studio,下载地址:https://developer.android.com/studio/index.html 。\n启动Android Studio,然后执行“Android Studio安装向导”。这将安装最新的Android SDK、Android SDK平台工具和Android SDK构建工具,这些是用Flutter进行Android开发所需要的。\n\n安装遇到问题?\n如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。\n在macOS上搭建Flutter开发环境\n在masOS下可以同时进行Android和iOS设备的测试。\n系统要求\n要安装并运行Flutter,您的开发环境必须满足以下最低要求:\n\n操作系统: macOS (64-bit)\n磁盘空间: 700 MB (不包括Xcode或Android Studio的磁盘空间).\n工具: Flutter 依赖下面这些命令行工具.\nbash、mkdir、rm、git、curl、unzip、which\n\n\n\n获取Flutter SDK\n\n去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#macos\n注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。\n\n解压安装包到你想安装的目录,如:\ncd ~/development\nunzip ~/Downloads/flutter_macos_v0.5.1-beta.zip\n\n\n添加flutter相关工具到path中:\nexport PATH=`pwd`/flutter/bin:$PATH\n\n此代码只能暂时针对当前命令行窗口设置PATH环境变量,要想永久将Flutter添加到PATH中请参考下面更新环境变量 部分。\n\n\n运行 flutter doctor命令\n这一步和Windows下步骤一致,不再赘述。\n更新环境变量\n将Flutter添加到PATH中,可以在任何终端会话中运行flutter命令。\n对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如\n\n确定您Flutter SDK的目录记为“FLUTTER_INSTALL_PATH”,您将在步骤3中用到。\n\n打开(或创建) $HOME/.bash_profile。文件路径和文件名可能在你的电脑上不同.\n\n添加以下路径:\nexport PATH=[FLUTTER_INSTALL_PATH]/flutter/bin:$PATH\n\n例如笔者Flutter 安装目录是“~/code/flutter_dir”,那么代码为:\nexport PATH=~/code/flutter_dir/flutter/bin:$PATH\n\n运行 source $HOME/.bash_profile 刷新当前终端窗口。\n\n注意: 如果你使用终端是zsh,终端启动时 ~/.bash_profile 将不会被加载,解决办法就是修改 ~/.zshrc ,在其中添加:source ~/.bash_profile\n\n\n验证“flutter/bin”是否已在PATH中:\necho $PATH\n\n\n安装 Xcode\n要为iOS开发Flutter应用程序,您需要Xcode 9.0或更高版本:\n\n安装Xcode 9.0或更新版本(通过链接下载或苹果应用商店).\n配置Xcode命令行工具以使用新安装的Xcode版本 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 对于大多数情况,当您想要使用最新版本的Xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。\n确保Xcode许可协议是通过打开一次Xcode或通过命令sudo xcodebuild -license同意过了.\n\n使用Xcode,您可以在iOS设备或模拟器上运行Flutter应用程序。\n安装Android Studio\n和Window一样,要在Android设备上构建并运行Flutter程序都需要先安装Android Studio,读者可以先自行下载并安装Android Studio,在此不再赘述。\n升级 Flutter\nFlutter SDK分支\nFlutter SDK有多个分支,如beta、dev、master,其中beta分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装flutter后,你可以运行flutter channel查看所有分支,如笔者本地运行后,结果如下:\nFlutter channels:\n beta\n dev\n* master\n带\"*\"号的分支即你本地的Flutter SDK 跟踪的分支,要切换分支,可以使用flutter channel beta 或 flutter channel master,Flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。\n升级Flutter SDK和依赖包\n要升级flutter sdk,只需一句命令:\nflutter upgrade\n\n该命令会同时更新Flutter SDK和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括Flutter SDK),可以使用如下命令:\n\nflutter packages get获取项目所有的依赖包。\nflutter packages upgrade 获取项目所有依赖包的最新版本。\n\n \nIDE配置与使用\n理论上可以使用任何文本编辑器与命令行工具来构建Flutter应用程序。 不过,Flutter官方建议使用Android Studio和VS Code之一以获得更好的开发体验。Flutter官方提供了这两款编辑器插件,通过IDE和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下Android Studio和VS Code的配置及使用(Android Studio和VS Code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。\nAndroid Studio 配置与使用\n由于Android Studio是基于IntelliJ IDEA开发的,所以读者也可以使用IntelliJ IDEA。\n安装Flutter和Dart插件\n需要安装两个插件:\n\nFlutter插件: 支持Flutter开发工作流 (运行、调试、热重载等)。\nDart插件: 提供代码分析 (输入代码时进行验证、代码补全等)。\n\n安装步骤:\n\n启动Android Studio。\n打开插件首选项 (macOS:Preferences>Plugins, Windows:File>Settings>Plugins)。\n选择 Browse repositories…,选择 flutter 插件并点击 install。\n重启Android Studio后插件生效。\n\n接下来,让我们用Android Studio创建一个Flutter项目,然后运行它,并体验“热重载”。\n创建Flutter应用\n\n选择 File>New Flutter Project 。\n选择 Flutter application 作为 project 类型, 然后点击 Next。\n输入项目名称 (如 myapp),然后点击 Next。\n点击 Finish。\n等待Android Studio安装SDK并创建项目。\n\n上述命令创建一个Flutter项目,项目名为myapp,其中包含一个使用Material 组件的简单演示应用程序。\n在项目目录中,您应用程序的代码位于 lib/main.dart。\n运行应用程序\n\n定位到Android Studio工具栏:\n\n\n在 target selector 中, 选择一个运行该应用的Android设备。如果没有列出可用,请选择 Tools>Android>AVD Manager 并在那里创建一个。\n\n在工具栏中点击 Run图标。\n\n如果一切正常, 您应该在您的设备或模拟器上会看到启动的应用程序:\n\n\n\n体验热重载\nFlutter 可以通过 热重载(hot reload) 实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉IDE或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。\n 1. 打开`lib/main.dart`文件\n 2. 将字符串\n `'You have pushed the button this many times:'` 更改为\n `'You have clicked the button this many times:'`\n 3. 不要按“停止”按钮; 让您的应用继续运行.\n 4. 要查更改,请调用 **Save** (`cmd-s` / `ctrl-s`),或者点击 **热重载按钮** (带有闪电⚡️图标的按钮)。\n 你会立即在运行的应用程序中看到更新的字符串。\nVS Code的配置与使用\nVS Code是一个轻量级编辑器,支持Flutter运行和调试。\n安装flutter插件\n\n启动 VS Code。\n调用 View>Command Palette…。\n输入 ‘install’, 然后选择 Extensions: Install Extension action。\n在搜索框输入 flutter ,在搜索结果列表中选择 ‘Flutter’, 然后点击 Install。\n选择 ‘OK’ 重新启动 VS Code。\n验证配置\n调用 View>Command Palette…\n输入 ‘doctor’, 然后选择 ‘Flutter: Run Flutter Doctor’ action。\n查看“OUTPUT”窗口中的输出是否有问题\n\n\n\n创建Flutter应用\n\n启动 VS Code\n调用 View>Command Palette…\n输入 ‘flutter’, 然后选择 ‘Flutter: New Project’ action\n输入 Project 名称 (如myapp), 然后按回车键\n指定放置项目的位置,然后按蓝色的确定按钮\n等待项目创建继续,并显示main.dart文件\n\n体验热重载\n\n打开lib/main.dart文件。\n将字符串\n'You have pushed the button this many times:' 更改为\n'You have clicked the button this many times:'。\n不要按“停止”按钮; 让您的应用继续运行。\n要查看您的更改,请调用 Save (cmd-s / ctrl-s), 或者点击 热重载按钮 (绿色圆形箭头按钮)。\n\n你会立即在运行的应用程序中看到更新的字符串。\n连接设备运行Flutter应用\nWindow下只支持为Android设备构建并运行Flutter应用,而macOS同时支持iOS和Android设备。下面分别介绍如何连接Android和iOS设备来运行flutter应用。\n连接Android模拟器\n要准备在Android模拟器上运行并测试Flutter应用,请按照以下步骤操作:\n\n启动 Android Studio>Tools>Android>AVD Manager 并选择 Create Virtual Device.\n\n选择一个设备并选择 Next。\n\n为要模拟的Android版本选择一个或多个系统印象,然后选择 Next. 建议使用 x86 或 x86_64 image .\n\n在 “Emulated Performance”下, 选择 Hardware - GLES 2.0 以启用 硬件加速.\n\n验证AVD配置是否正确,然后选择 Finish。\n有关上述步骤的详细信息,请参阅 Managing AVDs.\n\n在“Android Virtual Device Manager”中,点击工具栏的 Run。模拟器启动并显示所选操作系统版本或设备的启动画面。\n\n运行 flutter run 启动您的设备。 连接的设备名是 Android SDK built for ,其中 platform 是芯片系列,如 x86。\n\n\n连接Android真机设备\n要准备在Android设备上运行并测试Flutter应用,需要Android 4.1(API level 16)或更高版本的Android设备.\n\n在Android设备上启用 开发人员选项 和 USB调试 。详细说明可在Android文档中找到。\n使用USB将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。\n在命令行运行 flutter devices 命令以验证Flutter识别您连接的Android设备。\n运行启动你应用程序 flutter run。\n\n默认情况下,Flutter使用的Android SDK版本是基于你的 adb 工具版本。 如果想让Flutter使用不同版本的Android SDK,则必须将该 ANDROID_HOME 环境变量设置为相应的SDK安装目录。\n连接iOS模拟器\n要准备在iOS模拟器上运行并测试Flutter应用,请按以下步骤操作:\n\n在你的MAC上,通过 Spotlight 或以下命令找到模拟器:\nopen -a Simulator\n\n\n通过检查模拟器 Hardware > Device 菜单中的设置,确保模拟器正在使用64位设备(iPhone 5s或更高版本)。\n\n根据你电脑屏幕大小,模拟高清屏iOS设备可能会溢出屏幕。可以在模拟器的 Window> Scale 菜单下设置设备比例。\n\n运行 flutter run启动flutter应用程序。\n\n\n连接iOS真机设备\n要将Flutter应用安装到iOS真机设备,需要一些额外的工具和一个Apple帐户,还需要在Xcode中进行一些设置。\n\n安装 homebrew (如果已经安装了brew,跳过此步骤)。\n\n打开终端并运行如下这些命令:\nbrew update\nbrew install --HEAD libimobiledevice\nbrew install ideviceinstaller ios-deploy cocoapods\npod setup\n\n如果这些命令中的任何一个失败并出现错误,请运行brew doctor并按照说明解决问题.\n\n遵循Xcode签名流程来配置您的项目:\n\n在你Flutter项目目录中通过 open ios/Runner.xcworkspace 打开默认的Xcode workspace.\n\n在Xcode中,选择导航面板左侧中的Runner项目。\n\n在Runner target设置页面中,确保在 General > Signing > Team 下选择了你的开发团队。当你选择一个团队时,Xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。\n\n要开始您的第一个iOS开发项目,您可能需要使用您的Apple ID登录Xcode。\n\n任何Apple ID都支持开发和测试,但若想将应用分发到App Store,就必须注册Apple开发者计划,有关详情读者可以自行了解。\n\n当您第一次attach真机设备进行iOS开发时,需要同时信任你的Mac和该设备上的开发证书。首次将iOS设备连接到Mac时,请在对话框中选择 Trust。 \n\n然后,转到iOS设备上的设置菜单,选择 常规>设备管理 并信任您的证书。\n\n如果Xcode中的自动签名失败,请验证项目的 General > Identity > Bundle Identifier 值是否唯一.\n\n\n运行 flutter run启动flutter应用程序。\n\n\n\n\n"},"chapter1/configuration.html":{"url":"chapter1/configuration.html","title":"常见配置问题","keywords":"","body":"常见配置问题\nAndroid Studio问题\n缺少依赖库问题\n上手安卓最常遇见的问题之一,错误如下图所示,此时点击超链接即可自动跳转到安装页面\n\n安装之后重新运行即可。\n\n连接不上Android Repository\n这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入 File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites 列表,可以看到此时的 Android Repository 无法连接。\n\n解决方法如下:\n\n进入 C:\\windows\\system32\\drivers\\etc\\ \n打开 hosts 文件\n添加 203.208.41.32 dl.google.com 即可解决\n\n安卓包配置问题\n一般格式为\nCould not HEAD **\nCould not Get **\n如:Android Studio Could not GET gradle-3.2.0.pom\n这一类问题是由于无法连接到 Maven 库造成的,解决方法如下:\n\n进入当前所在项目名/android\n\n打开 build.gradle \n\n找到下面这一部分,并加上 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } \nallprojects {\n repositories {\n google()\n jcenter()\n }\n}\n\n\n进入 File/ Settings/ Build, Execution, Deployment/ Gradle/ Android Studio 中,勾选上 Enable embedded Maven repository ,重启 Android Studio 即可解决。\n\n注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于 Could not HEAD maven.aliyun.com 的报错信息,请检查 C:\\Users\\{user_name}\\.gradle\\gradle.properties 是否有设置代理。删除后问题即可解决。\n\n\n\n"},"chapter1/dart.html":{"url":"chapter1/dart.html","title":"Dart语言简介","keywords":"","body":"Dart语言简介\n在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果你熟悉Dart语法,可以跳过本节,如果你还不了解Dart,不用担心,按照笔者经验,如果你有过其他编程语言经验,尤其是Java和JavaScript的话,所以,如果你是前端或Android开发者,那么将会非常容易上手Dart。当然,如果你是iOS开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习Dart时,只是花了一个小时,看完Dart官网的Language Tour,就开始动手写Flutter了。\n在笔者看来,Dart的设计目标应该是既对标Java,也对标JavaScript,Dart在静态语法方面和Java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和JavaScript很像,如函数式特性、异步支持等。除了融合Java和JavaScript语言之所长之外,Dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在Dart中其实看到的不仅有Java和JavaScript的影子,它还具有其它编程语言中的身影,如命名参数在Objective-C和Swift中早就很普遍,而??操作符在Php 7.0语法中就已经存在了,因此我们可以看到Google对Dart语言给予厚望,是想把Dart打造成一门集百家之所长的编程语言。\n接下来,我们先对Dart语法做一个简单的介绍,然后再将Dart与JavaScript和Java做一个简要的对比,方便读者更好的理解。\n\n注意:由于本书并非专门介绍Dart语言的书籍,所以本章主要会介绍一下在Flutter开发中常用的语法特性,如果想更多了解Dart,读者可以去Dart官网学习,现在互联网上Dart相关资料已经很多了。另外Dart 2.0已经正式发布,所以本书所有示例均采用Dart 2.0语法。\n\n变量声明\n\nvar\n类似于JavaScript中的var,它可以接收任何类型的变量,但最大的不同是Dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如:\nvar t;\nt=\"hi world\";\n// 下面代码在dart中会报错,因为变量t的类型已经确定为String,\n// 类型一旦确定后则不能再更改其类型。\nt=1000;\n\n上面的代码在JavaScript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为Dart本身是一个强类型语言,任何变量都是有确定类型的,在Dart中,当用var声明一个变量后,Dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而JavaScript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。\n\ndynamic和Object\nDynamic和Object 与 var功能相似,都会在赋值时自动进行类型推断,不同在于,赋值后可以改变其类型,如:\ndynamic t;\nt=\"hi world\";\n//下面代码没有问题\nt=1000;\n\nObject 是dart所有对象的根基类,也就是说所有类型都是Object的子类,所以任何类型的数据都可以赋值给Object声明的对象,所以表现效果和dynamic相似。\n\nfinal和const\n如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型。 一个 final 变量只能被设置一次,两者区别在于:const 变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:\n//可以省略String这个类型声明\nfinal str = \"hi world\";\n//final String str = \"hi world\"; \nconst str1 = \"hi world\";\n//const String str1 = \"hi world\";\n\n\n\n函数\nDart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型Function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。\n\n函数声明\nbool isNoble(int atomicNumber) {\n return _nobleGases[atomicNumber] != null;\n}\n\ndart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断:\ntypedef bool CALLBACK();\n\n//不指定返回类型,此时默认为dynamic,不是bool\nisNoble(int atomicNumber) {\n return _nobleGases[atomicNumber] != null;\n}\n\nvoid test(CALLBACK cb){\n print(cb()); \n}\n//报错,isNoble不是bool类型\ntest(isNoble);\n\n\n对于只包含一个表达式的函数,可以使用简写语法\nbool isNoble (int atomicNumber )=> _nobleGases [ atomicNumber ] != null ;\n\n\n函数作为变量\nvar say= (str){\n print(str);\n};\nsay(\"hi world\");\n\n\n函数作为参数传递\nvoid execute(var callback){\n callback();\n}\nexecute(()=>print(\"xxx\"))\n\n\n可选的位置参数\n包装一组函数参数,用[]标记为可选的位置参数:\nString say(String from, String msg, [String device]) {\n var result = '$from says $msg';\n if (device != null) {\n result = '$result with a $device';\n }\n return result;\n}\n\n下面是一个不带可选参数调用这个函数的例子:\nsay('Bob', 'Howdy'); //结果是: Bob says Howdy\n\n下面是用第三个参数调用这个函数的例子:\nsay('Bob', 'Howdy', 'smoke signal'); //结果是:Bob says Howdy with a smoke signal\n\n\n可选的命名参数\n定义函数时,使用{param1, param2, …},用于指定命名参数。例如:\n//设置[bold]和[hidden]标志\nvoid enableFlags({bool bold, bool hidden}) {\n // ... \n}\n\n调用函数时,可以使用指定命名参数。例如:paramName: value\nenableFlags(bold: true, hidden: false);\n\n可选命名参数在Flutter中使用非常多。\n\n\n异步支持\nDart类库有非常多的返回Future或者Stream对象的函数。 这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像 IO操作。而不是等到这个操作完成。\nasync和await关键词支持了异步编程,运行您写出和同步代码很像的异步代码。\nFuture\nFuture与JavaScript中的Promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个Future只会对应一个结果,要么成功,要么失败。\n由于本身功能较多,这里我们只介绍其常用的API及特性。还有,请记住,Future 的所有API的返回值仍然是一个Future对象,所以可以很方便的进行链式调用。\nFuture.then\n为了方便示例,在本例中我们使用Future.delayed 创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi world!\",然后我们在then中接收异步结果并打印结果,代码如下:\nFuture.delayed(new Duration(seconds: 2),(){\n return \"hi world!\";\n}).then((data){\n print(data);\n});\n\nFuture.catchError\n如果异步任务发生错误,我们可以在catchError中捕获错误,我们将上面示例改为:\nFuture.delayed(new Duration(seconds: 2),(){\n //return \"hi world!\";\n throw AssertionError(\"Error\"); \n}).then((data){\n //执行成功会走到这里 \n print(\"success\");\n}).catchError((e){\n //执行失败会走到这里 \n print(e);\n});\n\n在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是 catchError回调函数将被调用;但是,并不是只有 catchError回调才能捕获错误,then方法还有一个可选参数onError,我们也可以它来捕获异常:\nFuture.delayed(new Duration(seconds: 2), () {\n //return \"hi world!\";\n throw AssertionError(\"Error\");\n}).then((data) {\n print(\"success\");\n}, onError: (e) {\n print(e);\n});\n\nFuture.whenComplete\n有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用Future的whenComplete回调,我们将上面示例改一下:\nFuture.delayed(new Duration(seconds: 2),(){\n //return \"hi world!\";\n throw AssertionError(\"Error\");\n}).then((data){\n //执行成功会走到这里 \n print(data);\n}).catchError((e){\n //执行失败会走到这里 \n print(e);\n}).whenComplete((){\n //无论成功或失败都会走到这里\n});\n\nFuture.wait\n有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到UI界面上,应该怎么做?答案是Future.wait,它接受一个Future数组参数,只有数组中所有Future都执行成功后,才会触发then的成功回调,只要有一个Future执行失败,就会触发错误回调。下面,我们通过模拟Future.delayed 来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下:\nFuture.wait([\n // 2秒后返回结果 \n Future.delayed(new Duration(seconds: 2), () {\n return \"hello\";\n }),\n // 4秒后返回结果 \n Future.delayed(new Duration(seconds: 4), () {\n return \" world\";\n })\n]).then((results){\n print(results[0]+results[1]);\n}).catchError((e){\n print(e);\n});\n\n执行上面代码,4秒后你会在控制台中看到“hello world”。\nAsync/await\nDart中的async/await 和JavaScript中的async/await功能和用法是一模一样的,如果你已经了解JavaScript中的async/await的用法,可以直接跳过本节。\n回调地狱(Callback hell)\n如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现Future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户Id,然后通过用户Id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下:\n//先分别定义各个异步任务\nFuture login(String userName, String pwd){\n ...\n //用户登录\n};\nFuture getUserInfo(String id){\n ...\n //获取用户信息 \n};\nFuture saveUserInfo(String userInfo){\n ...\n // 保存用户信息 \n};\n\n接下来,执行整个任务流:\nlogin(\"alice\",\"******\").then((id){\n //登录成功后通过,id获取用户信息 \n getUserInfo(id).then((userInfo){\n //获取用户信息后保存 \n saveUserInfo(userInfo).then((){\n //保存用户信息,接下来执行其它操作\n ...\n });\n });\n})\n\n可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(Callback hell)。回调地狱问题在之前JavaScript中非常突出,也是JavaScript被吐槽最多的点,但随着ECMAScript6和ECMAScript7标准发布后,这个问题得到了非常好的解决,而解决回调地狱的两大神器正是ECMAScript6引入了Promise,以及ECMAScript7中引入的async/await。 而在Dart中几乎是完全平移了JavaScript中的这两者:Future相当于Promise,而async/await连名字都没改。接下来我们看看通过Future和async/await如何消除上面示例中的嵌套问题。\n使用Future消除callback hell\nlogin(\"alice\",\"******\").then((id){\n return getUserInfo(id);\n}).then((userInfo){\n return saveUserInfo(userInfo);\n}).then((e){\n //执行接下来的操作 \n}).catchError((e){\n //错误处理 \n print(e);\n});\n\n正如上文所述, “Future 的所有API的返回值仍然是一个Future对象,所以可以很方便的进行链式调用” ,如果在then中返回的是一个Future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。\n使用async/await消除callback hell\n通过Future回调中再返回Future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下:\ntask() async {\n try{\n String id = await login(\"alice\",\"******\");\n String userInfo = await getUserInfo(id);\n await saveUserInfo(userInfo);\n //执行接下来的操作 \n } catch(e){\n //错误处理 \n print(e); \n } \n}\n\n\nasync用来表示函数是异步的,定义的函数会返回一个Future对象,可以使用then方法添加回调函数。\nawait 后面是一个Future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在 async 函数内部。\n\n可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。\n\n其实,无论是在JavaScript还是Dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个Promise(Future)的调用链。\n\nStream\nStream 也是用于接收异步事件数据,和Future 不同的是,它可以接收多个异步操作的结果(成功或失败)。 也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。 Stream 常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子:\nStream.fromFutures([\n // 1秒后返回结果\n Future.delayed(new Duration(seconds: 1), () {\n return \"hello 1\";\n }),\n // 抛出一个异常\n Future.delayed(new Duration(seconds: 2),(){\n throw AssertionError(\"Error\");\n }),\n // 3秒后返回结果\n Future.delayed(new Duration(seconds: 3), () {\n return \"hello 3\";\n })\n]).listen((data){\n print(data);\n}, onError: (e){\n print(e.message);\n},onDone: (){\n\n});\n\n上面的代码依次会输出:\nI/flutter (17666): hello 1\nI/flutter (17666): Error\nI/flutter (17666): hello 3\n代码很简单,就不赘述了。\n\n思考题:既然Stream可以接收多次事件,那能不能用Stream来实现一个订阅者模式的事件总线?\n\n总结\n通过上面介绍,相信你对Dart应该有了一个初步的印象,由于笔者平时也使用Java和JavaScript,下面笔者根据自己的经验,结合Java和JavaScript,谈一下自己的看法。\n\n之所以将Dart与Java和JavaScript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且Dart 语法中很多地方也都借鉴了Java和JavaScript。\n\nDart vs Java\n客观的来讲,Dart在语法层面确实比Java更有表现力;在VM层面,Dart VM在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要Dart语言能流行,VM的性能就不用担心,毕竟Google在go(没用vm但有GC)、javascript(v8)、dalvik(android上的java vm)上已经有了很多技术积淀。值得注意的是Dart在Flutter中已经可以将GC做到10ms以内,所以Dart和Java相比,决胜因素并不会是在性能方面。而在语法层面,Dart要比java更有表现力,最重要的是Dart对函数式编程支持要远强于Java(目前只停留在lamda表达式),而Dart目前真正的不足是生态,但笔者相信,随着Flutter的逐渐火热,会回过头来反推Dart生态加速发展,对于Dart来说,现在需要的是时间。\nDart vs JavaScript\nJavaScript的弱类型一直被抓短,所以TypeScript、Coffeescript甚至是Facebook的flow(虽然并不能算JavaScript的一个超集,但也通过标注和打包工具提供了静态类型检查)才有市场。就笔者使用过的脚本语言中(笔者曾使用过Python、PHP),JavaScript无疑是动态化支持最好的脚本语言,比如在JavaScript中,可以给任何对象在任何时候动态扩展属性,对于精通JavaScript的高手来说,这无疑是一把利剑。但是,任何事物都有两面性,JavaScript的强大的动态化特性也是把双刃剑,你可经常听到另一个声音,认为JavaScript的这种动态性糟糕透了,太过灵活反而导致代码很难预期,无法限制不被期望的修改。毕竟有些人总是对自己或别人写的代码不放心,他们希望能够让代码变得可控,并期望有一套静态类型检查系统来帮助自己减少错误。正因如此,在Flutter中,Dart几乎放弃了脚本语言动态化的特性,如不支持反射、也不支持动态创建函数等。并且Dart在2.0强制开启了类型检查(Strong Mode),原先的检查模式(checked mode)和可选类型(optional type)将淡出,所以在类型安全这个层面来说,Dart和TypeScript、Coffeescript是差不多的,所以单从这一点来看,Dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、APP开发、web开发,这就有优势了!\n综上所述,笔者还是很看好Dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。\n"},"chapter2/":{"url":"chapter2/","title":"第一个Flutter应用","keywords":"","body":"简介\n本章将通过一些简单的示例来一步步介绍Flutter的开发流程.\n本章目录\n\n实现一个计数器\n路由管理 \n包管理 \n资源管理 \n调试Flutter APP\nDart线程模型及异常捕获\n\n"},"chapter2/first_flutter_app.html":{"url":"chapter2/first_flutter_app.html","title":"计数器示例","keywords":"","body":"计数器应用示例\n用Android Studio和VS Code创建的Flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。对于接下来的示例,希望读者可以跟着笔者实际动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉Dart或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。\n通过Android Studio和VS Code根据前面“编辑器配置与使用”一章中介绍的创建Flutter工程的方法创建一个新的Flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的Demo。\n\n注意,默认Demo示例可能随着编辑器Flutter插件版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。\n\n我们先运行此示例,效果图如下:\n\n该计数器示例中,每点击一次右下角带“➕”号的悬浮按钮,屏幕中央的数字就会加1。\n在这个示例中,主要Dart代码是在 lib/main.dart 文件中,下面我们看看该示例的源码:\nimport 'package:flutter/material.dart';\n\nvoid main() => runApp(new MyApp());\n\nclass MyApp extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return new MaterialApp(\n title: 'Flutter Demo',\n theme: new ThemeData(\n primarySwatch: Colors.blue,\n ),\n home: new MyHomePage(title: 'Flutter Demo Home Page'),\n );\n }\n}\n\nclass MyHomePage extends StatefulWidget {\n MyHomePage({Key key, this.title}) : super(key: key);\n final String title;\n\n @override\n _MyHomePageState createState() => new _MyHomePageState();\n}\n\nclass _MyHomePageState extends State {\n int _counter = 0;\n\n void _incrementCounter() {\n setState(() {\n _counter++;\n });\n }\n\n @override\n Widget build(BuildContext context) {\n return new Scaffold(\n appBar: new AppBar(\n title: new Text(widget.title),\n ),\n body: new Center(\n child: new Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n new Text(\n 'You have pushed the button this many times:',\n ),\n new Text(\n '$_counter',\n style: Theme.of(context).textTheme.display1,\n ),\n ],\n ),\n ),\n floatingActionButton: new FloatingActionButton(\n onPressed: _incrementCounter,\n tooltip: 'Increment',\n child: new Icon(Icons.add),\n ), // This trailing comma makes auto-formatting nicer for build methods.\n );\n }\n}\n\n分析\n\n导入包。\nimport 'package:flutter/material.dart';\n\n此行代码作用是导入了Material UI组件库。Material是一种标准的移动端和web端的视觉设计语言, Flutter默认提供了一套丰富的Material风格的UI组件。\n\n应用入口。\nvoid main() => runApp(new MyApp());\n\n\n与C/C++、Java类似,Flutter 应用中main函数为应用程序的入口,main函数中调用了,runApp 方法,它的功能是启动Flutter应用,它接受一个Widget参数,在本示例中它是MyApp类的一个实例,该参数代表Flutter应用。\nmain函数使用了(=>)符号,这是Dart中单行函数或方法的简写。\n\n\n应用结构。\nclass MyApp extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return new MaterialApp(\n //应用名称 \n title: 'Flutter Demo', \n theme: new ThemeData(\n //蓝色主题 \n primarySwatch: Colors.blue,\n ),\n //应用首页路由 \n home: new MyHomePage(title: 'Flutter Demo Home Page'),\n );\n }\n}\n\n\nMyApp类代表Flutter应用,它继承了 StatelessWidget类,这也就意味着应用本身也是一个widget。\n在Flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)。\nFlutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget)。\nMaterialApp 是Material库中提供的Flutter APP框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个widget。\nScaffold 是Material库中提供的页面脚手架,它包含导航栏和Body以及FloatingActionButton(如果需要的话)。 本书后面示例中,路由默认都是通过Scaffold创建。\nhome 为Flutter应用的首页,它也是一个widget。\n\n\n首页\nclass MyHomePage extends StatefulWidget {\n MyHomePage({Key key, this.title}) : super(key: key);\n final String title;\n @override\n _MyHomePageState createState() => new _MyHomePageState();\n}\n\nclass _MyHomePageState extends State {\n ...\n}\n\n\n\n MyHomePage 是应用的首页,它继承自StatefulWidget类,表示它是一个有状态的widget(Stateful widget)。现在,我们可以简单认为Stateful widget 和Stateless widget有两点不同:\n\nStateful widget可以拥有状态,这些状态在widget生命周期中是可以变的,而Stateless widget是不可变的。\nStateful widget至少由两个类组成:\n\n一个StatefulWidget类。\n一个 State类; StatefulWidget类本身是不变的,但是 State类中持有的状态在widget生命周期中可能会发生变化。\n\n_MyHomePageState类是MyHomePage类对应的状态类。看到这里,细心的读者可能已经发现,和MyApp 类不同, MyHomePage类中并没有build方法,取而代之的是,build方法被挪到了_MyHomePageState方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。\n\n\n 接下来,我们看看_MyHomePageState中都包含哪些东西:\n\n状态。\nint _counter = 0;\n\n_counter 为保存屏幕右下角带“➕”号按钮点击次数的状态。\n\n设置状态的自增函数。\nvoid _incrementCounter() {\n setState(() {\n _counter++;\n });\n}\n\n当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setState 方法。setState方法的作用是通知Flutter框架,有状态发生了改变,Flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面, Flutter 对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。\n\n构建UI界面\n构建UI界面的逻辑在build方法中,当MyHomePage第一次创建时,_MyHomePageState类会被创建,当初始化完成后,Flutter框架会调用Widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_MyHomePageState的build方法中都干了什么事:\n Widget build(BuildContext context) {\n return new Scaffold(\n appBar: new AppBar(\n title: new Text(widget.title),\n ),\n body: new Center(\n child: new Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n new Text(\n 'You have pushed the button this many times:',\n ),\n new Text(\n '$_counter',\n style: Theme.of(context).textTheme.display1,\n ),\n ],\n ),\n ),\n floatingActionButton: new FloatingActionButton(\n onPressed: _incrementCounter,\n tooltip: 'Increment',\n child: new Icon(Icons.add),\n ),\n );\n }\n\n\nScaffold 是 Material库中提供的一个widget, 它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。\nbody的widget树中包含了一个Center widget,Center 可以将其子widget树对齐到屏幕中心, Center 子widget是一个Column widget,Column的作用是将其所有子widget沿屏幕垂直方向依次排列, 此例中Column包含两个 Text子widget,第一个Text widget显示固定文本 “You have pushed the button this many times:”,第二个Text widget显示_counter状态的数值。\nfloatingActionButton是页面右下角的带“➕”的悬浮按钮,它的onPressed属性接受一个回调函数,代表它本点击后的处理器,本例中直接将_incrementCounter作为其处理函数。\n\n\n\n 现在,我们将整个流程串起来:当右下角的floatingActionButton按钮被点击之后,会调用_incrementCounter,在_incrementCounter中,首先会自增_counter计数器(状态),然后setState会通知Flutter框架状态发生变化,接着,Flutter会调用build方法以新的状态重新构建UI,最终显示在设备屏幕上。\n为什么要将build方法放在State中,而不是放在StatefulWidget中?\n现在,我们回答之前提出的问题,为什么build()方法在State(而不是StatefulWidget)中 ?这主要是为了开发的灵活性。如果将build()方法在StatefulWidget中则会有两个问题:\n\n状态访问不便\n试想一下,如果我们的Stateful widget 有很多状态,而每次状态改变都要调用build方法,由于状态是保存在State中的,如果将build方法放在StatefulWidget中,那么构建时读取状态将会很不方便,试想一下,如果真的将build方法放在StatefulWidget中的话,由于构建用户界面过程需要依赖State,所以build方法将必须加一个State参数,大概是下面这样:\n Widget build(BuildContext context, State state){\n //state.counter\n ...\n }\n\n这样的话就只能将State的所有状态声明为公开的状态,这样才能在State类外部访问状态,但将状态设置为公开后,状态将不再具有私密性,这样依赖,对状态的修改将会变的不可控。将build()方法放在State中的话,构建过程则可以直接访问状态,这样会很方便。\n\n继承StatefulWidget不便\n例如,Flutter中有一个动画widget的基类AnimatedWidget,它继承自StatefulWidget类。AnimatedWidget中引入了一个抽象方法build(BuildContext context),继承自AnimatedWidget的动画widget都要实现这个build方法。现在设想一下,如果StatefulWidget 类中已经有了一个build方法,正如上面所述,此时build方法需要接收一个state对象,这就意味着AnimatedWidget必须将自己的State对象(记为_animatedWidgetState)提供给其子类,因为子类需要在其build方法中调用父类的build方法,代码可能如下:\nclass MyAnimationWidget extends AnimatedWidget{\n @override\n Widget build(BuildContext context, State state){\n //由于子类要用到AnimatedWidget的状态对象_animatedWidgetState,\n //所以AnimatedWidget必须通过某种方式将其状态对象_animatedWidgetState\n //暴露给其子类 \n super.build(context, _animatedWidgetState)\n }\n}\n\n这样很显然是不合理的,因为\n\nAnimatedWidget的状态对象是AnimatedWidget内部实现细节,不应该暴露给外部。\n如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。\n\n\n\n综上所述,可以发现,对于StatefulWidget,将build方法放在State中,可以给开发带来很大的灵活性。\n"},"chapter2/flutter_router.html":{"url":"chapter2/flutter_router.html","title":"路由管理","keywords":"","body":"路由管理\n路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。\n示例\n我们在上一节“计数器”示例的基础上,做如下修改:\n\n创建一个新路由,命名“NewRoute”\nclass NewRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(\"New route\"),\n ),\n body: Center(\n child: Text(\"This is new route\"),\n ),\n );\n }\n}\n\n新路由继承自StatelessWidget,界面很简单,在页面中间显示一句\"This is new route\"。\n\n在_MyHomePageState.build方法中的Column的子widget中添加一个按钮(FlatButton) :\nColumn(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n ... //省略无关代码\n FlatButton(\n child: Text(\"open new route\"),\n textColor: Colors.blue,\n onPressed: () {\n //导航到新路由 \n Navigator.push( context,\n new MaterialPageRoute(builder: (context) {\n return new NewRoute();\n }));\n },\n ),\n ],\n )\n\n我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面。\n \n\n\nMaterialPageRoute\nMaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute 是Material组件库的一个Widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画:\n\n对于Android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。\n对于iOS,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。\n\n下面我们介绍一下MaterialPageRoute 构造函数的各个参数的意义:\n MaterialPageRoute({\n WidgetBuilder builder,\n RouteSettings settings,\n bool maintainState = true,\n bool fullscreenDialog = false,\n })\n\n\nbuilder 是一个WidgetBuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。\nsettings 包含路由的配置信息,如路由名称、是否初始路由(首页)。\nmaintainState:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainState为false。\nfullscreenDialog表示新的路由页面是否是一个全屏的模态对话框,在iOS中,如果fullscreenDialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。\n\n\n如果想自定义路由切换动画,可以自己继承PageRoute来实现,我们将在后面介绍动画时,实现一个自定义的路由Widget。\n\nNavigator\nNavigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:\nFuture push(BuildContext context, Route route)\n将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(及关闭)时的返回数据。\nbool pop(BuildContext context, [ result ])\n将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。\nNavigator 还有很多其它方法,如Navigator.replace、Navigator.popUntil等,详情请参考API文档或SDK源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。\n命名路由\n所谓命名路由(Named Route)即给路由起一个名字,然后可以通过路由名字直接打开新的路由。这为路由管理带来了一种直观、简单的方式。\n路由表\n要想使用命名路由,我们必须先提供并注册一个路由表(routing table),这样应用程序才知道哪个名称与哪个路由Widget对应。路由表的定义如下:\nMap routes;\n\n它是一个Map, key 为路由的名称,是个字符串;value是个builder回调函数,用于生成相应的路由Widget。我们在通过路由名称入栈新路由时,应用会根据路由名称在路由表中找到对应的WidgetBuilder回调函数,然后调用该回调函数生成路由widget并返回。\n注册路由表\n我们需要先注册路由表后,我们的Flutter应用才能正确处理命名路由的跳转。注册方式很简单,我们回到之前“计数器”的示例,然后在MyApp类的build方法中找到MaterialApp,添加routes属性,代码如下:\nreturn new MaterialApp(\n title: 'Flutter Demo',\n theme: new ThemeData(\n primarySwatch: Colors.blue,\n ),\n //注册路由表\n routes:{\n \"new_page\":(context)=>NewRoute(),\n } ,\n home: new MyHomePage(title: 'Flutter Demo Home Page'),\n);\n\n现在我们就完成了路由表的注册。\n通过路由名打开新路由页\n要通过路由名称来打开新路由,可以使用:\nFuture pushNamed(BuildContext context, String routeName)\nNavigator 除了pushNamed方法,还有pushReplacementNamed等其他管理命名路由的方法,读者可以自行查看API文档。\n接下来我们通过路由名来打开新的路由页,修改FlatButton的onPressed回调代码,改为:\nonPressed: () {\n Navigator.pushNamed(context, \"new_page\");\n //Navigator.push(context,\n // new MaterialPageRoute(builder: (context) {\n // return new NewRoute();\n //})); \n},\n\n热重载应用,再次点击“open new route”按钮,依然可以打开新的路由页。\n命名路由的优缺点\n命名路由的最大优点是直观,我们可以通过语义化的字符串来管理路由。但其有一个明显的缺点:不能直接传递路由参数。举个例子,假设有一个新路由EchoRoute,它的功能是接受一个字符串参数tip,然后再在屏幕中心将tip的内容显示出来,代码如下:\nclass EchoRoute extends StatelessWidget {\n EchoRoute(this.tip);\n final String tip;\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n title: Text(\"Echo route\"),\n ),\n body: Center(\n //回显tip内容 \n child: Text(tip),\n ),\n );\n }\n}\n\n如果我们使用命名参数,就必须将路由提前注册到路由表中,所以就无法动态修改tip参数,如:\n{\n \"tip_widgets\":(context)=>EchoRoute(\"内容固定\")\n}\n\n综上所述,我们可以看到当路由需要参数时,使用命名路由则不够灵活。\n"},"chapter2/flutter_package_mgr.html":{"url":"chapter2/flutter_package_mgr.html","title":"包管理","keywords":"","body":"包管理\n一个完整的应用程序往往会依赖很多第三方包,正如在原生开发中,Android使用Gradle来管理依赖,iOS用Cocoapods或Carthage来管理依赖,而Flutter也有自己的依赖管理工具,本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。\nYAML是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或Json相比,它语法简单并非常容易解析,所以YAML常用于配置文件,Flutter也是用yaml文件作为其配置文件,Flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例:\nname: flutter_in_action\ndescription: First Flutter application.\n\nversion: 1.0.0+1\n\ndependencies:\n flutter:\n sdk: flutter\n cupertino_icons: ^0.1.2\n\ndev_dependencies:\n flutter_test:\n sdk: flutter\n\nflutter:\n uses-material-design: true\n\n下面,我们逐一解释一下各个字段的意义:\n\nname:应用或包名称。\ndescription: 应用或包的描述、简介。\nversion:应用或包的版本号。\ndependencies:应用或包依赖的其它包或插件。\ndev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。\nflutter:flutter相关的配置选项。\n\n如果我们的Flutter应用本身依赖某个包,我们需要将所依赖的包添加到dependencies 下,接下来我们通过一个例子来演示一下如何依赖、下载并使用第三方包。\nPub仓库\nPub(https://pub.dartlang.org/ )是Google官方的Dart Packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。\n示例\n接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包,确定其最新的版本号和是否支持Flutter。\n\n我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来:\n\n将english_words(3.1.3版本)添加到依赖项列表,如下:\ndependencies:\n flutter:\n sdk: flutter\n\n cupertino_icons: ^0.1.0\n # 新添加的依赖\n english_words: ^3.1.3\n\n\n下载包\n在Android Studio的编辑器视图中查看pubspec.yaml时,单击右上角的 Packages get 。\n\n\n\n 这会将依赖包安装到您的项目。您可以在控制台中看到以下内容:\n flutter packages get\n Running \"flutter packages get\" in flutter_in_action...\n Process finished with exit code 0\n\n 你也可以在控制台,定位到当前工程目录,然后手动运行flutter packages get 命令来下载依赖包。\n\n引入english_words包。\nimport 'package:english_words/english_words.dart';\n\n在输入时,Android Studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。\n\n使用english_words包来生成随机字符串。\nclass RandomWordsWidget extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n // 生成随机字符串\n final wordPair = new WordPair.random();\n return Padding(\n padding: const EdgeInsets.all(8.0),\n child: new Text(wordPair.toString()),\n );\n }\n}\n\n我们将RandomWordsWidget 添加到\"计数器\"示例的首页MyHomePage 的Column的子widget中。\n\n如果应用程序正在运行,请使用热重载按钮 () 更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。 这是因为单词对是在 build 方法内部生成的。每次热更新时,build方法都会被执行。\n\n\n\n其它依赖方式\n上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。\n\n依赖本地包\n如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:\ndependencies:\n pkg1:\n path: ../../code/pkg1\n\n路径可以是相对的,也可以是绝对的。\n\n依赖Git:你也可以依赖存储在Git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法\ndependencies:\n pkg1:\n git:\n url: git://github.com/xxx/pkg1.git\n\n上面假定包位于Git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如:\ndependencies:\n package1:\n git:\n url: git://github.com/flutter/packages.git\n path: packages/package1\n\n\n\n总结\n本节介绍了引用、下载、使用一个包的整体流程,并在后面介绍了多种不同的引入方式,这些是Flutter开发中常用的,但Dart的dependencies还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/dependencies 。\n"},"chapter2/flutter_assets_mgr.html":{"url":"chapter2/flutter_assets_mgr.html","title":"资源管理","keywords":"","body":"资源管理\nFlutter应用程序可以包含代码和 assets(有时称为资源)。assets是会打包到程序安装包中的,可在运行时访问。常见类型的assets包括静态数据(例如JSON文件)、配置文件、图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)等。\n指定 assets\n和包管理一样,Flutter也使用pubspec.yaml文件来管理应用程序所需的资源。举一个例子:\nflutter:\n assets:\n - assets/my_icon.png\n - assets/background.png\nassets指定应包含在应用程序中的文件。 每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是assets)。\n在构建期间,Flutter将asset放置到称为 asset bundle 的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。\nAsset 变体(variant)\n构建过程支持asset变体的概念:不同版本的asset可能会显示在不同的上下文中。 在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset bundle中。\n例如,如果应用程序目录中有以下文件:\n\n…/pubspec.yaml\n…/graphics/my_icon.png\n…/graphics/background.png\n…/graphics/dark/background.png\n…etc.\n\n然后pubspec.yaml文件中只需包含:\nflutter:\n assets:\n - graphics/background.png\n那么这两个graphics/background.png和graphics/dark/background.png 都将包含在您的asset bundle中。前者被认为是main asset (主资源),后者被认为是一种变体(variant)。\n在选择匹配当前设备分辨率的图片时,Flutter会使用到asset变体(见下文),将来,Flutter可能会将这种机制扩展到本地化、阅读提示等方面。\n加载 assets\n您的应用可以通过AssetBundle对象访问其asset 。有两种主要方法允许从Asset bundle中加载字符串或图片(二进制)文件。\n加载文本assets\n\n通过rootBundle 对象加载:每个Flutter应用程序都有一个rootBundle对象, 通过它可以轻松访问主资源包,直接使用package:flutter/services.dart中全局静态的rootBundle对象来加载asset即可。\n通过 DefaultAssetBundle 加载:建议使用 DefaultAssetBundle 来获取当前BuildContext的AssetBundle。 这种方法不是使用应用程序构建的默认asset bundle,而是使父级widget在运行时动态替换的不同的AssetBundle,这对于本地化或测试场景很有用。\n\n通常,可以使用DefaultAssetBundle.of()在应用运行时来间接加载asset(例如JSON文件),而在widget上下文之外,或其它AssetBundle句柄不可用时,可以使用rootBundle直接加载这些asset,例如:\nimport 'dart:async' show Future;\nimport 'package:flutter/services.dart' show rootBundle;\n\nFuture loadAsset() async {\n return await rootBundle.loadString('assets/config.json');\n}\n\n加载图片\n类似于原生开发,Flutter也可以为当前设备加载适合其分辨率的图像。\n声明分辨率相关的图片 assets\nAssetImage 可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset:\n\n…/image.png\n…/Mx/image.png\n…/Nx/image.png\n…etc.\n\n其中M和N是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。\n主资源默认对应于1.0倍的分辨率图片。看一个例子:\n\n…/my_icon.png\n…/2.0x/my_icon.png\n…/3.0x/my_icon.png\n\n在设备像素比率为1.8的设备上,.../2.0x/my_icon.png 将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。\n如果未在Image widget上指定渲染图像的宽度和高度,那么Image widget将占用与主资源相同的屏幕空间大小。 也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px; 但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。\npubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。当主资源缺少某个资源时,会按分辨率从低到高的顺序去选择 ,也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。\n加载图片\n要加载图片,可以使用 AssetImage类。例如,我们可以从上面的asset声明中加载背景图片:\nWidget build(BuildContext context) {\n return new DecoratedBox(\n decoration: new BoxDecoration(\n image: new DecorationImage(\n image: new AssetImage('graphics/background.png'),\n ),\n ),\n );\n}\n\n注意,AssetImage 并非是一个widget, 它实际上是一个ImageProvider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用Image.asset()方法,如:\nWidget build(BuildContext context) {\n return Image.asset('graphics/background.png');\n}\n\n使用默认的 asset bundle 加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。 (如果使用一些更低级别的类,如 ImageStream或 ImageCache 时你会注意到有与缩放相关的参数)\n依赖包中的资源图片\n要加载依赖包中的图像,必须给AssetImage提供package参数。\n例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构:\n\n…/pubspec.yaml\n…/icons/heart.png\n…/icons/1.5x/heart.png\n…/icons/2.0x/heart.png\n…etc.\n\n然后加载图像,使用:\n new AssetImage('icons/heart.png', package: 'my_icons')\n\n或\nnew Image.asset('icons/heart.png', package: 'my_icons')\n\n注意:包在使用本身的资源时也应该加上package参数来获取。\n打包包中的 assets\n如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。\n包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。 例如,一个名为“fancy_backgrounds”的包,可能包含以下文件:\n\n…/lib/backgrounds/background1.png\n…/lib/backgrounds/background2.png\n…/lib/backgrounds/background3.png\n\n要包含第一张图像,必须在pubspec.yaml的assets部分中声明它:\nflutter:\n assets:\n - packages/fancy_backgrounds/backgrounds/background1.png\nlib/是隐含的,所以它不应该包含在资产路径中。\n特定平台 assets\n上面的资源都是flutter应用中的,这些资源只有在Flutter框架运行之后才能使用,如果要给我们的应用设置APP图标或者添加启动图,那我们必须使用特定平台的assets。\n设置APP图标\n更新Flutter应用程序启动图标的方式与在本机Android或iOS应用程序中更新启动图标的方式相同。\n\nAndroid\n在Flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap-hdpi已包含占位符图像”ic_launcher.png”)。 只需按照Android开发人员指南中的说明, 将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。\n\n\n注意: 如果您重命名.png文件,则还必须在您AndroidManifest.xml的标签的android:icon属性中更新名称。\n\n\niOS\n在Flutter项目的根目录中,导航到.../ios/Runner。该目录中Assets.xcassets/AppIcon.appiconset已经包含占位符图片。 只需将它们替换为适当大小的图片。保留原始文件名称。\n\n\n\n更新启动页\n\n在Flutter框架加载时,Flutter会使用本地平台机制绘制启动页。此启动页将持续到Flutter渲染应用程序的第一帧时。\n\n注意: 这意味着如果您不在应用程序的main()方法中调用runApp 函数 (或者更具体地说,如果您不调用window.render去响应window.onDrawFrame)的话, 启动屏幕将永远持续显示。\n\nAndroid\n要将启动屏幕(splash screen)添加到您的Flutter应用程序, 请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。\niOS\n要将图片添加到启动屏幕(splash screen)的中心,请导航至.../ios/Runner。在Assets.xcassets/LaunchImage.imageset, 拖入图片,并命名为LaunchImage.png、LaunchImage@2x.png、LaunchImage@3x.png。 如果你使用不同的文件名,那您还必须更新同一目录中的Contents.json文件,图片的具体尺寸可以查看苹果官方的标准。\n您也可以通过打开Xcode完全自定义storyboard。在Project Navigator中导航到Runner/Runner然后通过打开Assets.xcassets拖入图片,或者通过在LaunchScreen.storyboard中使用Interface Builder进行自定义。\n\n"},"chapter2/flutter_app_debug.html":{"url":"chapter2/flutter_app_debug.html","title":"调试Flutter APP","keywords":"","body":"调试Flutter应用\n有各种各样的工具和功能来帮助调试Flutter应用程序。\nDart 分析器\n在运行应用程序前,请运行flutter analyze测试你的代码。这个工具(它是dartanalyzer工具的一个包装)将分析你的代码并帮助你发现可能的错误。 如果你使用IntelliJ的Flutter插件,那么已经自动启用了。\nDart分析器大量使用了代码中的类型注释来帮助追踪问题。我们鼓励您在任何地方使用它们(避免var、无类型的参数、无类型的列表文字等),因为这是追踪问题的最快的方式。\nDart Observatory (语句级的单步调试和分析器)\n如果您使用flutter run启动应用程序,那么当它运行时,您可以打开Observatory URL的Web页面(例如Observatory监听http://127.0.0.1:8100/), 直接使用语句级单步调试器连接到您的应用程序。如果您使用的是IntelliJ,则还可以使用其内置的调试器来调试您的应用程序。\nObservatory 同时支持分析、检查堆等。有关Observatory的更多信息请参考Observatory 文档.\n如果您使用Observatory进行分析,请确保通过--profile选项来运行flutter run命令来运行应用程序。 否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。\ndebugger() 声明\n当使用Dart Observatory(或另一个Dart调试器,例如IntelliJ IDE中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import 'dart:developer';到相关文件顶部。\ndebugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示:\nvoid someFunction(double offset) {\n debugger(when: offset > 30.0);\n // ...\n}\nprint、debugPrint、flutter logs\nDart print()功能将输出到系统控制台,您可以使用flutter logs了查看它(基本上是一个包装adb logcat)。\n如果你一次输出太多,那么Android有时会丢弃一些日志行。为了避免这种情况,您可以使用Flutter的foundation库中的debugPrint()。 这是一个封装print,它将输出限制在一个级别,避免被Android内核丢弃。\nFlutter框架中的许多类都有toString实现。按照惯例,这些输出通常包括对象的runtimeType单行输出,通常在表单中ClassName(more information about this instance…)。 树中使用的一些类也具有toStringDeep,从该点返回整个子树的多行描述。已一些具有详细信息toString的类会实现一个toStringShort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。\n调试模式断言\n在开发过程中,强烈建议您使用Flutter的“调试”模式,有时也称为“checked”模式(注意:Dart2.0后“checked”被废除,可以使用“strong” mode)。 如果您使用flutter run运行程序。在这种模式下,Dart assert语句被启用,并且Flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。\n当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。\n要关闭调试模式并使用发布模式,请使用flutter run --release运行您的应用程序。 这也关闭了Observatory调试器。一个中间模式可以关闭除Observatory之外所有调试辅助工具的,称为“profile mode”,用--profile替代--release即可。\n调试应用程序层\nFlutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugPrint)的功能。\nWidget 层\n要转储Widgets库的状态,请调用debugDumpApp()。 只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用 )的任何时间调用此方法(在调用runApp()之后)。\n如, 这个应用程序:\nimport 'package:flutter/material.dart';\n\nvoid main() {\n runApp(\n new MaterialApp(\n home: new AppHome(),\n ),\n );\n}\n\nclass AppHome extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return new Material(\n child: new Center(\n child: new FlatButton(\n onPressed: () {\n debugDumpApp();\n },\n child: new Text('Dump App'),\n ),\n ),\n );\n }\n}\n\n…会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化):\nI/flutter ( 6559): WidgetsFlutterBinding - CHECKED MODE\nI/flutter ( 6559): RenderObjectToWidgetAdapter([GlobalObjectKey RenderView(497039273)]; renderObject: RenderView)\nI/flutter ( 6559): └MaterialApp(state: _MaterialAppState(1009803148))\nI/flutter ( 6559): └ScrollConfiguration()\nI/flutter ( 6559): └AnimatedTheme(duration: 200ms; state: _AnimatedThemeState(543295893; ticker inactive; ThemeDataTween(ThemeData(Brightness.light Color(0xff2196f3) etc...) → null)))\nI/flutter ( 6559): └Theme(ThemeData(Brightness.light Color(0xff2196f3) etc...))\nI/flutter ( 6559): └WidgetsApp([GlobalObjectKey _MaterialAppState(1009803148)]; state: _WidgetsAppState(552902158))\nI/flutter ( 6559): └CheckedModeBanner()\nI/flutter ( 6559): └Banner()\nI/flutter ( 6559): └CustomPaint(renderObject: RenderCustomPaint)\nI/flutter ( 6559): └DefaultTextStyle(inherit: true; color: Color(0xd0ff0000); family: \"monospace\"; size: 48.0; weight: 900; decoration: double Color(0xffffff00) TextDecoration.underline)\nI/flutter ( 6559): └MediaQuery(MediaQueryData(size: Size(411.4, 683.4), devicePixelRatio: 2.625, textScaleFactor: 1.0, padding: EdgeInsets(0.0, 24.0, 0.0, 0.0)))\nI/flutter ( 6559): └LocaleQuery(null)\nI/flutter ( 6559): └Title(color: Color(0xff2196f3))\nI/flutter ( 6559): └Navigator([GlobalObjectKey _WidgetsAppState(552902158)]; state: NavigatorState(240327618; tracking 1 ticker))\nI/flutter ( 6559): └Listener(listeners: down, up, cancel; behavior: defer-to-child; renderObject: RenderPointerListener)\nI/flutter ( 6559): └AbsorbPointer(renderObject: RenderAbsorbPointer)\nI/flutter ( 6559): └Focus([GlobalKey 489139594]; state: _FocusState(739584448))\nI/flutter ( 6559): └Semantics(container: true; renderObject: RenderSemanticsAnnotations)\nI/flutter ( 6559): └_FocusScope(this scope has focus; focused subscope: [GlobalObjectKey MaterialPageRoute(875520219)])\nI/flutter ( 6559): └Overlay([GlobalKey 199833992]; state: OverlayState(619367313; entries: [OverlayEntry@248818791(opaque: false; maintainState: false), OverlayEntry@837336156(opaque: false; maintainState: true)]))\nI/flutter ( 6559): └_Theatre(renderObject: _RenderTheatre)\nI/flutter ( 6559): └Stack(renderObject: RenderStack)\nI/flutter ( 6559): ├_OverlayEntry([GlobalKey 612888877]; state: _OverlayEntryState(739137453))\nI/flutter ( 6559): │└IgnorePointer(ignoring: false; renderObject: RenderIgnorePointer)\nI/flutter ( 6559): │ └ModalBarrier()\nI/flutter ( 6559): │ └Semantics(container: true; renderObject: RenderSemanticsAnnotations)\nI/flutter ( 6559): │ └GestureDetector()\nI/flutter ( 6559): │ └RawGestureDetector(state: RawGestureDetectorState(39068508; gestures: tap; behavior: opaque))\nI/flutter ( 6559): │ └_GestureSemantics(renderObject: RenderSemanticsGestureHandler)\nI/flutter ( 6559): │ └Listener(listeners: down; behavior: opaque; renderObject: RenderPointerListener)\nI/flutter ( 6559): │ └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox)\nI/flutter ( 6559): └_OverlayEntry([GlobalKey 727622716]; state: _OverlayEntryState(279971240))\nI/flutter ( 6559): └_ModalScope([GlobalKey 816151164]; state: _ModalScopeState(875510645))\nI/flutter ( 6559): └Focus([GlobalObjectKey MaterialPageRoute(875520219)]; state: _FocusState(331487674))\nI/flutter ( 6559): └Semantics(container: true; renderObject: RenderSemanticsAnnotations)\nI/flutter ( 6559): └_FocusScope(this scope has focus)\nI/flutter ( 6559): └Offstage(offstage: false; renderObject: RenderOffstage)\nI/flutter ( 6559): └IgnorePointer(ignoring: false; renderObject: RenderIgnorePointer)\nI/flutter ( 6559): └_MountainViewPageTransition(animation: AnimationController(⏭ 1.000; paused; for MaterialPageRoute(/))➩ProxyAnimation➩Cubic(0.40, 0.00, 0.20, 1.00)➩Tween(Offset(0.0, 1.0) → Offset(0.0, 0.0))➩Offset(0.0, 0.0); state: _AnimatedState(552160732))\nI/flutter ( 6559): └SlideTransition(animation: AnimationController(⏭ 1.000; paused; for MaterialPageRoute(/))➩ProxyAnimation➩Cubic(0.40, 0.00, 0.20, 1.00)➩Tween(Offset(0.0, 1.0) → Offset(0.0, 0.0))➩Offset(0.0, 0.0); state: _AnimatedState(714726495))\nI/flutter ( 6559): └FractionalTranslation(renderObject: RenderFractionalTranslation)\nI/flutter ( 6559): └RepaintBoundary(renderObject: RenderRepaintBoundary)\nI/flutter ( 6559): └PageStorage([GlobalKey 619728754])\nI/flutter ( 6559): └_ModalScopeStatus(active)\nI/flutter ( 6559): └AppHome()\nI/flutter ( 6559): └Material(MaterialType.canvas; elevation: 0; state: _MaterialState(780114997))\nI/flutter ( 6559): └AnimatedContainer(duration: 200ms; has background; state: _AnimatedContainerState(616063822; ticker inactive; has background))\nI/flutter ( 6559): └Container(bg: BoxDecoration())\nI/flutter ( 6559): └DecoratedBox(renderObject: RenderDecoratedBox)\nI/flutter ( 6559): └Container(bg: BoxDecoration(backgroundColor: Color(0xfffafafa)))\nI/flutter ( 6559): └DecoratedBox(renderObject: RenderDecoratedBox)\nI/flutter ( 6559): └NotificationListener()\nI/flutter ( 6559): └_InkFeature([GlobalKey ink renderer]; renderObject: _RenderInkFeatures)\nI/flutter ( 6559): └AnimatedDefaultTextStyle(duration: 200ms; inherit: false; color: Color(0xdd000000); family: \"Roboto\"; size: 14.0; weight: 400; baseline: alphabetic; state: _AnimatedDefaultTextStyleState(427742350; ticker inactive))\nI/flutter ( 6559): └DefaultTextStyle(inherit: false; color: Color(0xdd000000); family: \"Roboto\"; size: 14.0; weight: 400; baseline: alphabetic)\nI/flutter ( 6559): └Center(alignment: Alignment.center; renderObject: RenderPositionedBox)\nI/flutter ( 6559): └FlatButton()\nI/flutter ( 6559): └MaterialButton(state: _MaterialButtonState(398724090))\nI/flutter ( 6559): └ConstrainedBox(BoxConstraints(88.0(369160267))\nI/flutter ( 6559): └GestureDetector()\nI/flutter ( 6559): └RawGestureDetector(state: RawGestureDetectorState(175370983; gestures: tap; behavior: opaque))\nI/flutter ( 6559): └_GestureSemantics(renderObject: RenderSemanticsGestureHandler relayoutBoundary=up2)\nI/flutter ( 6559): └Listener(listeners: down; behavior: opaque; renderObject: RenderPointerListener relayoutBoundary=up3)\nI/flutter ( 6559): └Container(padding: EdgeInsets(16.0, 0.0, 16.0, 0.0))\nI/flutter ( 6559): └Padding(renderObject: RenderPadding relayoutBoundary=up4)\nI/flutter ( 6559): └Center(alignment: Alignment.center; widthFactor: 1.0; renderObject: RenderPositionedBox relayoutBoundary=up5)\nI/flutter ( 6559): └Text(\"Dump App\")\nI/flutter ( 6559): └RichText(renderObject: RenderParagraph relayoutBoundary=up6)\n这是一个“扁平化”的树,显示了通过各种构建函数投影的所有widget(如果你在widget树的根中调用toStringDeepwidget,这是你获得的树)。 你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,InkFeature是Material widget的一个实现细节 。\n当按钮从被按下变为被释放时debugDumpApp()被调用,FlatButton对象同时调用setState(),并将自己标记为\"dirty\"。 这就是为什么如果你看转储,你会看到特定的对象标记为“dirty”。您还可以查看已注册了哪些手势监听器; 在这种情况下,一个单一的GestureDetector被列出,并且监听“tap”手势(“tap”是TapGestureDetector的toStringShort函数输出的)\n如果您编写自己的widget,则可以通过覆盖debugFillProperties()来添加信息。 将DiagnosticsProperty对象作为方法参数,并调用父类方法。 该函数是该toString方法用来填充小部件描述信息的。\n渲染层\n如果您尝试调试布局问题,那么Widgets层的树可能不够详细。在这种情况下,您可以通过调用debugDumpRenderTree()转储渲染树。 正如debugDumpApp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从frame 回调 或事件处理器中调用它是最佳解决方案。\n要调用debugDumpRenderTree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。\n上面这个小例子的输出结果如下所示:\nI/flutter ( 6559): RenderView\nI/flutter ( 6559): │ debug mode enabled - android\nI/flutter ( 6559): │ window size: Size(1080.0, 1794.0) (in physical pixels)\nI/flutter ( 6559): │ device pixel ratio: 2.625 (physical pixels per logical pixel)\nI/flutter ( 6559): │ configuration: Size(411.4, 683.4) at 2.625x (in logical pixels)\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: RenderCustomPaint\nI/flutter ( 6559): │ creator: CustomPaint ← Banner ← CheckedModeBanner ←\nI/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ←\nI/flutter ( 6559): │ Theme ← AnimatedTheme ← ScrollConfiguration ← MaterialApp ←\nI/flutter ( 6559): │ [root]\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: RenderPointerListener\nI/flutter ( 6559): │ creator: Listener ← Navigator-[GlobalObjectKey\nI/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ←\nI/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ←\nI/flutter ( 6559): │ Theme ← AnimatedTheme ← ⋯\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │ behavior: defer-to-child\nI/flutter ( 6559): │ listeners: down, up, cancel\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: RenderAbsorbPointer\nI/flutter ( 6559): │ creator: AbsorbPointer ← Listener ←\nI/flutter ( 6559): │ Navigator-[GlobalObjectKey\nI/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ←\nI/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ←\nI/flutter ( 6559): │ Theme ← ⋯\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │ absorbing: false\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: RenderSemanticsAnnotations\nI/flutter ( 6559): │ creator: Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer\nI/flutter ( 6559): │ ← Listener ← Navigator-[GlobalObjectKey\nI/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ←\nI/flutter ( 6559): │ ⋯\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │\nI/flutter ( 6559): └─child: _RenderTheatre\nI/flutter ( 6559): │ creator: _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope ←\nI/flutter ( 6559): │ Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ←\nI/flutter ( 6559): │ Listener ← Navigator-[GlobalObjectKey\nI/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): │ ← DefaultTextStyle ← ⋯\nI/flutter ( 6559): │ parentData: \nI/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): │ size: Size(411.4, 683.4)\nI/flutter ( 6559): │\nI/flutter ( 6559): ├─onstage: RenderStack\nI/flutter ( 6559): ╎ │ creator: Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ←\nI/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalKey 489139594] ←\nI/flutter ( 6559): ╎ │ AbsorbPointer ← Listener ←\nI/flutter ( 6559): ╎ │ Navigator-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery\nI/flutter ( 6559): ╎ │ ← ⋯\nI/flutter ( 6559): ╎ │ parentData: not positioned; offset=Offset(0.0, 0.0)\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ ├─child 1: RenderIgnorePointer\nI/flutter ( 6559): ╎ │ │ creator: IgnorePointer ← _OverlayEntry-[GlobalKey 612888877] ←\nI/flutter ( 6559): ╎ │ │ Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope\nI/flutter ( 6559): ╎ │ │ ← Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ←\nI/flutter ( 6559): ╎ │ │ Listener ← Navigator-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ │ _WidgetsAppState(552902158)] ← Title ← ⋯\nI/flutter ( 6559): ╎ │ │ parentData: not positioned; offset=Offset(0.0, 0.0)\nI/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ │ ignoring: false\nI/flutter ( 6559): ╎ │ │ ignoringSemantics: implicitly false\nI/flutter ( 6559): ╎ │ │\nI/flutter ( 6559): ╎ │ └─child: RenderSemanticsAnnotations\nI/flutter ( 6559): ╎ │ │ creator: Semantics ← ModalBarrier ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ←\nI/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← Semantics ←\nI/flutter ( 6559): ╎ │ │ Focus-[GlobalKey 489139594] ← AbsorbPointer ← Listener ← ⋯\nI/flutter ( 6559): ╎ │ │ parentData: \nI/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ │\nI/flutter ( 6559): ╎ │ └─child: RenderSemanticsGestureHandler\nI/flutter ( 6559): ╎ │ │ creator: _GestureSemantics ← RawGestureDetector ← GestureDetector\nI/flutter ( 6559): ╎ │ │ ← Semantics ← ModalBarrier ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ←\nI/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← Semantics ← ⋯\nI/flutter ( 6559): ╎ │ │ parentData: \nI/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ │\nI/flutter ( 6559): ╎ │ └─child: RenderPointerListener\nI/flutter ( 6559): ╎ │ │ creator: Listener ← _GestureSemantics ← RawGestureDetector ←\nI/flutter ( 6559): ╎ │ │ GestureDetector ← Semantics ← ModalBarrier ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ←\nI/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← ⋯\nI/flutter ( 6559): ╎ │ │ parentData: \nI/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ │ behavior: opaque\nI/flutter ( 6559): ╎ │ │ listeners: down\nI/flutter ( 6559): ╎ │ │\nI/flutter ( 6559): ╎ │ └─child: RenderConstrainedBox\nI/flutter ( 6559): ╎ │ creator: ConstrainedBox ← Listener ← _GestureSemantics ←\nI/flutter ( 6559): ╎ │ RawGestureDetector ← GestureDetector ← Semantics ← ModalBarrier\nI/flutter ( 6559): ╎ │ ← IgnorePointer ← _OverlayEntry-[GlobalKey 612888877] ← Stack ←\nI/flutter ( 6559): ╎ │ _Theatre ← Overlay-[GlobalKey 199833992] ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ additionalConstraints: BoxConstraints(biggest)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child 2: RenderSemanticsAnnotations\nI/flutter ( 6559): ╎ │ creator: Semantics ← Focus-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey\nI/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ←\nI/flutter ( 6559): ╎ │ _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope ←\nI/flutter ( 6559): ╎ │ Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ←\nI/flutter ( 6559): ╎ │ Listener ← ⋯\nI/flutter ( 6559): ╎ │ parentData: not positioned; offset=Offset(0.0, 0.0)\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderOffstage\nI/flutter ( 6559): ╎ │ creator: Offstage ← _FocusScope ← Semantics ←\nI/flutter ( 6559): ╎ │ Focus-[GlobalObjectKey MaterialPageRoute(875520219)] ←\nI/flutter ( 6559): ╎ │ _ModalScope-[GlobalKey 816151164] ← _OverlayEntry-[GlobalKey\nI/flutter ( 6559): ╎ │ 727622716] ← Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ←\nI/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalKey 489139594] ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ offstage: false\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderIgnorePointer\nI/flutter ( 6559): ╎ │ creator: IgnorePointer ← Offstage ← _FocusScope ← Semantics ←\nI/flutter ( 6559): ╎ │ Focus-[GlobalObjectKey MaterialPageRoute(875520219)] ←\nI/flutter ( 6559): ╎ │ _ModalScope-[GlobalKey 816151164] ← _OverlayEntry-[GlobalKey\nI/flutter ( 6559): ╎ │ 727622716] ← Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ←\nI/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ ignoring: false\nI/flutter ( 6559): ╎ │ ignoringSemantics: implicitly false\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderFractionalTranslation\nI/flutter ( 6559): ╎ │ creator: FractionalTranslation ← SlideTransition ←\nI/flutter ( 6559): ╎ │ _MountainViewPageTransition ← IgnorePointer ← Offstage ←\nI/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey\nI/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ←\nI/flutter ( 6559): ╎ │ _Theatre ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ translation: Offset(0.0, 0.0)\nI/flutter ( 6559): ╎ │ transformHitTests: true\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderRepaintBoundary\nI/flutter ( 6559): ╎ │ creator: RepaintBoundary ← FractionalTranslation ←\nI/flutter ( 6559): ╎ │ SlideTransition ← _MountainViewPageTransition ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ Offstage ← _FocusScope ← Semantics ← Focus-[GlobalObjectKey\nI/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey\nI/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ metrics: 83.3% useful (1 bad vs 5 good)\nI/flutter ( 6559): ╎ │ diagnosis: this is a useful repaint boundary and should be kept\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderDecoratedBox\nI/flutter ( 6559): ╎ │ creator: DecoratedBox ← Container ← AnimatedContainer ← Material\nI/flutter ( 6559): ╎ │ ← AppHome ← _ModalScopeStatus ← PageStorage-[GlobalKey\nI/flutter ( 6559): ╎ │ 619728754] ← RepaintBoundary ← FractionalTranslation ←\nI/flutter ( 6559): ╎ │ SlideTransition ← _MountainViewPageTransition ← IgnorePointer ←\nI/flutter ( 6559): ╎ │ ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ decoration:\nI/flutter ( 6559): ╎ │ \nI/flutter ( 6559): ╎ │ configuration: ImageConfiguration(bundle:\nI/flutter ( 6559): ╎ │ PlatformAssetBundle@367106502(), devicePixelRatio: 2.625,\nI/flutter ( 6559): ╎ │ platform: android)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderDecoratedBox\nI/flutter ( 6559): ╎ │ creator: DecoratedBox ← Container ← DecoratedBox ← Container ←\nI/flutter ( 6559): ╎ │ AnimatedContainer ← Material ← AppHome ← _ModalScopeStatus ←\nI/flutter ( 6559): ╎ │ PageStorage-[GlobalKey 619728754] ← RepaintBoundary ←\nI/flutter ( 6559): ╎ │ FractionalTranslation ← SlideTransition ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ decoration:\nI/flutter ( 6559): ╎ │ backgroundColor: Color(0xfffafafa)\nI/flutter ( 6559): ╎ │ configuration: ImageConfiguration(bundle:\nI/flutter ( 6559): ╎ │ PlatformAssetBundle@367106502(), devicePixelRatio: 2.625,\nI/flutter ( 6559): ╎ │ platform: android)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: _RenderInkFeatures\nI/flutter ( 6559): ╎ │ creator: _InkFeature-[GlobalKey ink renderer] ←\nI/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox\nI/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← AnimatedContainer ←\nI/flutter ( 6559): ╎ │ Material ← AppHome ← _ModalScopeStatus ← PageStorage-[GlobalKey\nI/flutter ( 6559): ╎ │ 619728754] ← RepaintBoundary ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderPositionedBox\nI/flutter ( 6559): ╎ │ creator: Center ← DefaultTextStyle ← AnimatedDefaultTextStyle ←\nI/flutter ( 6559): ╎ │ _InkFeature-[GlobalKey ink renderer] ←\nI/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox\nI/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← AnimatedContainer ←\nI/flutter ( 6559): ╎ │ Material ← AppHome ← ⋯\nI/flutter ( 6559): ╎ │ parentData: \nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4)\nI/flutter ( 6559): ╎ │ size: Size(411.4, 683.4)\nI/flutter ( 6559): ╎ │ alignment: Alignment.center\nI/flutter ( 6559): ╎ │ widthFactor: expand\nI/flutter ( 6559): ╎ │ heightFactor: expand\nI/flutter ( 6559): ╎ │\nI/flutter ( 6559): ╎ └─child: RenderConstrainedBox relayoutBoundary=up1\nI/flutter ( 6559): ╎ │ creator: ConstrainedBox ← MaterialButton ← FlatButton ← Center ←\nI/flutter ( 6559): ╎ │ DefaultTextStyle ← AnimatedDefaultTextStyle ←\nI/flutter ( 6559): ╎ │ _InkFeature-[GlobalKey ink renderer] ←\nI/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox\nI/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← ⋯\nI/flutter ( 6559): ╎ │ parentData: offset=Offset(156.7, 323.7)\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(0.0\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0\nI/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0这是根RenderObject对象的toStringDeep函数的输出。\n当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。\n例如,在上面的转储中,您可以看到窗口大小,Size(411.4, 683.4),它用于强制RenderPositionedBox下的所有渲染框到屏幕的大小, 约束条件为 BoxConstraints(w=411.4, h=683.4)。从RenderPositionedBox的转储中看到是由Center widget创建的(如creator字段所描述的), 设置其孩子的约束为:BoxConstraints(0.0FlatButton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是Material Design设计规范中FlatButton类的尺寸标准)。\n最内部RenderPositionedBox再次松开约束,这次是将按钮中的文本居中。 在RenderParagraph中基于它的内容来决定其大小。 如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。\n另一种需要注意的是每个盒子描述的”relayoutSubtreeRoot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。 因此,RenderParagraph有一个relayoutSubtreeRoot=up8,这意味着当它RenderParagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。\n如果您编写自己的渲染对象,则可以通过覆盖debugFillProperties()将信息添加到转储。 将DiagnosticsProperty对象作为方法的参数,并调用父类方法。\n层\n如果您尝试调试合成问题,则可以使用debugDumpLayerTree()。对于上面的例子,它会输出:\nI/flutter : TransformLayer\nI/flutter : │ creator: [root]\nI/flutter : │ offset: Offset(0.0, 0.0)\nI/flutter : │ transform:\nI/flutter : │ [0] 3.5,0.0,0.0,0.0\nI/flutter : │ [1] 0.0,3.5,0.0,0.0\nI/flutter : │ [2] 0.0,0.0,1.0,0.0\nI/flutter : │ [3] 0.0,0.0,0.0,1.0\nI/flutter : │\nI/flutter : ├─child 1: OffsetLayer\nI/flutter : │ │ creator: RepaintBoundary ← _FocusScope ← Semantics ← Focus-[GlobalObjectKey MaterialPageRoute(560156430)] ← _ModalScope-[GlobalKey 328026813] ← _OverlayEntry-[GlobalKey 388965355] ← Stack ← Overlay-[GlobalKey 625702218] ← Navigator-[GlobalObjectKey _MaterialAppState(859106034)] ← Title ← ⋯\nI/flutter : │ │ offset: Offset(0.0, 0.0)\nI/flutter : │ │\nI/flutter : │ └─child 1: PictureLayer\nI/flutter : │\nI/flutter : └─child 2: PictureLayer\n这是根Layer的toStringDeep输出的。\n根部的变换是应用设备像素比的变换; 在这种情况下,每个逻辑像素代表3.5个设备像素。\nRepaintBoundary widget在渲染树的层中创建了一个RenderRepaintBoundary。这用于减少需要重绘的需求量。\n语义\n您还可以调用debugDumpSemanticsTree()获取语义树(呈现给系统可访问性API的树)的转储。 要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或SemanticsDebugger (下面讨论)。\n对于上面的例子,它会输出:\nI/flutter : SemanticsNode(0; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4))\nI/flutter : ├SemanticsNode(1; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4))\nI/flutter : │ └SemanticsNode(2; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4); canBeTapped)\nI/flutter : └SemanticsNode(3; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4))\nI/flutter : └SemanticsNode(4; Rect.fromLTRB(0.0, 0.0, 82.0, 36.0); canBeTapped; \"Dump App\")\n调度\n要找出相对于帧的开始/结束事件发生的位置,可以切换debugPrintBeginFrameBanner和debugPrintEndFrameBanner布尔值以将帧的开始和结束打印到控制台。\n例如:\nI/flutter : ▄▄▄▄▄▄▄▄ Frame 12 30s 437.086ms ▄▄▄▄▄▄▄▄\nI/flutter : Debug print: Am I performing this work more than once per frame?\nI/flutter : Debug print: Am I performing this work more than once per frame?\nI/flutter : ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀\ndebugPrintScheduleFrameStacks还可以用来打印导致当前帧被调度的调用堆栈。\n可视化调试\n您也可以通过设置debugPaintSizeEnabled为true以可视方式调试布局问题。 这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。 设置它的最简单方法是在void main()的顶部设置。\n当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如Padding)显示为浅蓝色,子widget周围有一个深蓝色框, 对齐方式(来自widget如Center和Align)显示为黄色箭头. 空白(如没有任何子节点的Container)以灰色显示。\ndebugPaintBaselinesEnabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。\ndebugPaintPointersEnabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。 这可以帮助您确定某个对象是否以某种不正确的方式进行hit测试(Flutter检测点击的位置是否有能响应用户操作的widget),例如,如果它实际上超出了其父项的范围,首先不会考虑通过hit测试。\n如果您尝试调试合成图层,例如以确定是否以及在何处添加RepaintBoundary widget,则可以使用debugPaintLayerBordersEnabled 标志, 该标志用橙色或轮廓线标出每个层的边界,或者使用debugRepaintRainbowEnabled标志, 只要他们重绘时,这会使该层被一组旋转色所覆盖。\n所有这些标志只能在调试模式下工作。通常,Flutter框架中以“debug...” 开头的任何内容都只能在调试模式下工作。\n调试动画\n调试动画最简单的方法是减慢它们的速度。为此,请将timeDilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。 最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。\n调试性能问题\n要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugPrintMarkNeedsLayoutStacks和 debugPrintMarkNeedsPaintStacks标志。 每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugPrintStack()方法按需打印堆栈痕迹。\n衡量应用启动时间\n要收集有关Flutter应用程序启动所需时间的详细信息,可以在运行flutter run时使用trace-startup和profile选项。\n$ flutter run --trace-startup --profile\n跟踪输出保存为start_up_info.json,在Flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:\n\n进入Flutter引擎时.\n展示应用第一帧时.\n初始化Flutter框架时.\n完成Flutter框架初始化时.\n\n如 :\n{\n \"engineEnterTimestampMicros\": 96025565262,\n \"timeToFirstFrameMicros\": 2171978,\n \"timeToFrameworkInitMicros\": 514585,\n \"timeAfterFrameworkInitMicros\": 1657393\n}\n跟踪Dart代码性能\n要执行自定义性能跟踪和测量Dart任意代码段的wall/CPU时间(类似于在Android上使用systrace)。 使用dart:developer的Timeline工具来包含你想测试的代码块,例如:\nTimeline.startSync('interesting function');\n// iWonderHowLongThisTakes();\nTimeline.finishSync();\n然后打开你应用程序的Observatory timeline页面,在”Recorded Streams”中选择’Dart’复选框,并执行你想测量的功能。\n刷新页面将在Chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。\n请确保运行flutter run时带有--profile标志,以确保运行时性能特征与您的最终产品差异最小。\nPerformance Overlay\n要获得应用程序性能图,请将MaterialApp构造函数的showPerformanceOverlay参数设置为true。 WidgetsApp构造函数也有类似的参数(如果你没有使用MaterialApp或者WidgetsApp,你可以通过将你的应用程序包装在一个stack中, 并将一个widget放在通过new PerformanceOverlay.allEnabled()创建的stack上来获得相同的效果)。\n这将显示两个图表。第一个是GPU线程花费的时间,最后一个是CPU线程花费的时间。 图中的白线以16ms增量沿纵轴显示; 如果图中超过这三条线之一,那么您的运行频率低于60Hz。横轴代表帧。 该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。\n这应该始终在发布模式(release mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。\nMaterial grid\n在开发实现Material Design的应用程序时, 将Material Design基线网格覆盖在应用程序上可能有助于验证对齐。 为此,MaterialApp 构造函数 有一个debugShowMaterialGrid参数, 当在调试模式设置为true时,它将覆盖这样一个网格。\n您也可以直接使用GridPaperwidget将这种网格覆盖在非Material应用程序上 。\n"},"chapter2/thread_model_and_error_report.html":{"url":"chapter2/thread_model_and_error_report.html","title":"Dart线程模型及异常捕获","keywords":"","body":"Dart线程模型及异常捕获\nDart单线程模型\n在Java和OC中,如果程序发生异常且没有被捕获,那么程序将会终止,但在Dart或JavaScript中则不会,究其原因,这和它们的运行机制有关系,Java和OC都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但Dart和JavaScript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过Dart官方提供的一张图来看看dart大致运行原理:\n\nDart 在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列” microtask queue,另一个叫做“事件队列” event queue。从图中可以发现,微任务队列的执行优先级高于事件队列。\n现在我们来介绍一下Dart线程运行过程,如上图中所示,入口函数 main() 执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。\n在Dart中,所有的外部事件任务都在事件队列中,如IO、计时器、点击、以及绘制事件等,而微任务通常来源于Dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于GUI应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过Future.microtask(…)方法向微任务队列插入一个任务。\n在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。\nFlutter异常捕获\nDart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,,如果读者不清楚,可以查看Dart语言文档,不在赘述,下面我们看看Flutter中的异常捕获。\nFlutter框架异常捕获\nFlutter 框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,Flutter就会自动弹出一个错误界面,这是因为Flutter已经在执行build方法时添加了异常捕获,最终的源码如下:\n@override\nvoid performRebuild() {\n ...\n try {\n //执行build方法 \n built = build();\n } catch (e, stack) {\n // 有异常时则弹出错误提示 \n built = ErrorWidget.builder(_debugReportException('building $this', e, stack));\n } \n ...\n}\n\n可以看到,在发生异常时,Flutter默认的处理方式是弹一个ErrorWidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugReportException()方法看看:\nFlutterErrorDetails _debugReportException(\n String context,\n dynamic exception,\n StackTrace stack, {\n InformationCollector informationCollector\n}) {\n //构建错误详情对象 \n final FlutterErrorDetails details = FlutterErrorDetails(\n exception: exception,\n stack: stack,\n library: 'widgets library',\n context: context,\n informationCollector: informationCollector,\n );\n //报告错误 \n FlutterError.reportError(details);\n return details;\n}\n\n我们发现,错误是通过FlutterError.reportError方法上报的,继续跟踪:\n\nstatic void reportError(FlutterErrorDetails details) {\n ...\n if (onError != null)\n onError(details); //调用了onError回调\n}\n\n我们发现onError是FlutterError的一个静态属性,它有一个默认的处理方法 dumpErrorToConsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如:\nvoid main() {\n FlutterError.onError = (FlutterErrorDetails details) {\n reportError(details);\n };\n ...\n}\n\n这样我们就可以处理那些Flutter为我们捕获的异常了,接下来我们看看如何捕获其它异常。\n其它异常捕获与日志收集\n在Flutter中,还有一些Flutter没有为我们捕获的异常,如调用空对象方法异常、Future中的异常。在Dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了Future的异常的:\ntry{\n Future.delayed(Duration(seconds: 1)).then((e) => Future.error(\"xxx\"));\n}catch (e){\n print(e)\n}\n\nDart中有一个runZoned(...) 方法,可以给执行对象指定一个Zone。Zone表示一个代码执行的环境范围,为了方便理解,读者可以将Zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如Zone中可以捕获日志输出、Timer创建、微任务调度的行为,同时Zone也可以捕获所有未处理的异常。下面我们看看runZoned(...)方法定义:\nR runZoned(R body(), {\n Map zoneValues, \n ZoneSpecification zoneSpecification,\n Function onError,\n})\n\n\nzoneValues: Zone 的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。\n\nzoneSpecification:Zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子:\n下面是拦截应用中所有调用print输出日志的行为。\nmain() {\n runZoned(() => runApp(MyApp()), zoneSpecification: new ZoneSpecification(\n print: (Zone self, ZoneDelegate parent, Zone zone, String line) {\n parent.print(zone, \"Intercepted: $line\");\n }),\n );\n}\n\n这样一来,我们APP中所有调用print方法输出日志的行为都会被拦截,通过这种方式,我们也可以在应用中记录日志,等到应用触发未捕获的异常时,将异常信息和日志统一上报。ZoneSpecification还可以自定义一些其他行为,读者可以查看API文档。\n\nonError:Zone中未捕获异常处理回调,如果开发者提供了onError回调或者通过ZoneSpecification.handleUncaughtError指定了错误处理回调,那么这个zone将会变成一个error-zone,该error-zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如:\nrunZoned(() {\n runApp(MyApp());\n}, onError: (Object obj, StackTrace stack) {\n var details=makeDetails(obj,stack);\n reportError(details);\n});\n\n这样一来,结合上面的FlutterError.onError我们就可以捕获我们Flutter应用中全部错误了!需要注意的是,error-zone内部发生的错误是不会跨越当前error-zone的边界的,如果想跨越error-zone边界去捕获异常,可以通过共同的“源”zone来捕获,如:\nvar future = new Future.value(499);\nrunZoned(() {\n var future2 = future.then((_) { throw \"error in first error-zone\"; });\n runZoned(() {\n var future3 = future2.catchError((e) { print(\"Never reached!\"); });\n }, onError: (e) { print(\"unused error handler\"); });\n}, onError: (e) { print(\"catches error of first error-zone.\"); });\n\n\n\n总结\n我们最终的异常捕获和上报代码如下:\nvoid collectLog(String line){\n ... //收集日志\n}\nvoid reportErrorAndLog(FlutterErrorDetails details){\n ... //上报错误和日志逻辑\n}\n\nFlutterErrorDetails makeDetails(Object obj, StackTrace stack){\n ...// 构建错误信息\n}\n\nvoid main() {\n FlutterError.onError = (FlutterErrorDetails details) {\n reportErrorAndLog(details);\n };\n runZoned(\n () => runApp(MyApp()),\n zoneSpecification: ZoneSpecification(\n print: (Zone self, ZoneDelegate parent, Zone zone, String line) {\n collectLog(line); //手机日志\n },\n ),\n onError: (Object obj, StackTrace stack) {\n var details = makeDetails(obj, stack);\n reportErrorAndLog(details);\n },\n );\n}\n\n"},"chapter3/":{"url":"chapter3/","title":"基础Widgets","keywords":"","body":"基础Widget\n本节介绍一下Flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像API文档一样所有属性都介绍,关于属性详细的信息请参考Flutter SDK文档。\n本章目录\n\nWidget简介\n文本、字体样式\n按钮 \n图片和Icon \n单选框和复选框 \n输入框和表单 \n\n"},"chapter3/flutter_widget_intro.html":{"url":"chapter3/flutter_widget_intro.html","title":"Widget简介","keywords":"","body":"Widget简介\n概念\n在前面的介绍中,我们知道Flutter中几乎所有的对象都是一个Widget,与原生开发中“控件”不同的是,Flutter中的widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于应用主题数据传递的Theme等等。而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时,我们可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。\nWidget与Element\n在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。实际上,Flutter中真正代表屏幕上显示元素的类是Element,也就是说Widget只是描述Element的一个配置,有关Element的详细介绍我们将在本书后面的高级部分深入介绍,读者现在只需要知道,Widget只是UI元素的一个配置数据,并且一个Widget可以对应多个Element,这是因为同一个Widget对象可以被添加到UI树的不同部分,而真正渲染时,UI树的每一个Widget节点都会对应一个Element对象。总结一下:\n\nWidget实际上就是Element的配置数据,Widget树实际上是一个配置树,而真正的UI渲染树是由Element构成;不过,由于Element是通过Widget生成,所以它们之间有对应关系,所以在大多数场景,我们可以宽泛地认为Widget树就是指UI控件树或UI渲染树。\n一个Widget对象可以对应多个Element对象。这很好理解,根据同一份配置(Widget),可以创建多个实例(Element)。\n\n读者应该将这两点牢记在心中。\n主要接口\n我们先来看一下Widget类的声明:\n@immutable\nabstract class Widget extends DiagnosticableTree {\n const Widget({ this.key });\n final Key key;\n\n @protected\n Element createElement();\n\n @override\n String toStringShort() {\n return key == null ? '$runtimeType' : '$runtimeType-$key';\n }\n\n @override\n void debugFillProperties(DiagnosticPropertiesBuilder properties) {\n super.debugFillProperties(properties);\n properties.defaultDiagnosticsTreeStyle = DiagnosticsTreeStyle.dense;\n }\n\n static bool canUpdate(Widget oldWidget, Widget newWidget) {\n return oldWidget.runtimeType == newWidget.runtimeType\n && oldWidget.key == newWidget.key;\n }\n}\n\n\nWidget类继承自DiagnosticableTree,DiagnosticableTree即“诊断树”,主要作用是提供调试信息。\nKey: 这个key属性类似于React/Vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canUpdate()方法中。\ncreateElement():正如前文所述“一个Widget可以对应多个Element”;Flutter Framework在构建UI树时,会先调用此方法生成对应节点的Element对象。此方法是Flutter Framework隐式调用的,在我们开发过程中基本不会调用到。\ndebugFillProperties(...) 复写父类的方法,主要是设置诊断树的一些特性。\ncanUpdate(...)是一个静态方法,它主要用于在Widget树重新build时复用旧的widget,其实具体来说,应该是:是否用新的Widget对象去更新旧UI树上所对应的Element对象的配置;通过其源码我们可以看到,只要newWidget与oldWidget的runtimeType和key同时相等时就会用newWidget去更新Element对象的配置,否则就会创建新的Element。\n\n有关Key和Widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为Widget显式添加key的话可能(但不一定)会使UI在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,我们只在构建列表项UI时会显式指定Key。\n另外Widget类本身是一个抽象类,其中最核心的就是定义了createElement()接口,在Flutter开发中,我们一般都不用直接继承Widget类来实现Widget,相反,我们通常会通过继承StatelessWidget和StatefulWidget来间接继承Widget类来实现,而StatelessWidget和StatefulWidget都是直接继承自Widget类,而这两个类也正是Flutter中非常重要的两个抽象类,它们引入了两种Widget模型,接下来我们将重点介绍一下这两个类。\nStateless Widget\n在之前的章节中,我们已经简单介绍过StatelessWidget,StatelessWidget相对比较简单,它继承自Widget,重写了createElement()方法:\n@override\nStatelessElement createElement() => new StatelessElement(this);\n\nStatelessElement 间接继承自Element类,与StatelessWidget相对应(作为其配置数据)。\nStatelessWidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它Widget来构建UI,在构建过程中会递归的构建其嵌套的Widget。我们看一个简单的例子:\nclass Echo extends StatelessWidget {\n const Echo({\n Key key, \n @required this.text,\n this.backgroundColor:Colors.grey,\n }):super(key:key);\n\n final String text;\n final Color backgroundColor;\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: Container(\n color: backgroundColor,\n child: Text(text),\n ),\n );\n }\n}\n\n上面的代码,实现了一个回显字符串的Echo widget。\n\n按照惯例,widget的构造函数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查,另外,在继承widget时,第一个参数通常应该是Key,如果接受子widget的child参数,那么通常应该将它放在参数列表的最后。同样是按照惯例,widget的属性应被声明为final,防止被意外改变。\n\n然后我们可以通过如下方式使用它:\nWidget build(BuildContext context) {\n return Echo(text: \"hello world\");\n}\n\n\nStateful Widget\n和StatelessWidget一样,StatefulWidget也是继承自widget类,并重写了createElement()方法,不同的是返回的Element 对象并不相同;另外StatefulWidget类中添加了一个新的接口createState(),下面我们看看StatefulWidget的类定义:\nabstract class StatefulWidget extends Widget {\n const StatefulWidget({ Key key }) : super(key: key);\n\n @override\n StatefulElement createElement() => new StatefulElement(this);\n\n @protected\n State createState();\n}\n\n\nStatefulElement 间接继承自Element类,与StatefulWidget相对应(作为其配置数据)。StatefulElement中可能会多次调用createState()来创建状态(State)对象。\n\ncreateState() 用于创建和Stateful widget相关的状态,它在Stateful widget的生命周期中可能会被多次调用。例如,当一个Stateful widget同时插入到widget树的多个位置时,Flutter framework就会调用该方法为每一个位置生成一个独立的State实例,其实,本质上就是一个StatefulElement对应一个State实例。\n\n在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与Element有对应关系(一可能对多),在有些场景(Flutter的SDK文档中)也代指“UI树”的意思。而在stateful widget中,State对象也和StatefulElement具有对应关系(一对一),所以在Flutter的SDK文档中,可以经常看到“从树中移除State对象”或“插入State对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。\n\n\n\nState\n一个StatefulWidget类会对应一个State类,State表示与其对应的StatefulWidget要维护的状态,State中的保存的状态信息可以:\n\n在widget build时可以被同步读取。\n在widget生命周期中可以被改变,当State被改变时,可以手动调用其setState()方法通知Flutter framework状态发生改变,Flutter framework在收到消息后,会重新调用其build方法重新构建widget树,从而达到更新UI的目的。\n\nState中有两个常用属性:\n\nwidget,它表示与该State实例关联的widget实例,由Flutter framework动态设置。注意,这种关联并非永久的,因为在应用声明周期中,UI树上的某一个节点的widget实例在重新构建时可能会变化,但State实例只会在第一次插入到树中时被创建,当在重新构建时,如果widget被修改了,Flutter framework会动态设置State.widget为新的widget实例。\n\ncontext,它是BuildContext类的一个实例,表示构建widget的上下文,它是操作widget在树中位置的一个句柄,它包含了一些查找、遍历当前Widget树的一些方法。每一个widget都有一个自己的context对象。\n\n对于BuildContext读者现在可以先作了解,随着本书后面内容的展开,也会用到Context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于BuildContext更多的内容,我们也将在后面高级部分再深入介绍。\n\n\n\nState生命周期\n理解State的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下State的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承StatefulWidget,代码如下:\nclass CounterWidget extends StatefulWidget {\n const CounterWidget({\n Key key,\n this.initValue: 0\n });\n\n final int initValue;\n\n @override\n _CounterWidgetState createState() => new _CounterWidgetState();\n}\n\nCounterWidget接收一个initValue整形参数,它表示计数器的初始值。下面我们看一下State的代码:\nclass _CounterWidgetState extends State { \n int _counter;\n\n @override\n void initState() {\n super.initState();\n //初始化状态 \n _counter=widget.initValue;\n print(\"initState\");\n }\n\n @override\n Widget build(BuildContext context) {\n print(\"build\");\n return Center(\n child: FlatButton(\n child: Text('$_counter'),\n //点击后计数器自增 \n onPressed:()=>setState(()=> ++_counter) ,\n ),\n );\n }\n\n @override\n void didUpdateWidget(CounterWidget oldWidget) {\n super.didUpdateWidget(oldWidget);\n print(\"didUpdateWidget\");\n }\n\n @override\n void deactivate() {\n super.deactivate();\n print(\"deactive\");\n }\n\n @override\n void dispose() {\n super.dispose();\n print(\"dispose\");\n }\n\n @override\n void reassemble() {\n super.reassemble();\n print(\"reassemble\");\n }\n\n @override\n void didChangeDependencies() {\n super.didChangeDependencies();\n print(\"didChangeDependencies\");\n }\n\n}\n\n接下来,我们创建一个新路由,在新路由中,我们只显示一个CounterWidget:\nWidget build(BuildContext context) {\n return CounterWidget();\n}\n\n我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出:\nI/flutter ( 5436): initState\nI/flutter ( 5436): didChangeDependencies\nI/flutter ( 5436): build\n可以看到,在StatefulWidget插入到Widget树时首先initState方法会被调用。\n然后我们点击⚡️按钮热重载,控制台输出日志如下:\nI/flutter ( 5436): reassemble\nI/flutter ( 5436): didUpdateWidget\nI/flutter ( 5436): build\n可以看到此时initState 和didChangeDependencies都没有被调用,而此时didUpdateWidget被调用。\n接下来,我们在widget树中移除CounterWidget,将路由build方法改为:\nWidget build(BuildContext context) {\n //移除计数器 \n //return CounterWidget();\n //随便返回一个Text()\n return Text(\"xxx\");\n}\n\n然后热重载,日志如下:\nI/flutter ( 5436): reassemble\nI/flutter ( 5436): deactive\nI/flutter ( 5436): dispose\n我们可以看到,在CounterWidget从widget树中移除时,deactive和dispose会依次被调用。\n下面我们来看看各个回调函数:\n\ninitState:当Widget第一次插入到Widget树时会被调用,对于每一个State对象,Flutter framework只会调用一次该回调,所以,通常在该回调中做一些一次性的操作,如状态初始化、订阅子树的事件通知等。不能在该回调中调用BuildContext.inheritFromWidgetOfExactType(该方法用于在Widget树上获取离当前widget最近的一个父级InheritFromWidget,关于InheritedWidget我们将在后面章节介绍),原因是在初始化完成后,Widget树中的InheritFromWidget也可能会发生变化,所以正确的做法应该在在build()方法或didChangeDependencies()中调用它。\ndidChangeDependencies():当State对象的依赖发生变化时会被调用;例如:在之前build() 中包含了一个InheritedWidget,然后在之后的build() 中InheritedWidget发生了变化,那么此时InheritedWidget的子widget的didChangeDependencies()回调都会被调用。典型的场景是当系统语言Locale或应用主题改变时,Flutter framework会通知widget调用此回调。\nbuild():此回调读者现在应该已经相当熟悉了,它主要是用于构建Widget子树的,会在如下场景被调用:\n\n在调用initState()之后。\n在调用didUpdateWidget()之后。\n在调用setState()之后。\n在调用didChangeDependencies()之后。\n在State对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。\n\n\nreassemble():此回调是专门为了开发调试而提供的,在热重载(hot reload)时会被调用,此回调在Release模式下永远不会被调用。\ndidUpdateWidget():在widget重新构建时,Flutter framework会调用Widget.canUpdate来检测Widget树中同一位置的新旧节点,然后决定是否需要更新,如果Widget.canUpdate返回true则会调用此回调。正如之前所述,Widget.canUpdate会在新旧widget的key和runtimeType同时相等时会返回true,也就是说在在新旧widget的key和runtimeType同时相等时didUpdateWidget()就会被调用。\ndeactivate():当State对象从树中被移除时,会调用此回调。在一些场景下,Flutter framework会将State对象重新插到树中,如包含此State对象的子树在树的一个位置移动到另一个位置时(可以通过GlobalKey来实现)。如果移除后没有重新插入到树中则紧接着会调用dispose()方法。\ndispose():当State对象从树中被永久移除时调用;通常在此回调中释放资源。\n\n\ntodo: 这里缺一张生命周期图\n\n注意:在继承StatefulWidget重写其方法时,对于包含@mustCallSuper标注的父类方法,都要在子类方法中先调用父类方法。\n状态管理\n响应式的编程框架中都会有一个永恒的主题——“状态管理”,无论是在React/Vue(两者都是支持响应式编程的web开发框架)还是Flutter,他们讨论的问题和解决的思想都是一致的。所以,如果你对React/Vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,stateful widget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法:\n\nWidget管理自己的state。\n父widget管理子widget状态。\n混合管理(父widget和子widget都管理状态)。\n\n如何决定使用哪种管理方法?以下原则可以帮助你决定:\n\n如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。\n如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。\n如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。\n\n在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。\n接下来,我们将通过创建三个简单示例TapboxA、TapboxB和TapboxC来说明管理状态的不同方式。 这些例子功能是相似的 ——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态 _active确定颜色:绿色为true ,灰色为false。\n\n下面的例子将使用GestureDetector来识别点击事件,关于该GestureDetector的详细内容我们将在后面“事件处理”一章中介绍。\nWidget管理自身状态\n_TapboxAState 类:\n\n管理TapboxA的状态。\n定义_active:确定盒子的当前颜色的布尔值。\n定义_handleTap()函数,该函数在点击该盒子时更新_active,并调用setState()更新UI。\n实现widget的所有交互式行为。\n\n// TapboxA 管理自身状态.\n\n//------------------------- TapboxA ----------------------------------\n\nclass TapboxA extends StatefulWidget {\n TapboxA({Key key}) : super(key: key);\n\n @override\n _TapboxAState createState() => new _TapboxAState();\n}\n\nclass _TapboxAState extends State {\n bool _active = false;\n\n void _handleTap() {\n setState(() {\n _active = !_active;\n });\n }\n\n Widget build(BuildContext context) {\n return new GestureDetector(\n onTap: _handleTap,\n child: new Container(\n child: new Center(\n child: new Text(\n _active ? 'Active' : 'Inactive',\n style: new TextStyle(fontSize: 32.0, color: Colors.white),\n ),\n ),\n width: 200.0,\n height: 200.0,\n decoration: new BoxDecoration(\n color: _active ? Colors.lightGreen[700] : Colors.grey[600],\n ),\n ),\n );\n }\n}\n\n父widget管理子widget的state\n对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。 例如,IconButton是一个图片按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。\n在以下示例中,TapboxB通过回调将其状态导出到其父项。由于TapboxB不管理任何状态,因此它的父类为StatelessWidget。\nParentWidgetState 类:\n\n为TapboxB 管理_active状态.\n实现_handleTapboxChanged(),当盒子被点击时调用的方法.\n当状态改变时,调用setState()更新UI.\n\nTapboxB 类:\n\n继承StatelessWidget类,因为所有状态都由其父widget处理。\n当检测到点击时,它会通知父widget。\n\n// ParentWidget 为 TapboxB 管理状态.\n\n//------------------------ ParentWidget --------------------------------\n\nclass ParentWidget extends StatefulWidget {\n @override\n _ParentWidgetState createState() => new _ParentWidgetState();\n}\n\nclass _ParentWidgetState extends State {\n bool _active = false;\n\n void _handleTapboxChanged(bool newValue) {\n setState(() {\n _active = newValue;\n });\n }\n\n @override\n Widget build(BuildContext context) {\n return new Container(\n child: new TapboxB(\n active: _active,\n onChanged: _handleTapboxChanged,\n ),\n );\n }\n}\n\n//------------------------- TapboxB ----------------------------------\n\nclass TapboxB extends StatelessWidget {\n TapboxB({Key key, this.active: false, @required this.onChanged})\n : super(key: key);\n\n final bool active;\n final ValueChanged onChanged;\n\n void _handleTap() {\n onChanged(!active);\n }\n\n Widget build(BuildContext context) {\n return new GestureDetector(\n onTap: _handleTap,\n child: new Container(\n child: new Center(\n child: new Text(\n active ? 'Active' : 'Inactive',\n style: new TextStyle(fontSize: 32.0, color: Colors.white),\n ),\n ),\n width: 200.0,\n height: 200.0,\n decoration: new BoxDecoration(\n color: active ? Colors.lightGreen[700] : Colors.grey[600],\n ),\n ),\n );\n }\n}\n\n混合管理\n对于一些widget来说,混合管理的方式非常有用。在这种情况下,widget自身管理一些内部状态,而父widget管理一些其他外部状态。\n在下面TapboxC示例中,按下时,盒子的周围会出现一个深绿色的边框。抬起时,边框消失;点击生效,盒子的颜色改变。 TapboxC将其_active状态导出到其父widget中,但在内部管理其_highlight状态。这个例子有两个状态对象_ParentWidgetState和_TapboxCState。\n_ParentWidgetStateC 对象:\n\n管理_active 状态。\n实现 _handleTapboxChanged() ,当盒子被点击时调用。\n当点击盒子并且_active状态改变时调用setState()更新UI。\n\n_TapboxCState 对象:\n\n管理_highlight state。\nGestureDetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。\n当按下、抬起、或者取消点击时更新_highlight状态,调用setState()更新UI。\n当点击时,将状态的改变传递给父widget.\n\n//---------------------------- ParentWidget ----------------------------\n\nclass ParentWidgetC extends StatefulWidget {\n @override\n _ParentWidgetCState createState() => new _ParentWidgetCState();\n}\n\nclass _ParentWidgetCState extends State {\n bool _active = false;\n\n void _handleTapboxChanged(bool newValue) {\n setState(() {\n _active = newValue;\n });\n }\n\n @override\n Widget build(BuildContext context) {\n return new Container(\n child: new TapboxC(\n active: _active,\n onChanged: _handleTapboxChanged,\n ),\n );\n }\n}\n\n//----------------------------- TapboxC ------------------------------\n\nclass TapboxC extends StatefulWidget {\n TapboxC({Key key, this.active: false, @required this.onChanged})\n : super(key: key);\n\n final bool active;\n final ValueChanged onChanged;\n\n _TapboxCState createState() => new _TapboxCState();\n}\n\nclass _TapboxCState extends State {\n bool _highlight = false;\n\n void _handleTapDown(TapDownDetails details) {\n setState(() {\n _highlight = true;\n });\n }\n\n void _handleTapUp(TapUpDetails details) {\n setState(() {\n _highlight = false;\n });\n }\n\n void _handleTapCancel() {\n setState(() {\n _highlight = false;\n });\n }\n\n void _handleTap() {\n widget.onChanged(!widget.active);\n }\n\n Widget build(BuildContext context) {\n // 在按下时添加绿色边框,当抬起时,取消高亮 \n return new GestureDetector(\n onTapDown: _handleTapDown, // 处理按下事件\n onTapUp: _handleTapUp, // 处理抬起事件\n onTap: _handleTap,\n onTapCancel: _handleTapCancel,\n child: new Container(\n child: new Center(\n child: new Text(widget.active ? 'Active' : 'Inactive',\n style: new TextStyle(fontSize: 32.0, color: Colors.white)),\n ),\n width: 200.0,\n height: 200.0,\n decoration: new BoxDecoration(\n color: widget.active ? Colors.lightGreen[700] : Colors.grey[600],\n border: _highlight\n ? new Border.all(\n color: Colors.teal[700],\n width: 10.0,\n )\n : null,\n ),\n ),\n );\n }\n}\n\n另一种实现可能会将高亮状态导出到父widget,同时保持_active状态为内部,但如果你要将该TapBox给其它人使用,可能没有什么意义。 开发人员只会关心该框是否处于Active状态,而不在乎高亮显示是如何管理的,所以应该让TapBox内部处理这些细节。\n全局状态管理\n当应用中包括一些跨widget(甚至跨路由)的状态需要同步时,上面介绍的方法很难胜任了。比如,我们有一个设置页,里面可以设置应用语言,但是我们为了让设置实时生效,我们期望在语言状态发生改变时,我们的APP Widget能够重新build一下,但我们的APP Widget和设置页并不在一起。正确的做法是通过一个全局状态管理器来处理这种“相距较远”的widget之间的通信。目前主要有两种办法:\n\n实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在APP Widget所在的父widgetinitState 方法中订阅语言改变的事件,当用户在设置页切换语言后,我们触发语言改变事件,然后APP Widget那边就会收到通知,然后重新build一下即可。\n使用redux这样的全局状态包,读者可以在pub上查看其详细信息。\n\n本书后面事件处理一章中会实现一个全局事件总线。\nFlutter widget库介绍\nFlutter提供了一套丰富、强大的基础widget,在基础widget库之上Flutter又提供了一套Material风格(Android默认的视觉风格)和一套Cupertino风格(iOS视觉风格)的widget库。要使用基础widget库,需要先导入:\nimport 'package:flutter/widgets.dart';\n\n下面我们介绍一下常用的widget。\n基础widget\n\nText:该 widget 可让您创建一个带格式的文本。\nRow、 Column: 这些具有弹性空间的布局类Widget可让您在水平(Row)和垂直(Column)方向上创建灵活的布局。其设计是基于web开发中的Flexbox布局模型。\nStack: 取代线性布局 (译者语:和Android中的FrameLayout相似),Stack允许子 widget 堆叠, 你可以使用 Positioned 来定位他们相对于Stack的上下左右四条边的位置。Stacks是基于Web开发中的绝对定位(absolute positioning )布局模型设计的。\nContainer: Container 可让您创建矩形视觉元素。container 可以装饰一个BoxDecoration, 如 background、一个边框、或者一个阴影。 Container 也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外, Container可以使用矩阵在三维空间中对其进行变换。\n\nMaterial widget\nFlutter提供了一套丰富的Material widget,可帮助您构建遵循Material Design的应用程序。Material应用程序以MaterialApp widget开始, 该widget在应用程序的根部创建了一些有用的widget,比如一个Theme,它配置了应用的主题。 是否使用MaterialApp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个Material widget了,如:Scaffold、AppBar、FlatButton等。要使用Material widget,需要先引入它:\nimport 'package:flutter/material.dart';\n\nCupertino widget\nFlutter也提供了一套丰富的Cupertino风格的widget,尽管目前还没有Material widget那么丰富,但也在不断的完善中。值得一提的是在Material widget库中,有一些widget可以根据实际运行平台来切换表现风格,比如MaterialPageRoute,在路由切换时,如果是Android系统,它将会使用Android系统默认的页面切换动画(从底向上),如果是iOS系统时,它会使用iOS系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有Cupertino widget的示例,我们实现一个简单的Cupertino页面:\n//导入cupertino widget库\nimport 'package:flutter/cupertino.dart';\n\nclass CupertinoTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return CupertinoPageScaffold(\n navigationBar: CupertinoNavigationBar(\n middle: Text(\"Cupertino Demo\"),\n ),\n child: Center(\n child: CupertinoButton(\n color: CupertinoColors.activeBlue,\n child: Text(\"Press\"),\n onPressed: () {}\n ),\n ),\n );\n }\n}\n\n下面是在iPhoneX上页面效果截图:\n\n总结\nFlutter提供了丰富的widget,在实际的开发中你可以随意使用它们,不要怕引入过多widget库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于Material和Cupertino都是在基础widget库之上的,所以如果你的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。\n"},"chapter3/text.html":{"url":"chapter3/text.html","title":"文本、字体样式","keywords":"","body":"文本及样式\nText\nText用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:\nText(\"Hello world\",\n textAlign: TextAlign.center,\n);\n\nText(\"Hello world! I'm Jack. \"*4,\n maxLines: 1,\n overflow: TextOverflow.ellipsis,\n);\n\nText(\"Hello world\",\n textScaleFactor: 1.5,\n);\n\n运行效果如下:\n\n\ntextAlign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有Text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串:\nText(\"Hello world \"*6, //字符串重复六次\n textAlign: TextAlign.center,\n);\n\n运行效果如下:\n\n\n\n​ 字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。\n\nmaxLines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式TextOverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;TextOverflow的其它截断方式请参考SDK文档。\ntextScaleFactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。\n\nTextStyle\nTextStyle用于指定文本显示的样式如颜色、字体、粗细、背景等。我们看一个示例:\nText(\"Hello world\",\n style: TextStyle(\n color: Colors.blue,\n fontSize: 18.0,\n height: 1.2, \n fontFamily: \"Courier\",\n background: new Paint()..color=Colors.yellow,\n decoration:TextDecoration.underline,\n decorationStyle: TextDecorationStyle.dashed\n ),\n);\n\n效果如下:\n\n此示例只展示了TextStyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅SDK文档。值得注意的是:\n\nheight:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height。\n\nfontFamily :由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。\n\nfontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两给主要区别:\n\nfontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。\ntextScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本。\n\n\n\nTextSpan\n在上面的例子中,Text的所有文本内容只能按同一种样式,如果我们需要对一个Text内容的不同部分按照不同的样式显示,这时就可以使用TextSpan,它代表文本的一个“片段”。我们看看TextSpan的定义:\nconst TextSpan({\n TextStyle style, \n Sting text,\n List children,\n GestureRecognizer recognizer,\n});\n\n其中style 和 text属性代表该文本片段的样式和内容。 children是一个TextSpan的数组,也就是说TextSpan可以包括其他TextSpan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果,然后用TextSpan实现它。\n\n源码:\nText.rich(TextSpan(\n children: [\n TextSpan(\n text: \"Home: \"\n ),\n TextSpan(\n text: \"https://flutterchina.club\",\n style: TextStyle(\n color: Colors.blue\n ), \n recognizer: _tapRecognizer\n ),\n ]\n))\n\n\n上面代码中,我们通过TextSpan实现了一个基础文本片段和一个链接片段,然后通过Text.rich 方法将TextSpan 添加到Text中,之所以可以这样做,是因为Text其实就是RichText的一个包装,而RichText是可以显示多种样式(富文本)的widget。\n_tapRecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。\n\nDefaultTextStyle\n在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而DefaultTextStyle正是用于设置默认文本样式的。下面我们看一个例子:\nDefaultTextStyle(\n //1.设置文本默认样式 \n style: TextStyle(\n color:Colors.red,\n fontSize: 20.0,\n ),\n textAlign: TextAlign.start,\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Text(\"hello world\"),\n Text(\"I am Jack\"),\n Text(\"I am Jack\",\n style: TextStyle(\n inherit: false, //2.不继承默认样式\n color: Colors.grey\n ),\n ),\n ],\n ),\n);\n\n上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过DefaultTextStyle 设置给了子树Column节点处,这样一来Column的所有子孙Text默认都会继承该样式,除非Text显示指定不继承样式,如代码中注释2。示例运行效果如下:\n\n使用字体\n可以在Flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如Google Fonts中的字体。本节将介绍如何为Flutter应用配置字体,并在渲染文本时使用它们。\n在Flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过TextStyle属性使用字体。\n在asset中声明\n要将字体打文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如:\nflutter:\n fonts:\n - family: Raleway\n fonts:\n - asset: assets/fonts/Raleway-Regular.ttf\n - asset: assets/fonts/Raleway-Medium.ttf\n weight: 500\n - asset: assets/fonts/Raleway-SemiBold.ttf\n weight: 600\n - family: AbrilFatface\n fonts:\n - asset: assets/fonts/abrilfatface/AbrilFatface-Regular.ttf\n\n使用字体\n// 声明文本样式\nconst textStyle = const TextStyle(\n fontFamily: 'Raleway',\n);\n\n// 使用文本样式\nvar buttonText = const Text(\n \"Use the font for this text\",\n style: textStyle,\n);\n\nPackage中的字体\n要使用Package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建TextStyle的过程如下:\nconst textStyle = const TextStyle(\n fontFamily: 'Raleway',\n package: 'my_package', //指定包名\n);\n\n如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。\n一个包也可以只提供字体文件而不需要在pubspec.yaml中声明。 这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件:\nlib/fonts/Raleway-Medium.ttf\n然后,应用程序可以声明一个字体,如下面的示例所示:\n flutter:\n fonts:\n - family: Raleway\n fonts:\n - asset: assets/fonts/Raleway-Regular.ttf\n - asset: packages/my_package/fonts/Raleway-Medium.ttf\n weight: 500\n\nlib/是隐含的,所以它不应该包含在asset路径中。\n在这种情况下,由于应用程序本地定义了字体,所以在创建TextStyle时可以不指定package参数:\nconst textStyle = const TextStyle(\n fontFamily: 'Raleway',\n);\n\n"},"chapter3/buttons.html":{"url":"chapter3/buttons.html","title":"按钮","keywords":"","body":"按钮\nMaterial widget库中提供了多种按钮Widget如RaisedButton、FlatButton、OutlineButton等,它们都是直接或间接对RawMaterialButton的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有Material 库中的按钮都有如下相同点:\n\n按下时都会有“水波动画”。\n有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。\n\nRaisedButton\nRaisedButton 即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如:\n\n使用RaisedButton非常简单,如:\nRaisedButton(\n child: Text(\"normal\"),\n onPressed: () => {},\n);\n\nFlatButton\nFlatButton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色:\n\n使用FlatButton也很简单,代码如下:\nFlatButton(\n child: Text(\"normal\"),\n onPressed: () => {},\n)\n\nOutlineButton\nOutlineButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱):\n\n使用OutlineButton也很简单,代码如下:\nOutlineButton(\n child: Text(\"normal\"),\n onPressed: () => {},\n)\n\nIconButton\nIconButton是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景:\n\n使用代码如下:\nIconButton(\n icon: Icon(Icons.thumb_up),\n onPressed: () => {},\n)\n\n自定义按钮外观\n按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以FlatButton为例,介绍一下常见的按钮属性,详细的信息可以查看API文档。\nconst FlatButton({\n ... \n @required this.onPressed, //按钮点击回调\n this.textColor, //按钮文字颜色\n this.disabledTextColor, //按钮禁用时的文字颜色\n this.color, //按钮背景颜色\n this.disabledColor,//按钮禁用时的背景颜色\n this.highlightColor, //按钮按下时的背景颜色\n this.splashColor, //点击时,水波动画中水波的颜色\n this.colorBrightness,//按钮主题,默认是浅色主题 \n this.padding, //按钮的填充\n this.shape, //外形\n @required this.child, //按钮的内容\n})\n\n其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。\n示例\n定义一个背景蓝色,两边圆角的按钮。效果如下:\n\n代码如下:\nFlatButton(\n color: Colors.blue,\n highlightColor: Colors.blue[700],\n colorBrightness: Brightness.dark,\n splashColor: Colors.grey,\n child: Text(\"Submit\"),\n shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),\n onPressed: () => {},\n)\n\n很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorBrightness为Brightness.dark,这是为了保证按钮文字颜色为浅色。\n细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的FlatButton换成RaisedButton就行,其它代码不用改,换了之后我们看看效果:\n\n是不是有质感了!之所以会这样,是因为RaisedButton默认有配置阴影:\nconst RaisedButton({\n ...\n this.elevation = 2.0, //正常状态下的阴影\n this.highlightElevation = 8.0,//按下时的阴影\n this.disabledElevation = 0.0,// 禁用时的阴影\n ...\n}\n\n值得注意的是,在Material widget库中,我们会在很多widget中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在Material设计风格中是一种很重要的表现形式,以后在介绍其它widget时,便不再赘述。\n如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,本文将在后面介绍Container时来介绍如何实现。\n"},"chapter3/img_and_icon.html":{"url":"chapter3/img_and_icon.html","title":"图片和Icon","keywords":"","body":"图片及ICON\n图片\nFlutter中,我们可以通过Image来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。\nImageProvider\nImageProvider 是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvider ,如AssetImage是实现了从Asset中加载图片的ImageProvider,而NetworkImage实现了从网络加载图片的ImageProvider。\nImage\nImage widget有一个必选的image参数,它对应一个ImageProvider。下面我们分别演示一下如何从asset和网络加载图片。\n从asset中加载图片\n\n在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。\n\n在pubspec.yml中的flutter部分添加如下内容:\nassets:\n - images/avatar.png\n\n\n加载该图片\nImage(\n image: AssetImage(\"images/avatar.png\"),\n width: 100.0\n);\n\nImage也提供了一个快捷的构造函数Image.asset用于从asset中加载、显示图片:\nImage.asset(\"images/avatar.png\",\n width: 100.0,\n)\n\n\n\n从网络加载图片\nImage(\n image: NetworkImage(\n \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"),\n width: 100.0,\n)\n\nImage也提供了一个快捷的构造函数Image.network用于从网络加载、显示图片:\nImage.network(\n \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\",\n width: 100.0,\n)\n\n运行上面两个示例,图片加载成功后显示如下:\n\n参数\nImage在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下Image的主要参数:\nconst Image({\n ...\n this.width, //图片的宽\n this.height, //图片高度\n this.color, //图片的混合色值\n this.colorBlendMode, //混合模式\n this.fit,//缩放模式\n this.alignment = Alignment.center, //对齐方式\n this.repeat = ImageRepeat.noRepeat, //重复方式\n ...\n})\n\n\nwidth、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。\n\nfit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在BoxFit中定义,它是一个枚举类型,有如下值:\n\nfill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。\ncover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。\ncontain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。\nfitWidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。\nfitHeight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。\nnone:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。\n\n一图胜万言:\n\n\n\n\ncolor和 colorBlendMode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorBlendMode指定混合模式,下面是一个简单的示例:\nImage(\n image: AssetImage(\"images/avatar.png\"),\n width: 100.0,\n color: Colors.blue,\n colorBlendMode: BlendMode.difference,\n);\n\n\n\n运行效果如下(彩色):\n\n\nrepeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下:\nImage(\n image: AssetImage(\"images/avatar.png\"),\n width: 100.0,\n height: 200.0,\n repeat: ImageRepeat.repeatY ,\n)\n\n运行后效果如下:\n\n\n\nICON\nFlutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。\n\n在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。\n\n在Flutter开发中,iconfont和图片相比有如下优势:\n\n体积小:可以减小安装包大小。\n矢量的:iconfont都是矢量图标,放大不会影响其清晰度。\n可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。\n可以通过TextSpan和文本混用。\n\n使用Material Design字体图标\nFlutter默认包含了一套Material Design的字体图标,在pubspec.yaml文件中的配置如下\nflutter:\n uses-material-design: true\n\nMaterial Design所有图标可以在其官网查看:https://material.io/tools/icons/\n我们看一个简单的例子:\nString icons = \"\";\n// accessible:  or 0xE914 or E914\nicons += \"\\uE914\";\n// error:  or 0xE000 or E000\nicons += \" \\uE000\";\n// fingerprint:  or 0xE90D or E90D\nicons += \" \\uE90D\";\n\nText(icons,\n style: TextStyle(\n fontFamily: \"MaterialIcons\",\n fontSize: 24.0,\n color: Colors.green\n ),\n);\n\n运行效果如下:\n\n通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,Flutter封装了一个IconData和Icon来专门显示字体图标,上面的例子也可以用如下方式实现:\nRow(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Icon(Icons.accessible,color: Colors.green,),\n Icon(Icons.error,color: Colors.green,),\n Icon(Icons.fingerprint,color: Colors.green,),\n ],\n)\n\nIcons类中包含了所有Material Design图标的IconData静态变量定义。\n使用自定义字体图标\n我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在Flutter中,我们使用ttf格式即可。\n假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入:\n\n导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\":\nfonts:\n - family: myIcon #指定一个字体名\n fonts:\n - asset: fonts/iconfont.ttf\n\n\n为了使用方便,我们定义一个MyIcons类,功能和Icons类一样:将字体文件中的所有图标都定义成静态变量:\nclass MyIcons{\n // book 图标\n static const IconData book = const IconData(\n 0xe614, \n fontFamily: 'myIcon', \n matchTextDirection: true\n );\n // 微信图标\n static const IconData wechat = const IconData(\n 0xec7d, \n fontFamily: 'myIcon', \n matchTextDirection: true\n );\n}\n\n\n使用\nRow(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Icon(MyIcons.book,color: Colors.purple,),\n Icon(MyIcons.wechat,color: Colors.green,),\n ],\n)\n\n运行后效果如下:\n\n\n\n"},"chapter3/radio_and_checkbox.html":{"url":"chapter3/radio_and_checkbox.html","title":"单选框和复选框","keywords":"","body":"单选开关和复选框\nMaterial widgets库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击Switch或Checkbox时,它们会触发onChanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例:\nclass SwitchAndCheckBoxTestRoute extends StatefulWidget {\n @override\n _SwitchAndCheckBoxTestRouteState createState() => new _SwitchAndCheckBoxTestRouteState();\n}\n\nclass _SwitchAndCheckBoxTestRouteState extends State {\n bool _switchSelected=true; //维护单选开关状态\n bool _checkboxSelected=true;//维护复选框状态\n @override\n Widget build(BuildContext context) {\n return Column(\n children: [\n Switch(\n value: _switchSelected,//当前状态\n onChanged:(value){\n //重新构建页面 \n setState(() {\n _switchSelected=value;\n });\n },\n ),\n Checkbox(\n value: _checkboxSelected,\n activeColor: Colors.red, //选中时的颜色\n onChanged:(value){\n setState(() {\n _checkboxSelected=value;\n });\n } ,\n )\n ],\n );\n }\n}\n\n上面代码中,由于要维护Switch和Checkbox状态,所以SwitchAndCheckBoxTestRoute继承自StatefulWidget 。在其build方法中分别构建了一个Switch和Checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setState()通知framework重新构建UI。\n属性及外观\nSwitch和Checkbox属性比较简单,读者可以查看API文档,它们都有一个activeColor属性,用于设置激活态的颜色。至于大小,到目前为止,Checkbox的大小是固定的,无法自定义,而Switch只能定义宽度,高度也是固定的。值得一提的是Checkbox有一个属性tristate ,表示是否为三态,其默认值为false ,这时Checkbox有两种状态即“选中”和“不选中”,对应的value值为true和false ;如果其值为true时,value的值会增加一个状态null,读者可以自行了解。\n总结\n通过Switch和Checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父widget来管理状态,然后当用户点击时,再通过事件通知给父widget,这样是合理的,因为Switch和Checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义widget时也应该思考一下哪种状态的管理方式最为合理。\n"},"chapter3/input_and_form.html":{"url":"chapter3/input_and_form.html","title":"输入框和表单","keywords":"","body":"输入框及表单\nMaterial widget库中提供了丰富的输入框及表单Widget。下面我们分别介绍一下。\nTextField\nTextField用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。\nconst TextField({\n ...\n TextEditingController controller, \n FocusNode focusNode,\n InputDecoration decoration = const InputDecoration(),\n TextInputType keyboardType,\n TextInputAction textInputAction,\n TextStyle style,\n TextAlign textAlign = TextAlign.start,\n bool autofocus = false,\n bool obscureText = false,\n int maxLines = 1,\n int maxLength,\n bool maxLengthEnforced = true,\n ValueChanged onChanged,\n VoidCallback onEditingComplete,\n ValueChanged onSubmitted,\n List inputFormatters,\n bool enabled,\n this.cursorWidth = 2.0,\n this.cursorRadius,\n this.cursorColor,\n ...\n})\n\n\ncontroller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则TextField内部会自动创建一个。\n\nfocusNode:用于控制TextField是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。\n\nInputDecoration:用于控制TextField的外观显示,如提示文本、背景颜色、边框等。\n\nkeyboardType:用于设置该输入框默认的键盘输入类型,取值如下:\n| TextInputType枚举值 | 含义 |\n| ------------------- | --------------------------------------------------- |\n| text | 文本输入键盘 |\n| multiline | 多行文本,需和maxLines配合使用(设为null或大于1) |\n| number | 数字;会弹出数字键盘 |\n| phone | 优化后的电话号码输入键盘;会弹出数字键盘并显示\"* #\" |\n| datetime | 优化后的日期输入键盘;Android上会显示“: -” |\n| emailAddress | 优化后的电子邮件地址;会显示“@ .” |\n| url | 优化后的url输入键盘; 会显示“/ .” |\n\ntextInputAction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看API文档,下面是当值为TextInputAction.search时,原生Android系统下键盘样式:\n\n\n\n \n\nstyle:正在编辑的文本样式。\ntextAlign: 输入框内编辑文本在水平方向的对齐方式。\nautofocus: 是否自动获取焦点。\nobscureText:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。\nmaxLines:输入框的最大行数,默认为1;如果为null,则无行数限制。\nmaxLength和maxLengthEnforced :maxLength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxLengthEnforced决定当输入文本长度超过maxLength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。\nonChange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。\nonEditingComplete和onSubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onSubmitted回调是ValueChanged类型,它接收当前输入内容做为参数,而onEditingComplete不接收参数。\ninputFormatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。\nenable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。\ncursorWidth、cursorRadius和cursorColor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。\n\n示例:登录输入框\n布局\nColumn(\n children: [\n TextField(\n autofocus: true,\n decoration: InputDecoration(\n labelText: \"用户名\",\n hintText: \"用户名或邮箱\",\n prefixIcon: Icon(Icons.person)\n ),\n ),\n TextField(\n decoration: InputDecoration(\n labelText: \"密码\",\n hintText: \"您的登录密码\",\n prefixIcon: Icon(Icons.lock)\n ),\n obscureText: true,\n ),\n ],\n);\n\n\n获取输入内容\n获取输入内容有两种方式:\n\n定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。\n通过controller直接获取。\n\n第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例:\n定义一个controller:\n//定义一个controller\nTextEditingController _unameController=new TextEditingController();\n\n然后设置输入框controller:\nTextField(\n autofocus: true,\n controller: _unameController, //设置controller\n ...\n)\n\n通过controller获取输入框内容\nprint(_unameController.text)\n\n监听文本变化\n监听文本变化也有两种方式:\n\n设置onChange回调,如:\nTextField(\n autofocus: true,\n onChanged: (v) {\n print(\"onChange: $v\");\n }\n)\n\n通过controller监听,如:\n@override\nvoid initState() {\n //监听输入改变 \n _unameController.addListener((){\n print(_unameController.text);\n });\n}\n\n\n\n两种方式相比,onChanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子:\n创建一个controller:\nTextEditingController _selectionController = new TextEditingController();\n设置默认值,并从第三个字符开始选中后面的字符\n_selectionController.text=\"hello world!\";\n_selectionController.selection=TextSelection(\n baseOffset: 2,\n extentOffset: _selectionController.text.length\n);\n设置controller:\nTextField(\n controller: _selectionController,\n)\n运行效果如下:\n\n控制焦点\n焦点可以通过FocusNode和FocusScopeNode来控制,默认情况下,焦点由FocusScope来管理,它代表焦点控制范围,可以在这个范围内可以通过FocusScopeNode在输入框之间移动焦点、设置默认焦点等。我们可以通过FocusScope.of(context) 来获取widget树中默认的FocusScopeNode。下面看一个示例,在此示例中创建两个TextField,第一个自动获取焦点,然后创建两个按钮:\n\n点击第一个按钮可以将焦点从第一个TextField挪到第二个TextField。\n点击第二个按钮可以关闭键盘。\n\n界面如下:\n\n代码如下:\nclass FocusTestRoute extends StatefulWidget {\n @override\n _FocusTestRouteState createState() => new _FocusTestRouteState();\n}\n\nclass _FocusTestRouteState extends State {\n FocusNode focusNode1 = new FocusNode();\n FocusNode focusNode2 = new FocusNode();\n FocusScopeNode focusScopeNode;\n\n @override\n Widget build(BuildContext context) {\n return Padding(\n padding: EdgeInsets.all(16.0),\n child: Column(\n children: [\n TextField(\n autofocus: true, \n focusNode: focusNode1,//关联focusNode1\n decoration: InputDecoration(\n labelText: \"input1\"\n ),\n ),\n TextField(\n focusNode: focusNode2,//关联focusNode2\n decoration: InputDecoration(\n labelText: \"input2\"\n ),\n ),\n Builder(builder: (ctx) {\n return Column(\n children: [\n RaisedButton(\n child: Text(\"移动焦点\"),\n onPressed: () {\n //将焦点从第一个TextField移到第二个TextField\n // 这是一种写法 FocusScope.of(context).requestFocus(focusNode2);\n // 这是第二种写法\n if(null == focusScopeNode){\n focusScopeNode = FocusScope.of(context);\n }\n focusScopeNode.requestFocus(focusNode2);\n },\n ),\n RaisedButton(\n child: Text(\"隐藏键盘\"),\n onPressed: () {\n // 当所有编辑框都失去焦点时键盘就会收起 \n focusNode1.unfocus();\n focusNode2.unfocus();\n },\n ),\n ],\n );\n },\n ),\n ],\n ),\n );\n }\n\n}\n\nFocusNode和FocusScopeNode还有一些其它的方法,详情可以查看API文档。\n监听焦点状态改变事件\nFocusNode继承自ChangeNotifier,通过FocusNode可以监听焦点的改变事件,如:\n...\n// 创建 focusNode \nFocusNode focusNode = new FocusNode();\n...\n// focusNode绑定输入框 \nTextField(focusNode: focusNode);\n...\n// 监听焦点变化 \nfocusNode.addListener((){\n print(focusNode.hasFocus);\n});\n\n获得焦点时focusNode.hasFocus值为true,失去焦点时为false。\n自定义样式\n虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果:\nTextField(\n ...\n decoration: InputDecoration(\n border: UnderlineInputBorder(\n //下面代码没有效果\n borderSide: BorderSide(\n color: Colors.red,\n width: 5.0\n )),\n prefixIcon: Icon(Icons.person)\n ),\n),\n\n之所以如此,是由于TextField在绘制下划线时使用的颜色是主题色里面的hintColor,但提示文本颜色也是用的hintColor, 如果我们直接修改hintColor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintStyle,它可以覆盖hintColor,并且主题中可以通过inputDecorationTheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下:\nTheme(\n data: Theme.of(context).copyWith(\n hintColor: Colors.grey[200], //定义下划线颜色\n inputDecorationTheme: InputDecorationTheme(\n labelStyle: TextStyle(color: Colors.grey),//定义label字体样式\n hintStyle: TextStyle(color: Colors.grey, fontSize: 14.0)//定义提示文本样式\n )\n ),\n child: Column(\n children: [\n TextField(\n decoration: InputDecoration(\n labelText: \"用户名\",\n hintText: \"用户名或邮箱\",\n prefixIcon: Icon(Icons.person)\n ),\n ),\n TextField(\n decoration: InputDecoration(\n prefixIcon: Icon(Icons.lock),\n labelText: \"密码\",\n hintText: \"您的登录密码\",\n hintStyle: TextStyle(color: Colors.grey, fontSize: 13.0)\n ),\n obscureText: true,\n )\n ],\n )\n)\n\n运行效果如下:\n\n我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labelText不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉TextField本身的下划线,然后通过Container去嵌套定义样式,如:\nContainer(\n child: TextField(\n keyboardType: TextInputType.emailAddress,\n decoration: InputDecoration(\n labelText: \"Email\",\n hintText: \"电子邮件地址\",\n prefixIcon: Icon(Icons.email),\n border: InputBorder.none //隐藏下划线\n )\n ),\n decoration: BoxDecoration(\n // 下滑线浅灰色,宽度1像素\n border: Border(bottom: BorderSide(color: Colors.grey[200], width: 1.0))\n ),\n)\n\n运行效果:\n\n通过这种widget组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。\n\n思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢?\n\n表单Form\n实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form widget,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。\nForm\nForm继承自StatefulWidget对象,它对应的状态类为FormState。我们先看看Form类的定义:\nForm({\n @required Widget child,\n bool autovalidate = false,\n WillPopCallback onWillPop,\n VoidCallback onChanged,\n})\n\nautovalidate:是否自动校验输入内容;当为true时,每一个子FormField内容发生变化时都会自动校验合法性,并直接显示错误信息。否则,需要通过调用FormState.validate()来手动校验。\nonWillPop:决定Form所在的路由是否可以直接返回(如点击返回按钮),该回调返回一个Future对象,如果Future的最终结果是false,则当前路由不会返回;如果为true,则会返回到上一个路由。此属性通常用于拦截返回按钮。\nonChanged:Form的任意一个子FormField内容发生变化时会触发此回调。\n\nFormField\nForm的子孙元素必须是FormField类型,FormField是一个抽象类,定义几个属性,FormState内部通过它们来完成操作,FormField部分定义如下:\nconst FormField({\n ...\n FormFieldSetter onSaved, //保存回调\n FormFieldValidator validator, //验证回调\n T initialValue, //初始值\n bool autovalidate = false, //是否自动校验。\n})\n\n为了方便使用,Flutter提供了一个TextFormField widget,它继承自FormField类,也是TextField的一个包装类,所以除了FormField定义的属性之外,它还包括TextField的属性。\nFormState\nFormState为Form的State类,可以通过Form.of()或GlobalKey获得。我们可以通过它来对Form的子孙FormField进行统一操作。我们看看其常用的三个方法:\n\nFormState.validate():调用此方法后,会调用Form子孙FormField的validate回调,如果有一个校验失败,则返回false,所有校验失败项都会返回用户返回的错误提示。\nFormState.save():调用此方法后,会调用Form子孙FormField的save回调,用于保存表单内容\nFormState.reset():调用此方法后,会将子孙FormField的内容清空。\n\n示例\n我们修改一下上面用户登录的示例,在提交之前校验:\n\n用户名不能为空,如果为空则提示“用户名不能为空”。\n密码不能小于6位,如果小于6为则提示“密码不能少于6位”。\n\n完整代码:\nclass FormTestRoute extends StatefulWidget {\n @override\n _FormTestRouteState createState() => new _FormTestRouteState();\n}\n\nclass _FormTestRouteState extends State {\n TextEditingController _unameController = new TextEditingController();\n TextEditingController _pwdController = new TextEditingController();\n GlobalKey _formKey= new GlobalKey();\n\n @override\n Widget build(BuildContext context) {\n return PageScaffold(\n title: \"Form Test\",\n body: Padding(\n padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 24.0),\n child: Form(\n key: _formKey, //设置globalKey,用于后面获取FormState\n autovalidate: true, //开启自动校验\n child: Column(\n children: [\n TextFormField(\n autofocus: true,\n controller: _unameController,\n decoration: InputDecoration(\n labelText: \"用户名\",\n hintText: \"用户名或邮箱\",\n icon: Icon(Icons.person)\n ),\n // 校验用户名\n validator: (v) {\n return v\n .trim()\n .length > 0 ? null : \"用户名不能为空\";\n }\n\n ),\n TextFormField(\n controller: _pwdController,\n decoration: InputDecoration(\n labelText: \"密码\",\n hintText: \"您的登录密码\",\n icon: Icon(Icons.lock)\n ),\n obscureText: true,\n //校验密码\n validator: (v) {\n return v\n .trim()\n .length > 5 ? null : \"密码不能少于6位\";\n }\n ),\n // 登录按钮\n Padding(\n padding: const EdgeInsets.only(top: 28.0),\n child: Row(\n children: [\n Expanded(\n child: RaisedButton(\n padding: EdgeInsets.all(15.0),\n child: Text(\"登录\"),\n color: Theme\n .of(context)\n .primaryColor,\n textColor: Colors.white,\n onPressed: () {\n //在这里不能通过此方式获取FormState,context不对\n //print(Form.of(context));\n\n // 通过_formKey.currentState 获取FormState后,\n // 调用validate()方法校验用户名密码是否合法,校验\n // 通过后再提交数据。 \n if((_formKey.currentState as FormState).validate()){\n //验证通过提交数据\n }\n },\n ),\n ),\n ],\n ),\n )\n ],\n ),\n ),\n ),\n );\n }\n}\n\n运行后:\n\n注意,登录按钮的onPressed方法中不能通过Form.of(context)来获取,原因是,此处的context为FormTestRoute的context,而Form.of(context)是根据所指定context向根去查找,而FormState是在FormTestRoute的子树中,所以不行。正确的做法是通过Builder来构建登录按钮,Builder会将widget节点的context作为回调参数:\nExpanded(\n // 通过Builder来获取RaisedButton所在widget树的真正context(Element) \n child:Builder(builder: (context){\n return RaisedButton(\n ...\n onPressed: () {\n //由于本widget也是Form的子代widget,所以可以通过下面方式获取FormState \n if(Form.of(context).validate()){\n //验证通过提交数据\n }\n },\n );\n })\n)\n\n其实context正是操作Widget所对应的Element的一个接口,由于Widget树对应的Element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。Flutter中有很多“of(context)”这种方法,在使用时读者一定要注意context是否正确。\n"},"chapter4/":{"url":"chapter4/","title":"布局类Widgets","keywords":"","body":"本章目录\n\n布局类Widgets简介\n线性布局Row、Column\n弹性布局Flex\n流式布局Wrap、Flow \n层叠布局Stack、Positioned \n\n"},"chapter4/intro.html":{"url":"chapter4/intro.html","title":"布局类Widgets简介","keywords":"","body":"布局类Widget\n简介\n布局类Widget都会包含一个或多个子widget,不同的布局类Widget对子widget排版(layout)方式不同。我们在前面说过Element树才是最终的绘制树,Element树是通过widget树来创建的(通过Widget.createElement()),widget其实就是Element的配置数据。Flutter中,根据Widget是否需要包含子节点将Widget分为了三类,分别对应三种Element,如下表:\n\n\n\nWidget\n对应的Element\n用途\n\n\n\n\nLeafRenderObjectWidget\nLeafRenderObjectElement\nWidget树的叶子节点,用于没有子节点的widget,通常基础widget都属于这一类,如Text、Image。\n\n\nSingleChildRenderObjectWidget\nSingleChildRenderObjectElement\n包含一个子Widget,如:ConstrainedBox、DecoratedBox等\n\n\nMultiChildRenderObjectWidget\nMultiChildRenderObjectElement\n包含多个子Widget,一般都有一个children参数,接受一个Widget数组。如Row、Column、Stack等\n\n\n\n\n注意,Flutter中的很多Widget是直接继承自StatelessWidget或StatefulWidget,然后在build()方法中构建真正的RenderObjectWidget,如Text,它其实是继承自StatelessWidget,然后在build()方法中通过RichText来构建其子树,而RichText才是继承自LeafRenderObjectWidget。所以为了方便叙述,我们也可以直接说Text属于LeafRenderObjectWidget(其它widget也可以这么描述),这才是本质。读到这里我们也会发现,其实StatelessWidget和StatefulWidget就是两个用于组合Widget的基类,它们本身并不关联最终的渲染对象(RenderObjectWidget)。\n\n布局类Widget就是指直接或间接继承(包含)MultiChildRenderObjectWidget的Widget,它们一般都会有一个children属性用于接收子Widget。我们看一下继承关系 Widget > RenderObjectWidget > (Leaf/SingleChild/MultiChild)RenderObjectWidget 。RenderObjectWidget类中定义了创建、更新RenderObject的方法,子类必须实现他们,关于RenderObject我们现在只需要知道它是最终布局、渲染UI界面的对象即可,也就是说,对于布局类Widget来说,其布局算法都是通过对应的RenderObject对象来实现的,所以读者如果对接下来介绍的某个布局类Widget原理感兴趣,可以查看其RenderObject的实现,而在本章中,为了让读者对布局类Widget有个快速的认识,所以我们不会深入到RenderObject的细节中区。在学习本章时,读者的重点是掌握不同布局类Widget的布局特点,具体原理和细节我们会在后面高级部分介绍。\n"},"chapter4/row_and_column.html":{"url":"chapter4/row_and_column.html","title":"线性布局Row、Column","keywords":"","body":"线性布局Row和Column\n所谓线性布局,即指沿水平或垂直方向排布子Widget。Flutter中通过Row和Column来实现线性布局,类似于Android中的LinearLayout控件。Row和Column都继承自Flex,我们将在弹性布局一节中详细介绍Flex。\n主轴和纵轴\n对于线性布局,有主轴和纵轴之分,如果布局是沿水平方,那么主轴就指是水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类MainAxisAlignment和CrossAxisAlignment,分别代表主轴对齐和纵轴对齐。\nRow\nRow可以在水平方向排列其子widget。定义如下:\nRow({\n ... \n TextDirection textDirection, \n MainAxisSize mainAxisSize = MainAxisSize.max, \n MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,\n VerticalDirection verticalDirection = VerticalDirection.down, \n CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,\n List children = const [],\n})\n\n\ntextDirection:表示水平方向子widget的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。\nmainAxisSize:表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则Row的实际宽度等于所有子widgets占用的的水平空间;\nmainAxisAlignment:表示子Widgets在Row所占用的水平空间内对齐方式,如果mainAxisSize值为MainAxisSize.min,则此属性无意义,因为子widgets的宽度等于Row的宽度。只有当mainAxisSize的值为MainAxisSize.max时,此属性才有意义,MainAxisAlignment.start表示沿textDirection的初始方向对齐,如textDirection取值为TextDirection.ltr时,则MainAxisAlignment.start表示左对齐,textDirection取值为TextDirection.rtl时表示从右对齐。而MainAxisAlignment.end和MainAxisAlignment.start正好相反;MainAxisAlignment.center表示居中对齐。读者可以这么理解:textDirection是mainAxisAlignment的参考系。\nverticalDirection:表示Row纵轴(垂直)的对齐方向,默认是VerticalDirection.down,表示从上到下。\ncrossAxisAlignment:表示子Widgets在纵轴方向的对齐方式,Row的高度等于子Widgets中最高的子元素高度,它的取值和MainAxisAlignment一样(包含start、end、 center三个值),不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为VerticalDirection.down时crossAxisAlignment.start指顶部对齐,verticalDirection值为VerticalDirection.up时,crossAxisAlignment.start指底部对齐;而crossAxisAlignment.end和crossAxisAlignment.start正好相反;\nchildren :子Widgets数组。\n\n示例\n请阅读下面代码,想象一下运行的结果:\nColumn(\n //测试Row对齐方式,排除Column默认居中对齐的干扰\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Text(\" hello world \"),\n Text(\" I am Jack \"),\n ],\n ),\n Row(\n mainAxisSize: MainAxisSize.min,\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Text(\" hello world \"),\n Text(\" I am Jack \"),\n ],\n ),\n Row(\n mainAxisAlignment: MainAxisAlignment.end,\n textDirection: TextDirection.rtl,\n children: [\n Text(\" hello world \"),\n Text(\" I am Jack \"),\n ],\n ),\n Row(\n crossAxisAlignment: CrossAxisAlignment.start, \n verticalDirection: VerticalDirection.up,\n children: [\n Text(\" hello world \", style: TextStyle(fontSize: 30.0),),\n Text(\" I am Jack \"),\n ],\n ),\n ],\n);\n\n运行结果:\n\n解释:第一个Row很简单,默认为居中对齐;第二个Row,由于mainAxisSize值为MainAxisSize.min,Row的宽度等于两个Text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个Row设置textDirection值为TextDirection.rtl,所以子widget会从右向左的顺序排列,而此时MainAxisAlignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个Row测试的是纵轴的对齐方式,由于两个子Text字体不一样,所以其高度也不同,我们指定了verticalDirection值为VerticalDirection.up,即从低向顶排列,而此时crossAxisAlignment值为CrossAxisAlignment.start表示底对齐。\nColumn\nColumn可以在垂直方向排列其子widget。参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比Row来理解,在此不再赘述。\n特殊情况\n如果Row里面嵌套Row,或者Column里面再嵌套Column,那么只有对最外面的Row或Column会占用尽可能大的空间,里面Row或Column所占用的空间为实际大小,下面以Column为例说明:\nContainer(\n color: Colors.green,\n child: Padding(\n padding: const EdgeInsets.all(16.0),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n mainAxisSize: MainAxisSize.max, //有效,外层Colum高度为整个屏幕\n children: [\n Container(\n color: Colors.red,\n child: Column(\n mainAxisSize: MainAxisSize.max,//无效,内层Colum高度为实际高度 \n children: [\n Text(\"hello world \"),\n Text(\"I am Jack \"),\n ],\n ),\n )\n ],\n ),\n ),\n);\n\n运行结果:\n\n如果要让里面的Colum占满外部Colum,可以使用Expanded widget:\nExpanded( \n child: Container(\n color: Colors.red,\n child: Column(\n mainAxisAlignment: MainAxisAlignment.center, //垂直方向居中对齐\n children: [\n Text(\"hello world \"),\n Text(\"I am Jack \"),\n ],\n ),\n ),\n)\n\n运行效果:\n\n我们将在介绍弹性布局时详细介绍Expanded。\n"},"chapter4/flex.html":{"url":"chapter4/flex.html","title":"弹性布局Flex","keywords":"","body":"弹性布局\n弹性布局允许子widget按照一定比例来分配父容器空间,弹性布局的概念在其UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout。Flutter中的弹性布局主要通过Flex和Expanded来配合实现。\nFlex\nFlex可以沿着水平或垂直方向排列子widget,如果你知道主轴方向,使用Row或Column会方便一些,因为Row和Column都继承自Flex,参数基本相同,所以能使用Flex的地方一定可以使用Row或Column。Flex本身功能是很强大的,它也可以和Expanded配合实现弹性布局,接下来我们只讨论Flex和弹性布局相关的属性(其它属性已经在介绍Row和Column时介绍过了)。\nFlex({\n ...\n @required this.direction, //弹性布局的方向, Row默认为水平方向,Column默认为垂直方向\n List children = const [],\n})\n\nFlex继承自MultiChildRenderObjectWidget,对应的RenderObject为RenderFlex,RenderFlex中实现了其布局算法。\nExpanded\n可以按比例“扩伸”Row、Column和Flex子widget所占用的空间。\nconst Expanded({\n int flex = 1, \n @required Widget child,\n})\n\nflex为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的Expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子:\nclass FlexLayoutTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Column(\n children: [\n //Flex的两个子widget按1:2来占据水平空间 \n Flex(\n direction: Axis.horizontal,\n children: [\n Expanded(\n flex: 1,\n child: Container(\n height: 30.0,\n color: Colors.red,\n ),\n ),\n Expanded(\n flex: 2,\n child: Container(\n height: 30.0,\n color: Colors.green,\n ),\n ),\n ],\n ),\n Padding(\n padding: const EdgeInsets.only(top: 20.0),\n child: SizedBox(\n height: 100.0,\n //Flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间 \n child: Flex(\n direction: Axis.vertical,\n children: [\n Expanded(\n flex: 2,\n child: Container(\n height: 30.0,\n color: Colors.red,\n ),\n ),\n Spacer(\n flex: 1,\n ),\n Expanded(\n flex: 1,\n child: Container(\n height: 30.0,\n color: Colors.green,\n ),\n ),\n ],\n ),\n ),\n ),\n ],\n );\n }\n}\n\n运行效果如下:\n\n示例中的Spacer的功能是占用指定比例的空间,实际上它只是Expanded的一个包装:\nnew Expanded(\n flex: flex,\n child: const SizedBox(\n height: 0.0,\n width: 0.0,\n ),\n);\n\n"},"chapter4/wrap_and_flow.html":{"url":"chapter4/wrap_and_flow.html","title":"流式布局Wrap、Flow","keywords":"","body":"流式布局\nWrap\n在介绍Row和Colum时,如果子widget超出屏幕范围,则会报溢出错误,如:\nRow(\n children: [\n Text(\"xxx\"*100)\n ],\n);\n\n运行:\n\n可以看到,右边溢出部分报错。这是因为Row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局,将上例中的Row换成Wrap后溢出部分则会自动折行。下面是Wrap的定义:\nWrap({\n ...\n this.direction = Axis.horizontal,\n this.alignment = WrapAlignment.start,\n this.spacing = 0.0,\n this.runAlignment = WrapAlignment.start,\n this.runSpacing = 0.0,\n this.crossAxisAlignment = WrapCrossAlignment.start,\n this.textDirection,\n this.verticalDirection = VerticalDirection.down,\n List children = const [],\n})\n\n我们可以看到Wrap的很多属性在Row(包括Flex和Column)中也有,如direction、crossAxisAlignment、textDirection、verticalDirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍Row的部分。读者可以认为Wrap和Flex(包括Row和Column)除了超出显示范围后Wrap会折行外,其它行为基本相同。下面我们看一下Wrap特有的几个属性:\n\nspacing:主轴方向子widget的间距\nrunSpacing:纵轴方向的间距\nrunAlignment:纵轴方向的对齐方式\n\n下面看一个示例子:\nWrap(\n spacing: 8.0, // 主轴(水平)方向间距\n runSpacing: 4.0, // 纵轴(垂直)方向间距\n alignment: WrapAlignment.center, //沿主轴方向居中\n children: [\n new Chip(\n avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('A')),\n label: new Text('Hamilton'),\n ),\n new Chip(\n avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('M')),\n label: new Text('Lafayette'),\n ),\n new Chip(\n avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('H')),\n label: new Text('Mulligan'),\n ),\n new Chip(\n avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('J')),\n label: new Text('Laurens'),\n ),\n ],\n)\n\n运行效果:\n\nFlow\n我们一般很少会使用Flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是Wrap是否满足需求。Flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。Flow有如下优点:\n\n性能好;Flow是一个对child尺寸以及位置调整非常高效的控件,Flow用转换矩阵(transformation matrices)在对child进行位置调整的时候进行了优化:在Flow定位过后,如果child的尺寸或者位置发生了变化,在FlowDelegate中的paintChildren()方法中调用context.paintChild 进行重绘,而context.paintChild在重绘时使用了转换矩阵(transformation matrices),并没有实际调整Widget位置。\n灵活;由于我们需要自己实现FlowDelegate的paintChildren()方法,所以我们需要自己计算每一个widget的位置,因此,可以自定义布局策略。\n\n缺点:\n\n使用复杂.\n不能自适应子widget大小,必须通过指定父容器大小或实现TestFlowDelegate的getSize返回固定大小。\n\n示例:\n我们对六个色块进行自定义流式布局:\nFlow(\n delegate: TestFlowDelegate(margin: EdgeInsets.all(10.0)),\n children: [\n new Container(width: 80.0, height:80.0, color: Colors.red,),\n new Container(width: 80.0, height:80.0, color: Colors.green,),\n new Container(width: 80.0, height:80.0, color: Colors.blue,),\n new Container(width: 80.0, height:80.0, color: Colors.yellow,),\n new Container(width: 80.0, height:80.0, color: Colors.brown,),\n new Container(width: 80.0, height:80.0, color: Colors.purple,),\n ],\n)\n\n实现TestFlowDelegate:\nclass TestFlowDelegate extends FlowDelegate {\n EdgeInsets margin = EdgeInsets.zero;\n TestFlowDelegate({this.margin});\n @override\n void paintChildren(FlowPaintingContext context) {\n var x = margin.left;\n var y = margin.top;\n //计算每一个子widget的位置 \n for (int i = 0; i \n效果:\n\n可以看到我们主要的任务就是实现paintChildren,它的主要任务是确定每个子widget位置。由于Flow不能自适应子widget的大小,我们通过在getSize返回一个固定大小来指定Flow的大小。\n"},"chapter4/stack.html":{"url":"chapter4/stack.html","title":"层叠布局Stack、Positioned","keywords":"","body":"层叠布局\n层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子widget可以根据到父容器四个角的位置来确定本身的位置。绝对定位允许子widget堆叠(按照代码中声明的顺序)。Flutter中使用Stack和Positioned来实现绝对定位,Stack允许子widget堆叠,而Positioned可以给子widget定位(根据Stack的四个角)。\nStack\nStack({\n this.alignment = AlignmentDirectional.topStart,\n this.textDirection,\n this.fit = StackFit.loose,\n this.overflow = Overflow.clip,\n List children = const [],\n})\n\n\nalignment:此参数决定如何去对齐没有定位(没有使用Positioned)或部分定位的子widget。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。\ntextDirection:和Row、Wrap的textDirection功能一样,都用于决定alignment对齐的参考系即:textDirection的值为TextDirection.ltr,则alignment的start代表左,end代表右;textDirection的值为TextDirection.rtl,则alignment的start代表右,end代表左。\nfit:此参数用于决定没有定位的子widget如何去适应Stack的大小。StackFit.loose表示使用子widget的大小,StackFit.expand表示扩伸到Stack的大小。\noverflow:此属性决定如何显示超出Stack显示空间的子widget,值为Overflow.clip时,超出部分会被剪裁(隐藏),值为Overflow.visible 时则不会。\n\nPositioned\nconst Positioned({\n Key key,\n this.left, \n this.top,\n this.right,\n this.bottom,\n this.width,\n this.height,\n @required Widget child,\n})\n\nleft、top 、right、 bottom分别代表离Stack左、上、右、底四边的距离。width和height用于指定定位元素的宽度和高度,注意,此处的width、height 和其它地方的意义稍微有点区别,此处用于配合left、top 、right、 bottom来定位widget,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。\n示例\n//通过ConstrainedBox来确保Stack占满屏幕\nConstrainedBox(\n constraints: BoxConstraints.expand(),\n child: Stack(\n alignment:Alignment.center , //指定未定位或部分定位widget的对齐方式\n children: [\n Container(child: Text(\"Hello world\",style: TextStyle(color: Colors.white)),\n color: Colors.red,\n ),\n Positioned(\n left: 18.0,\n child: Text(\"I am Jack\"),\n ),\n Positioned(\n top: 18.0,\n child: Text(\"Your friend\"),\n ) \n ],\n ),\n);\n\n运行效果如下:\n\n由于第一个子widget Text(\"Hello world\")没有指定定位,并且alignment值为Alignment.center,所以,它会居中显示。第二个子widget Text(\"I am Jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子widget Text(\"Your friend\"),和第二个Text原理一样,只不过是水平方向没有定位,则水平方向居中。\n我们给上例中的Stack指定一个fit属性,然后将三个子widget的顺序调整一下:\nStack(\n alignment:Alignment.center ,\n fit: StackFit.expand, //未定位widget占满Stack整个空间\n children: [\n Positioned(\n left: 18.0,\n child: Text(\"I am Jack\"),\n ),\n Container(child: Text(\"Hello world\",style: TextStyle(color: Colors.white)),\n color: Colors.red,\n ),\n Positioned(\n top: 18.0,\n child: Text(\"Your friend\"),\n )\n ],\n),\n\n显示效果如下:\n\n可以看到,由于第二个子widget没有定位,所以fit属性会对它起作用,就会占满Stack。有Stack子元素是堆叠的,所以第一个子Widget被第二个遮住了,而第三个在最上层,所以可以正常显示。\n"},"chapter5/":{"url":"chapter5/","title":"容器类Widgets","keywords":"","body":"容器类Widget\n容器类Widget和布局类Widget都作用于其子Widget,不同的是:\n\n布局类Widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)MultiChildRenderObjectWidget ;而容器类Widget一般只需要接受一个子Widget(child),他们直接或间接继承自(或包含)SingleChildRenderObjectWidget。\n布局类Widget是按照一定的排列方式来对其子Widget进行排列;而容器类Widget一般只是包装其子Widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。\n\n注意,Flutter官方并没有对Widget进行官方分类,我们对其分类主要是为了方便讨论和对Widget功能的区分记忆。\n本章目录\n\nPadding\n布局限制类容器ConstrainedBox、SizeBox\n装饰容器DecoratedBox \n变换Transform \nContainer容器 \nScaffold、TabBar、底部导航 \n\n"},"chapter5/padding.html":{"url":"chapter5/padding.html","title":"Padding","keywords":"","body":"Padding\nPadding可以给其子节点添加补白(填充),我们在前面很多示例中都已经使用过它了,现在来看看它的定义:\nPadding({\n ...\n EdgeInsetsGeometry padding,\n Widget child,\n})\n\nEdgeInsetsGeometry是一个抽象类,开发中,我们一般都使用EdgeInsets,它是EdgeInsetsGeometry的一个子类,定义了一些设置补白的便捷方法。\nEdgeInsets\n我们看看EdgeInsets提供的便捷方法:\n\nfromLTRB(double left, double top, double right, double bottom):分别指定四个方向的补白。\nall(double value) : 所有方向均使用相同数值的补白。\nonly({left, top, right ,bottom }):可以设置具体某个方向的补白(可以同时指定多个方向)。\nsymmetric({ vertical, horizontal }):用于设置对称方向的补白,vertical指top和bottom,horizontal指left和right。\n\n示例\nclass PaddingTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Padding(\n //上下左右各添加16像素补白\n padding: EdgeInsets.all(16.0),\n child: Column(\n //显式指定对齐方式为左对齐,排除对齐干扰\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Padding(\n //左边添加8像素补白\n padding: const EdgeInsets.only(left: 8.0),\n child: Text(\"Hello world\"),\n ),\n Padding(\n //上下各添加8像素补白\n padding: const EdgeInsets.symmetric(vertical: 8.0),\n child: Text(\"I am Jack\"),\n ),\n Padding(\n // 分别指定四个方向的补白\n padding: const EdgeInsets.fromLTRB(20.0,.0,20.0,20.0),\n child: Text(\"Your friend\"),\n )\n ],\n ),\n );\n }\n}\n\n"},"chapter5/constrainedbox_and_sizebox.html":{"url":"chapter5/constrainedbox_and_sizebox.html","title":"布局限制类容器ConstrainedBox、SizeBox","keywords":"","body":"ConstrainedBox和SizedBox\nConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的。SizedBox只是ConstrainedBox一个定制,本节把他们放在一起讨论。\nConstrainedBox\nConstrainedBox用于对齐子widget添加额外的约束。例如,如果你想让子widget的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子widget的约束。\n示例\n我们先定义一个redBox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度:\nWidget redBox=DecoratedBox(\n decoration: BoxDecoration(color: Colors.red),\n);\n\n我们实现一个最小高度为50,宽度尽可能大的红色容器。\nConstrainedBox(\n constraints: BoxConstraints(\n minWidth: double.infinity, //宽度尽可能大\n minHeight: 50.0 //最小高度为50像素\n ),\n child: Container(\n height: 5.0, \n child: redBox \n ),\n)\n\n显示效果:\n\n可以看到,我们虽然将Container的高度设置为5像素,但是最终却是50像素,这正是ConstrainedBox的最小高度限制生效了。如果将Container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,ConstrainedBox只限制了最小高度,并未限制最大高度。\nBoxConstraints\nBoxConstraints用于设置限制条件,它的定义如下:\nconst BoxConstraints({\n this.minWidth = 0.0, //最小宽度\n this.maxWidth = double.infinity, //最大宽度\n this.minHeight = 0.0, //最小高度\n this.maxHeight = double.infinity //最大高度\n})\n\nBoxConstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的BoxConstraints,如BoxConstraints.tight(Size size),它可以生成给定大小的限制;const BoxConstraints.expand()可以生成一个尽可能大的用以填充另一个容器的BoxConstraints。除此之外还有一些其它的便捷函数,读者可以查看API文档。\nSizedBox\nSizedBox用于给子widget指定固定的宽高,如:\nSizedBox(\n width: 80.0,\n height: 80.0,\n child: redBox\n)\n\n运行效果如下:\n\n实际上SizedBox和只是ConstrainedBox一个定制,上面代码等价于:\nConstrainedBox(\n constraints: BoxConstraints.tightFor(width: 80.0,height: 80.0),\n child: redBox, \n)\n\n而BoxConstraints.tightFor(width: 80.0,height: 80.0)等价于:\nBoxConstraints(minHeight: 80.0,maxHeight: 80.0,minWidth: 80.0,maxWidth: 80.0)\n\n而实际上ConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的,我们可以看到ConstrainedBox和SizedBox的createRenderObject()方法都返回的是一个RenderConstrainedBox对象:\n@override\nRenderConstrainedBox createRenderObject(BuildContext context) {\n return new RenderConstrainedBox(\n additionalConstraints: ...,\n );\n}\n\n多重限制\n如果某一个widget有多个父ConstrainedBox限制,那么最终会是哪个生效?我们看一个例子:\nConstrainedBox(\n constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0), //父\n child: ConstrainedBox(\n constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子\n child: redBox,\n )\n)\n\n上面我们有父子两个ConstrainedBox,他们的限制条件不同,运行后效果如下:\n\n最终显示效果是宽90,高60,也就是说是子ConstrainedBox的minWidth生效,而minHeight是父ConstrainedBox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下:\nConstrainedBox(\n constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),\n child: ConstrainedBox(\n constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0),\n child: redBox,\n )\n)\n\n\n最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minWidth生效的是父ConstrainedBox,而minHeight是子ConstrainedBox生效。\n通过上面示例,我们发现有多重限制时,对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。\n\n思考题:对于maxWidth和maxHeight,多重限制的策略是什么样的呢?\n\nUnconstrainedBox\nUnconstrainedBox不会对子Widget产生任何限制,它允许其子Widget按照其本身大小绘制。一般情况下,我们会很少直接使用此widget,但在\"去除\"多重限制的时候也许会有帮助,我们看一下面的代码:\nConstrainedBox(\n constraints: BoxConstraints(minWidth: 60.0, minHeight: 100.0), //父\n child: UnconstrainedBox( //“去除”父级限制\n child: ConstrainedBox(\n constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子\n child: redBox,\n ),\n )\n)\n\n上面代码中,如果没有中间的UnconstrainedBox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于 UnconstrainedBox “去除”了父ConstrainedBox的限制,则最终会按照子ConstrainedBox的限制来绘制redBox,即90×20:\n\n但是,读者请注意,UnconstrainedBox对父限制的“去除”并非是真正的去除,上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minHeight(100.0)仍然是生效的,只不过它不影响最终子元素的大小,但仍然还是占有相应的空间,可以认为此时的父ConstrainedBox是作用于子ConstrainedBox上,而redBox只受子ConstrainedBox限制,这一点请读者务必注意。\n那么有什么方法可以彻底去除父BoxConstraints的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的widget时,如果对子widget指定限制时一定要注意,因为一旦指定限制条件,子widget如果要进行相关自定义大小时将可能非常困难,因为子widget在不更改父widget的代码的情况下无法彻底去除其限制条件。\n"},"chapter5/decoratedbox.html":{"url":"chapter5/decoratedbox.html","title":"装饰容器DecoratedBox","keywords":"","body":"DecoratedBox\nDecoratedBox可以在其子widget绘制前(或后)绘制一个装饰Decoration(如背景、边框、渐变等)。DecoratedBox定义如下:\nconst DecoratedBox({\n Decoration decoration,\n DecorationPosition position = DecorationPosition.background,\n Widget child\n})\n\n\ndecoration:代表将要绘制的装饰,它类型为Decoration,Decoration是一个抽象类,它定义了一个接口 createBoxPainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。\nposition:此属性决定在哪里绘制Decoration,它接收DecorationPosition的枚举类型,该枚举类两个值:\nbackground:在子widget之后绘制,即背景装饰。\nforeground:在子widget之上绘制,即前景。\n\n\n\nBoxDecoration\n我们通常会直接使用BoxDecoration,它是一个Decoration的子类,实现了常用的装饰元素的绘制。\nBoxDecoration({\n Color color, //颜色\n DecorationImage image,//图片\n BoxBorder border, //边框\n BorderRadiusGeometry borderRadius, //圆角\n List boxShadow, //阴影,可以指定多个\n Gradient gradient, //渐变\n BlendMode backgroundBlendMode, //背景混合模式\n BoxShape shape = BoxShape.rectangle, //形状\n})\n\n各个属性名都是自解释的,详情读者可以查看API文档,我们看一个示例:\n DecoratedBox(\n decoration: BoxDecoration(\n gradient: LinearGradient(colors:[Colors.red,Colors.orange[700]]), //背景渐变\n borderRadius: BorderRadius.circular(3.0), //3像素圆角\n boxShadow: [ //阴影\n BoxShadow(\n color:Colors.black54,\n offset: Offset(2.0,2.0),\n blurRadius: 4.0\n )\n ]\n ),\n child: Padding(padding: EdgeInsets.symmetric(horizontal: 80.0, vertical: 18.0),\n child: Text(\"Login\", style: TextStyle(color: Colors.white),),\n )\n)\n\n效果如下:\n\n怎么样,通过BoxDecoration,我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在本章末尾来实现一个完整的GradientButton。\n"},"chapter5/transform.html":{"url":"chapter5/transform.html","title":"变换Transform","keywords":"","body":"Transform变换\nTransform可以在其子Widget绘制时对其应用一个矩阵变换(transformation),Matrix4是一个4D矩阵,通过它我们可以实现各种矩阵操作。下面是一个例子:\nContainer(\n color: Colors.black,\n child: new Transform(\n alignment: Alignment.topRight, //相对于坐标系原点的对齐方式\n transform: new Matrix4.skewY(0.3), //沿Y轴倾斜0.3弧度\n child: new Container(\n padding: const EdgeInsets.all(8.0),\n color: Colors.deepOrange,\n child: const Text('Apartment for rent!'),\n ),\n ),\n);\n\n\n关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在Flutter中一些常见的变换效果上。\n平移\nTransform.translate接收一个offset参数,可以在绘制时沿x、y轴对子widget平移指定的距离。\nDecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n //默认原点为左上角,左移20像素,向上平移5像素 \n child: Transform.translate(offset: Offset(-20.0, -5.0),\n child: Text(\"Hello world\"),\n ),\n)\n\n效果:\n\n旋转\nTransform.rotate可以对子widget进行旋转变换,如:\nDecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n child: Transform.rotate(\n //旋转90度\n angle:math.pi/2 ,\n child: Text(\"Hello world\"),\n ),\n);\n\n\n注意:要使用math.pi需先进行如下导包。 \nimport 'dart:math' as math;\n\n\n效果:\n\n缩放\nTransform.scale可以对子Widget进行缩小或放大,如:\nDecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n child: Transform.scale(\n scale: 1.5, //放大到1.5倍\n child: Text(\"Hello world\")\n )\n);\n\n效果:\n\n注意\n\nTransform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子widget应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明:\n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n DecoratedBox(\n decoration:BoxDecoration(color: Colors.red),\n child: Transform.scale(scale: 1.5,\n child: Text(\"Hello world\")\n )\n ),\n Text(\"你好\", style: TextStyle(color: Colors.green, fontSize: 18.0),)\n ],\n)\n\n显示效果:\n\n由于第一个Text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字有重合部分。\n\n由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上的UI改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的Flow widget,它内部就是用矩阵变换来更新UI,除此之外,Flutter的动画widget中也大量使用了Transform以提高性能。\n\n\nRotatedBox\nRotatedBox和Transform.rotate功能相似,它们都可以对子widget进行旋转变换,但是有一点不同:RotatedBox的变换是在layout阶段,会影响在子widget的位置和大小。我们将上面介绍Transform.rotate时的示例改一下:\nRow(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n DecoratedBox(\n decoration: BoxDecoration(color: Colors.red),\n //将Transform.rotate换成RotatedBox \n child: RotatedBox(\n quarterTurns: 1, //旋转90度(1/4圈)\n child: Text(\"Hello world\"),\n ),\n ),\n Text(\"你好\", style: TextStyle(color: Colors.green, fontSize: 18.0),)\n ],\n),\n\n效果:\n\n由于RotatedBox是作用于layout阶段,所以widget会旋转90度(而不只是绘制的内容),decoration会作用到widget所占用的实际空间上,所以就是上图的效果。读者可以和前面Transform.rotate示例对比理解。\n"},"chapter5/container.html":{"url":"chapter5/container.html","title":"Container容器","keywords":"","body":"Container\nContainer是我们要介绍的最后一个容器类widget,它本身不对应具体的RenderObject,它是DecoratedBox、ConstrainedBox、Transform、Padding、Align等widget的一个组合widget。所以我们只需通过一个Container可以实现同时需要装饰、变换、限制的场景。下面是Container的定义:\nContainer({\n this.alignment,\n this.padding, //容器内补白,属于decoration的装饰范围\n Color color, // 背景色\n Decoration decoration, // 背景装饰\n Decoration foregroundDecoration, //前景装饰\n double width,//容器的宽度\n double height, //容器的高度\n BoxConstraints constraints, //容器大小的限制条件\n this.margin,//容器外补白,不属于decoration的装饰范围\n this.transform, //变换\n this.child,\n})\n\n大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明:\n\n容器的大小可以通过width、height属性来指定,也可以通过constraints来指定,如果同时存在时,width、height优先。实际上Container内部会根据width、height来生成一个constraints。\ncolor和decoration是互斥的,实际上,当指定color时,Container内会自动创建一个decoration。\n\n实例\n我们通过Container来实现如下的卡片:\n\n代码:\nContainer(\n margin: EdgeInsets.only(top: 50.0, left: 120.0), //容器外补白\n constraints: BoxConstraints.tightFor(width: 200.0, height: 150.0), //卡片大小\n decoration: BoxDecoration(//背景装饰\n gradient: RadialGradient( //背景径向渐变\n colors: [Colors.red, Colors.orange],\n center: Alignment.topLeft,\n radius: .98\n ),\n boxShadow: [ //卡片阴影\n BoxShadow(\n color: Colors.black54,\n offset: Offset(2.0, 2.0),\n blurRadius: 4.0\n )\n ]\n ),\n transform: Matrix4.rotationZ(.2), //卡片倾斜变换\n alignment: Alignment.center, //卡片内文字居中\n child: Text( //卡片文字\n \"5.20\", style: TextStyle(color: Colors.white, fontSize: 40.0),\n ),\n);\n\n可以看到Container通过组合多种widget来实现复杂强大的功能,在Flutter中,这也正是组合优先于继承的实例。\nPadding和Margin\n接下来我们看看Container的margin和padding属性的区别:\n...\nContainer(\n margin: EdgeInsets.all(20.0), //容器外补白\n color: Colors.orange,\n child: Text(\"Hello world!\"),\n),\nContainer(\n padding: EdgeInsets.all(20.0), //容器内补白\n color: Colors.orange,\n child: Text(\"Hello world!\"),\n),\n...\n\n\n可以发现,直观的感觉就是margin的补白是在容器外部,而padding的补白是在容器内部,读者需要记住这个差异。事实上,Container内margin和padding都是通过Padding widget来实现的,上面的示例代码实际上等价于:\n...\nPadding(\n padding: EdgeInsets.all(20.0),\n child: DecoratedBox(\n decoration: BoxDecoration(color: Colors.orange),\n child: Text(\"Hello world!\"),\n ),\n),\nDecoratedBox(\n decoration: BoxDecoration(color: Colors.orange),\n child: Padding(\n padding: const EdgeInsets.all(20.0),\n child: Text(\"Hello world!\"),\n ),\n),\n...\n\n"},"chapter5/material_scaffold.html":{"url":"chapter5/material_scaffold.html","title":"Scaffold、TabBar、底部导航","keywords":"","body":"Scaffold、TabBar、底部导航\nMaterial库提供了很多Widget,本节介绍一些常用的Widget,其余的读者可以查看文档或Flutter Gallery中Material组件部分的示例。注意,笔者强烈建议用户将Flutter Gallery示例跑起来,它是一个很全面的Flutter示例,是非常好的参考Demo。\nScaffold\n大多数路由页都会包含一个导航栏,有些路由页可能会有抽屉菜单(Drawer)以及底部Tab导航菜单等。如果每个页面都需要开发者自己手动去实现,这会是一件非常无聊的事。幸运的是,我们前面提到过,Flutter Material库提供了一个Scaffold Widget,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。\n示例\n我们实现一个页面,它包含:\n\n一个导航栏\n导航栏右边有一个分享按钮\n有一个抽屉菜单\n有一个底部导航\n右下角有一个悬浮的动作按钮\n\n最终效果如下:\n \n实现代码如下:\nclass ScaffoldRoute extends StatefulWidget {\n @override\n _ScaffoldRouteState createState() => _ScaffoldRouteState();\n}\n\nclass _ScaffoldRouteState extends State {\n int _selectedIndex = 1;\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar( //导航栏\n title: Text(\"App Name\"), \n actions: [ //导航栏右侧菜单\n IconButton(icon: Icon(Icons.share), onPressed: () {}),\n ],\n ),\n drawer: new MyDrawer(), //抽屉\n bottomNavigationBar: BottomNavigationBar( // 底部导航\n items: [\n BottomNavigationBarItem(icon: Icon(Icons.home), title: Text('Home')),\n BottomNavigationBarItem(icon: Icon(Icons.business), title: Text('Business')),\n BottomNavigationBarItem(icon: Icon(Icons.school), title: Text('School')),\n ],\n currentIndex: _selectedIndex,\n fixedColor: Colors.blue,\n onTap: _onItemTapped,\n ),\n floatingActionButton: FloatingActionButton( //悬浮按钮\n child: Icon(Icons.add),\n onPressed:_onAdd\n ),\n );\n }\n void _onItemTapped(int index) {\n setState(() {\n _selectedIndex = index;\n });\n }\n void _onAdd(){\n }\n}\n\n上面代码中我们用到了另外几个Widget,下面我们来分别介绍一下:\nAppBar\nAppBar是一个Material风格的导航栏,它可以设置标题、导航栏菜单、底部Tab等。下面我们看看AppBar的定义:\nAppBar({\n Key key,\n this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮。\n this.automaticallyImplyLeading = true, //如果leading为null,是否自动实现默认的leading按钮\n this.title,// 页面标题\n this.actions, // 导航栏右侧菜单\n this.bottom, // 导航栏底部菜单,通常为Tab按钮组\n this.elevation = 4.0, // 导航栏阴影\n this.centerTitle, //标题是否居中 \n this.backgroundColor,\n ... //其它属性见源码注释\n})\n\n如果给Scaffold添加了抽屉菜单,默认情况下Scaffold会自动将AppBar的leading设置为菜单按钮(如上面截图所示)。如果我们想自定义菜单图标,可以手动来设置leading,如:\nScaffold(\n appBar: AppBar(\n title: Text(\"App Name\"),\n leading: Builder(builder: (context) {\n return IconButton(\n icon: Icon(Icons.dashboard, color: Colors.white), //自定义图标\n onPressed: () {\n // 打开抽屉菜单 \n Scaffold.of(context).openDrawer(); \n },\n );\n }),\n ... \n )\n\n代码运行效果:\n\n可以看到左侧菜单已经替换成功。\n代码中打开抽屉菜单的方法在ScaffoldState中,通过Scaffold.of(context)可以获取父级最近的Scaffold Widget的State对象,原理可以参考本书后面“Element与BuildContext” 一章。Flutter还有一种通用的获取StatefulWidget对象State的方法:通过GlobalKey来获取! 步骤有两步:\n\n给目标StatefulWidget添加GlobalKey\n//定义一个globalKey, 由于GlobalKey要保持全局唯一性,我们使用静态变量存储\nstatic GlobalKey _globalKey= new GlobalKey();\n...\nScaffold(\n key: _globalKey , //设置key\n ... \n)\n\n\n通过GlobalKey来获取State对象\n_globalKey.currentState.openDrawer()\n\n\n\nTabBar\n下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如下:\n\nMaterial组件库中提供了一个TabBar组件,它可以快速生成Tab菜单,下面是上图对应的源码:\nclass _ScaffoldRouteState extends State\n with SingleTickerProviderStateMixin { \n\n TabController _tabController; //需要定义一个Controller\n List tabs = [\"新闻\", \"历史\", \"图片\"];\n\n @override\n void initState() {\n super.initState();\n // 创建Controller \n _tabController = TabController(length: tabs.length, vsync: this);\n }\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(\n ... //省略无关代码\n bottom: TabBar( //生成Tab菜单\n controller: _tabController,\n tabs: tabs.map((e) => Tab(text: e)).toList()),\n ),\n ... //省略无关代码\n\n }\n\n上面代码首先创建了一个TabController ,它是用于控制/监听Tab菜单切换。然后通过TabBar生成了一个底部菜单栏,TabBar的tabs属性接受一个Widget数组,表示每一个Tab子菜单,我们可以自定义,也可以像示例中一样直接使用Tab Widget,它也是Material组件库提供的Material风格的Tab菜单。\nTab Widget有三个可选参数,除了可以指定文字外,还可以指定Tab菜单图标,或者直接自定义Widget,定义如下:\nTab({\n Key key,\n this.text, // 菜单文本\n this.icon, // 菜单图标\n this.child, // 自定义Widget\n})\n\n开发者可以根据实际需求来定制。\nTabBarView\n通过TabBar我们只能生成一个静态的菜单,如果要实现Tab页,我们可以通过TabController去监听Tab菜单的切换去切换Tab页,代码如:\n_tabController.addListener((){ \n switch(_tabController.index){\n case 1: ...;\n case 2: ... ; \n }\n});\n\n如果我们Tab页可以滑动切换的话,还需要在滑动过程中更新TabBar指示器的偏移。显然,要手动处理这些是很麻烦的,为此,Material库提供了一个TabBarView组件,它可以很轻松的配合TabBar来实现同步切换和滑动状态同步,示例如下:\nScaffold(\n appBar: AppBar(\n ... //省略无关代码\n bottom: TabBar(\n controller: _tabController,\n tabs: tabs.map((e) => Tab(text: e)).toList()),\n ),\n drawer: new MyDrawer(),\n body: TabBarView(\n controller: _tabController,\n children: tabs.map((e) { //创建3个Tab页\n return Container(\n alignment: Alignment.center,\n child: Text(e, textScaleFactor: 5),\n );\n }).toList(),\n ),\n ... // 省略无关代码 \n)\n\n运行后效果如下:\n\n现在,无论是点击导航栏Tab菜单还是在页面上左右滑动,Tab页面都会切换,并且Tab菜单的状态和Tab页面始终保持同步。下面我们来看看代码,细心的读者可以发现,TabBar和TabBarView的controller是同一个!正是如此,TabBar和TabBarView正是通过同一个controller来实现菜单切换和滑动状态同步的。\n另外,Material组件库也提供了一个PageView Widget,它和TabBarView功能相似,读者可以自行了解一下。\n抽屉菜单Drawer\nScaffold的drawer和endDrawer属性可以分别接受一个Widget作为页面的左、右抽屉菜单,如果开发者提供了抽屉菜单,那么当用户手指重屏幕左/右向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单MyDrawer,源码如下:\nclass MyDrawer extends StatelessWidget {\n const MyDrawer({\n Key key,\n }) : super(key: key);\n\n @override\n Widget build(BuildContext context) {\n return Drawer(\n child: MediaQuery.removePadding(\n context: context,\n // DrawerHeader consumes top MediaQuery padding.\n removeTop: true,\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Padding(\n padding: const EdgeInsets.only(top: 38.0),\n child: Row(\n children: [\n Padding(\n padding: const EdgeInsets.symmetric(horizontal: 16.0),\n child: ClipOval(\n child: Image.asset(\n \"imgs/avatar.png\",\n width: 80,\n ),\n ),\n ),\n Text(\n \"Wendux\",\n style: TextStyle(fontWeight: FontWeight.bold),\n )\n ],\n ),\n ),\n Expanded(\n child: ListView(\n children: [\n ListTile(\n leading: const Icon(Icons.add),\n title: const Text('Add account'),\n ),\n ListTile(\n leading: const Icon(Icons.settings),\n title: const Text('Manage accounts'),\n ),\n ],\n ),\n ),\n ],\n ),\n ),\n );\n }\n}\n\n抽屉菜单通常将Drawer作为根节点,它实现了Material风格的菜单面板,MediaQuery.removePadding可以移除抽Drawer内的一些指定空白,读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现,关于ListView我们将在后面“可滚动Widget”一节详细介绍。\nFloatingActionButton\nFloatingActionButton是Material设计规范中的一种特殊Button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置,这个比较简单,不在赘述。\n底部Tab导航栏\n我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar和BottomNavigationBarItem两个Widget来实现Material风格的底部导航栏,可以看到代码非常简单,不在赘述。但是如果我们想实现如下效果的底部导航应该怎么做呢?\n\nMaterial组件库中提供了一个BottomAppBar Widget,可以和FloatingActionButton配合实现这种\"打洞\"效果。源码如下:\nbottomNavigationBar: BottomAppBar(\n color: Colors.white,\n shape: CircularNotchedRectangle(), // 底部导航栏打一个圆形的洞\n child: Row(\n children: [\n IconButton(icon: Icon(Icons.home)),\n SizedBox(), //中间位置空出\n IconButton(icon: Icon(Icons.business)),\n ],\n mainAxisAlignment: MainAxisAlignment.spaceAround, //均分底部导航栏横向空间\n ),\n)\n\n可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于FloatingActionButton的位置,上面FloatingActionButton的位置为:\nfloatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,\n\nBottomAppBar的shape属性决定洞的外形,CircularNotchedRectangle实现了一个圆形的外形,我们也可以自定义外形,比如,Flutter Gallery示例中就有一个”钻石“形状的实现,读者感兴趣可以自行查看。\n"},"chapter6/":{"url":"chapter6/","title":"可滚动Widgets","keywords":"","body":"本章目录\n\n可滚动Widgets简介\nSingleChildScrollView\nListView\nGridView \nCustomScrollView \n滚动监听及控制ScrollController \n\n"},"chapter6/intro.html":{"url":"chapter6/intro.html","title":"可滚动Widgets简介","keywords":"","body":"可滚动Widget简介\n当内容超过显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动widget(Scrollable Widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动widget(如ListView、GridView等),然后介绍一下Scrollable与可滚动widget的原理。可滚动Widget都直接或间接包含一个Scrollable widget,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下:\nScrollable({\n ...\n this.axisDirection = AxisDirection.down,\n this.controller,\n this.physics,\n @required this.viewportBuilder, //后面介绍\n})\n\n\naxisDirection:滚动方向。\nphysics:此属性接受一个ScrollPhysics对象,它决定可滚动Widget如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,Flutter会根据具体平台分别使用不同的ScrollPhysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在iOS上会出现弹性效果,而在Android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定,Flutter SDK中包含了两个ScrollPhysics的子类可以直接使用:\nClampingScrollPhysics:Android下微光效果。\nBouncingScrollPhysics:iOS下弹性效果。\n\n\ncontroller:此属性接受一个ScrollController对象。ScrollController的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的PrimaryScrollController,如果子树中的可滚动widget没有显式的指定controller并且primary属性值为true时(默认就为true),可滚动widget会使用这个默认的PrimaryScrollController,这种机制带来的好处是父widget可以控制子树中可滚动widget的滚动,例如,Scaffold使用这种机制在iOS中实现了\"回到顶部\"的手势。我们将在本章后面“滚动控制”一节详细介绍ScrollController。\n\nScrollbar\nScrollbar是一个Material风格的滚动指示器(滚动条),如果要给可滚动widget添加滚动条,只需将Scrollbar作为可滚动widget的父widget即可,如:\nScrollbar(\n child: SingleChildScrollView(\n ...\n ),\n);\n\nScrollbar和CupertinoScrollbar都是通过ScrollController来监听滚动事件来确定滚动条位置,关于ScrollController详细的内容我们将在后面专门一节介绍。\nCupertinoScrollbar\nCupertinoScrollbar是iOS风格的滚动条,如果你使用的是Scrollbar,那么在iOS平台它会自动切换为CupertinoScrollbar。\nViewPort视口\n在很多布局系统中都有ViewPort的概念,在Flutter中,术语ViewPort(视口),如无特别说明,则是指一个Widget的实际显示区域。例如,一个ListView的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其ViewPort仍然是800像素。\n主轴和纵轴\n在可滚动widget的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动widget的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。\n"},"chapter6/single_child_scrollview.html":{"url":"chapter6/single_child_scrollview.html","title":"SingleChildScrollView","keywords":"","body":"SingleChildScrollView\nSingleChildScrollView类似于Android中的ScrollView,它只能接收一个子Widget。定义如下:\nSingleChildScrollView({\n this.scrollDirection = Axis.vertical, //滚动方向,默认是垂直方向\n this.reverse = false, \n this.padding, \n bool primary, \n this.physics, \n this.controller,\n this.child,\n})\n\n除了通用属性,我们重点看一下reverse和primary两个属性:\n\nreverse:该属性API文档解释是:是否按照阅读方向相反的方向滑动,如:scrollDirection值为Axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左),reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动widget的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。\nprimary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且controller没有指定时,primary默认为true.\n\n示例\n下面是一个将大写字母A-Z沿垂直方向显示的例子,由于垂直方向空间不够,所以使用SingleChildScrollView。:\nclass SingleChildScrollViewTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n String str = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n return Scrollbar(\n child: SingleChildScrollView(\n padding: EdgeInsets.all(16.0),\n child: Center(\n child: Column( \n //动态创建一个List \n children: str.split(\"\") \n //每一个字母都用一个Text显示,字体为原来的两倍\n .map((c) => Text(c, textScaleFactor: 2.0,)) \n .toList(),\n ),\n ),\n ),\n );\n }\n}\n\n效果:\n\n"},"chapter6/listview.html":{"url":"chapter6/listview.html","title":"ListView","keywords":"","body":"ListView\nListView是最常用的可滚动widget,它可以沿一个方向线性排布所有子widget。我们看看ListView的默认构造函数定义:\nListView({\n ... \n //可滚动widget公共参数\n Axis scrollDirection = Axis.vertical,\n bool reverse = false,\n ScrollController controller,\n bool primary,\n ScrollPhysics physics,\n EdgeInsetsGeometry padding,\n\n //ListView各个构造函数的共同参数 \n double itemExtent,\n bool shrinkWrap = false,\n bool addAutomaticKeepAlives = true,\n bool addRepaintBoundaries = true,\n double cacheExtent,\n\n //子widget列表\n List children = const [],\n})\n\n上面参数分为两组:第一组是可滚动widget公共参数,前面已经介绍过,不再赘述;第二组是ListView各个构造函数(ListView有多个构造函数)的共同参数,我们重点来看看这些参数,:\n\nitemExtent:该参数如果不为null,则会强制children的\"长度\"为itemExtent的值;这里的\"长度\"是指滚动方向上子widget的长度,即如果滚动方向是垂直方向,则itemExtent代表子widget的高度,如果滚动方向为水平方向,则itemExtent代表子widget的长度。在ListView中,指定itemExtent比让子widget自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而不是总是动态去计算,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。\nshrinkWrap:该属性表示是否根据子widget的总长度来设置ListView的长度,默认值为false 。默认情况下,ListView的会在滚动方向尽可能多的占用空间。当ListView在一个无边界(滚动方向上)的容器中时,shrinkWrap必须为true。\naddAutomaticKeepAlives:该属性表示是否将列表项(子widget)包裹在AutomaticKeepAlive widget中;典型地,在一个懒加载列表中,如果将列表项包裹在AutomaticKeepAlive中,在该列表项滑出视口时该列表项不会被GC,它会使用KeepAliveNotification来保存其状态。如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。\naddRepaintBoundaries:该属性表示是否将列表项(子widget)包裹在RepaintBoundary中。当可滚动widget滚动时,将列表项包裹在RepaintBoundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加RepaintBoundary反而会更高效。和addAutomaticKeepAlive一样,如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。\n\n\n注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动widget也可能会拥有这些参数,它们的含义是相同的。\n\n默认构造函数\n默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量的子widget的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建。实际上通过此方式创建的ListView和使用SingleChildScrollView+Column的方式没有本质的区别。下面是一个例子:\nListView(\n shrinkWrap: true, \n padding: const EdgeInsets.all(20.0),\n children: [\n const Text('I\\'m dedicating every day to you'),\n const Text('Domestic life was never quite my style'),\n const Text('When you smile, you knock me out, I fall apart'),\n const Text('And I thought I was so smart'),\n ],\n);\n\n\n注意:可滚动widget通过一个List来作为其children属性时,只适用于子widget较少的情况,这是一个通用规律,并非ListView自己的特性,像GridView也是如此。\n\nListView.builder\nListView.builder适合列表项比较多(或者无限)的情况,因为只有当子Widget真正显示的时候才会被创建。下面看一下ListView.builder的核心参数列表:\nListView.builder({\n // ListView公共参数已省略 \n ...\n @required IndexedWidgetBuilder itemBuilder,\n int itemCount,\n ...\n})\n\n\nitemBuilder:它是列表项的构建器,类型为IndexedWidgetBuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。\nitemCount:列表项的数量,如果为null,则为无限列表。\n\n看一个例子:\nListView.builder(\n itemCount: 100,\n itemExtent: 50.0, //强制高度为50.0\n itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }\n);\n\n\nListView.separated\nListView.separated可以生成列表项之间的分割器,它除了比ListView.builder多了一个separatorBuilder参数,该参数是一个分割器生成器。下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。\nclass ListView3 extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n //下划线widget预定义以供复用。 \n Widget divider1=Divider(color: Colors.blue,);\n Widget divider2=Divider(color: Colors.green);\n return ListView.separated(\n itemCount: 100,\n //列表项构造器\n itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n },\n //分割器构造器\n separatorBuilder: (BuildContext context, int index) {\n return index%2==0?divider1:divider2;\n },\n );\n }\n}\n\n\n实例:无限加载列表\n假设我们要从数据源异步分批拉取一些数据,然后用ListView显示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下:\nclass InfiniteListView extends StatefulWidget {\n @override\n _InfiniteListViewState createState() => new _InfiniteListViewState();\n}\n\nclass _InfiniteListViewState extends State {\n static const loadingTag = \"##loading##\"; //表尾标记\n var _words = [loadingTag];\n\n @override\n void initState() {\n _retrieveData();\n }\n\n @override\n Widget build(BuildContext context) {\n return ListView.separated(\n itemCount: _words.length,\n itemBuilder: (context, index) {\n //如果到了表尾\n if (_words[index] == loadingTag) {\n //不足100条,继续获取数据\n if (_words.length - 1 Divider(height: .0),\n );\n }\n\n void _retrieveData() {\n Future.delayed(Duration(seconds: 2)).then((e) {\n _words.insertAll(_words.length - 1,\n //每次生成20个单词\n generateWordPairs().take(20).map((e) => e.asPascalCase).toList()\n );\n setState(() {\n //重新构建列表\n });\n });\n }\n\n}\n\n\n代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrieveData()的功能是模拟从数据源异步获取数据,我们使用english_words包的generateWordPairs()方法每次生成20个单词。\n添加固定表头\n很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,效果如下:\n\n我们按照之前经验,写出如下代码:\n@override\nWidget build(BuildContext context) {\n return Column(children: [\n ListTile(title:Text(\"商品列表\")),\n ListView.builder(itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }),\n ]);\n}\n\n然后运行,发现并没有出现我们期望的效果,相反触发了一个异常;\nError caught by rendering library, thrown during performResize()。\nVertical viewport was given unbounded height ...\n从异常信息中我们可到是因为ListView高度边界无法确定引起,所以解决的办法也很明显,我们需要给ListView指定边界,我们通过SizedBox指定一个列表高度看看是否生效:\n... //省略无关代码\nSizedBox(\n height: 400, //指定列表高度为400\n child: ListView.builder(itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }),\n),\n...\n\n运行效果如下:\n\n可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白,那如果我们要实现列表铺满除过表头以外的屏幕空间呢?直观的方法是我们动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下:\n... //省略无关代码\nSizedBox(\n //Material设计规范中状态栏、导航栏、ListTile高度分别为24、56、56 \n height: MediaQuery.of(context).size.height-24-56-56,\n child: ListView.builder(itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }),\n)\n...\n\n运行效果如下:\n\n可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算,那么有什么方法可以自动拉升ListView以填充屏幕剩余空间的方法吗?当然有!答案就是Flex。前面已经介绍过在Flex布局中,可以使用Expanded自动拉伸组件大小的Widget,我们也说过Column是继承自Flex的,所以我们可以直接使用Column+Expanded来实现,代码如下:\n@override\nWidget build(BuildContext context) {\n return Column(children: [\n ListTile(title:Text(\"商品列表\")),\n Expanded(\n child: ListView.builder(itemBuilder: (BuildContext context, int index) {\n return ListTile(title: Text(\"$index\"));\n }),\n ),\n ]);\n}\n\n总结\n本节主要介绍了ListView的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过ListView.custom来自定义,它需要实现一个SliverChildDelegate用来给ListView生成列表项widget,更多详情请参考API文档。\n"},"chapter6/gridview.html":{"url":"chapter6/gridview.html","title":"GridView","keywords":"","body":"GridView\nGridView可以构建一个二维网格列表,其默认构造函数定义如下:\nGridView({\n Axis scrollDirection = Axis.vertical,\n bool reverse = false,\n ScrollController controller,\n bool primary,\n ScrollPhysics physics,\n bool shrinkWrap = false,\n EdgeInsetsGeometry padding,\n @required SliverGridDelegate gridDelegate, //控制子widget layout的委托\n bool addAutomaticKeepAlives = true,\n bool addRepaintBoundaries = true,\n double cacheExtent,\n List children = const [],\n})\n\n我们可以看到,GridView和ListView的大多数参数都是相同的,它们的含义也都相同,如有疑惑读者可以翻阅ListView一节,在此不再赘述。我们唯一需要关注的是gridDelegate参数,类型是SliverGridDelegate,它的作用是控制GridView子widget如何排列(layout),SliverGridDelegate是一个抽象类,定义了GridView Layout相关接口,子类需要通过实现它们来实现具体的布局算法,Flutter中提供了两个SliverGridDelegate的子类SliverGridDelegateWithFixedCrossAxisCount和SliverGridDelegateWithMaxCrossAxisExtent,下面我们分别介绍:\nSliverGridDelegateWithFixedCrossAxisCount\n该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为:\nSliverGridDelegateWithFixedCrossAxisCount({\n @required double crossAxisCount, \n double mainAxisSpacing = 0.0,\n double crossAxisSpacing = 0.0,\n double childAspectRatio = 1.0,\n})\n\n\ncrossAxisCount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即ViewPort横轴长度/crossAxisCount。\nmainAxisSpacing:主轴方向的间距。\ncrossAxisSpacing:横轴方向子元素的间距。\nchildAspectRatio:子元素在横轴长度和主轴长度的比例。由于crossAxisCount指定后子元素横轴长度就确定了,然后通过此参数值就可以确定子元素在主轴的长度。\n\n可以发现,子元素的大小是通过crossAxisCount和childAspectRatio两个参数共同决定的。注意,这里的子元素指的是子widget的最大显示空间,注意确保子widget的实际大小不要超出子元素的空间。\n下面看一个例子:\nGridView(\n gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(\n crossAxisCount: 3, //横轴三个子widget\n childAspectRatio: 1.0 //宽高比为1时,子widget\n ),\n children:[\n Icon(Icons.ac_unit),\n Icon(Icons.airport_shuttle),\n Icon(Icons.all_inclusive),\n Icon(Icons.beach_access),\n Icon(Icons.cake),\n Icon(Icons.free_breakfast)\n ]\n);\n\n\nGridView.count\nGridView.count构造函数内部使用了SliverGridDelegateWithFixedCrossAxisCount,我们通过它可以快速的创建横轴固定数量子元素的GridView,上面的示例代码等价于:\nGridView.count( \n crossAxisCount: 3,\n childAspectRatio: 1.0,\n children: [\n Icon(Icons.ac_unit),\n Icon(Icons.airport_shuttle),\n Icon(Icons.all_inclusive),\n Icon(Icons.beach_access),\n Icon(Icons.cake),\n Icon(Icons.free_breakfast),\n ],\n);\n\nSliverGridDelegateWithMaxCrossAxisExtent\n该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为:\nSliverGridDelegateWithMaxCrossAxisExtent({\n double maxCrossAxisExtent,\n double mainAxisSpacing = 0.0,\n double crossAxisSpacing = 0.0,\n double childAspectRatio = 1.0,\n})\n\nmaxCrossAxisExtent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果ViewPort的横轴长度是450,那么当maxCrossAxisExtent的值在区间(450/4,450/3]内的话,子元素最终实际长度都为150,而childAspectRatio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和SliverGridDelegateWithFixedCrossAxisCount相同。\n下面我们看一个例子:\nGridView(\n padding: EdgeInsets.zero,\n gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(\n maxCrossAxisExtent: 120.0,\n childAspectRatio: 2.0 //宽高比为2\n ),\n children: [\n Icon(Icons.ac_unit),\n Icon(Icons.airport_shuttle),\n Icon(Icons.all_inclusive),\n Icon(Icons.beach_access),\n Icon(Icons.cake),\n Icon(Icons.free_breakfast),\n ],\n);\n\n\nGridView.extent\nGridView.extent构造函数内部使用了SliverGridDelegateWithMaxCrossAxisExtent,我们通过它可以快速的创建纵轴子元素为固定最大长度的的GridView,上面的示例代码等价于:\nGridView.extent(\n maxCrossAxisExtent: 120.0,\n childAspectRatio: 2.0,\n children: [\n Icon(Icons.ac_unit),\n Icon(Icons.airport_shuttle),\n Icon(Icons.all_inclusive),\n Icon(Icons.beach_access),\n Icon(Icons.cake),\n Icon(Icons.free_breakfast),\n ],\n );\n\nGridView.builder\n上面我们介绍的GridView都需要一个Widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子Widget数量比较少时,当子widget比较多时,我们可以通过GridView.builder来动态创建子Widget。GridView.builder 必须指定的参数有两个:\nGridView.builder(\n ...\n @required SliverGridDelegate gridDelegate, \n @required IndexedWidgetBuilder itemBuilder,\n)\n\n其中itemBuilder为子widget构建器。\n示例\n假设我们需要从一个异步数据源(如网络)分批获取一些Icon,然后用GridView来展示:\nclass InfiniteGridView extends StatefulWidget {\n @override\n _InfiniteGridViewState createState() => new _InfiniteGridViewState();\n}\n\nclass _InfiniteGridViewState extends State {\n\n List _icons = []; //保存Icon数据\n\n @override\n void initState() {\n // 初始化数据 \n _retrieveIcons();\n }\n\n @override\n Widget build(BuildContext context) {\n return GridView.builder(\n gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(\n crossAxisCount: 3, //每行三列\n childAspectRatio: 1.0 //显示区域宽高相等\n ),\n itemCount: _icons.length,\n itemBuilder: (context, index) {\n //如果显示到最后一个并且Icon总数小于200时继续获取数据\n if (index == _icons.length - 1 && _icons.length \n\n_retrieveIcons():在此方法中我们通过Future.delayed来模拟从异步数据源获取数据,每次获取数据需要200毫秒,获取成功后将新数据添加到_icons,然后调用setState重新构建。\n在itemBuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个Icon。\n\n更多\nFlutter的GridView默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局:\n\nPub上有一个包“flutter_staggered_grid_view” ,它实现了一个交错GridView的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。\n"},"chapter6/custom_scrollview.html":{"url":"chapter6/custom_scrollview.html","title":"CustomScrollView","keywords":"","body":"CustomScrollView\nCustomScrollView是可以使用sliver来自定义滚动模型(效果)的widget。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个GridView,底部需要一个ListView,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体,如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动widget(Sliver)\"粘\"起来,而CustomScrollView的功能就相当于“胶水”。\nSliver\nSliver有细片、小片之意,在Flutter中,Sliver通常指具有特定滚动效果的可滚动块。可滚动widget,如ListView、GridView等都有对应的Sliver实现如SliverList、SliverGrid等。对于大多数Sliver来说,它们和可滚动Widget最主要的区别是Sliver不会包含Scrollable Widget,也就是说Sliver本身不包含滚动交互模型 ,正因如此,CustomScrollView才可以将多个Sliver\"粘\"在一起,这些Sliver共用CustomScrollView的Scrollable,最终实现统一的滑动效果。\n\nSliver系列Widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“Sliver都和可滚动Widget对应,是由于还有一些如SliverPadding、SliverAppBar等是和可滚动Widget无关的,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView的子widget必须都是Sliver。\n\n示例\nimport 'package:flutter/material.dart';\n\nclass CustomScrollViewTestRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n //因为本路由没有使用Scaffold,为了让子级Widget(如Text)使用\n //Material Design 默认的样式风格,我们使用Material作为本路由的根。\n return Material(\n child: CustomScrollView(\n slivers: [\n //AppBar,包含一个导航栏\n SliverAppBar(\n pinned: true,\n expandedHeight: 250.0,\n flexibleSpace: FlexibleSpaceBar(\n title: const Text('Demo'),\n background: Image.asset(\n \"./images/avatar.png\", fit: BoxFit.cover,),\n ),\n ),\n\n SliverPadding(\n padding: const EdgeInsets.all(8.0),\n sliver: new SliverGrid( //Grid\n gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(\n crossAxisCount: 2, //Grid按两列显示\n mainAxisSpacing: 10.0,\n crossAxisSpacing: 10.0,\n childAspectRatio: 4.0,\n ),\n delegate: new SliverChildBuilderDelegate(\n (BuildContext context, int index) {\n //创建子widget \n return new Container(\n alignment: Alignment.center,\n color: Colors.cyan[100 * (index % 9)],\n child: new Text('grid item $index'),\n );\n },\n childCount: 20,\n ),\n ),\n ),\n //List\n new SliverFixedExtentList(\n itemExtent: 50.0,\n delegate: new SliverChildBuilderDelegate(\n (BuildContext context, int index) {\n //创建列表项 \n return new Container(\n alignment: Alignment.center,\n color: Colors.lightBlue[100 * (index % 9)],\n child: new Text('list item $index'),\n );\n },\n childCount: 50 //50个列表项\n ),\n ),\n ],\n ),\n );\n }\n}\n\n代码分为三部分:\n\n头部SliverAppBar:SliverAppBar对应AppBar,两者不同之处在于SliverAppBar可以集成到CustomScrollView。SliverAppBar可以结合FlexibleSpaceBar实现Material Design中头部伸缩的模型,具体效果,读者可以运行该示例查看。\n中间的SliverGrid:它用SliverPadding包裹以给SliverGrid添加补白。SliverGrid是一个两列,宽高比为4的网格,它有20个子widget。\n底部SliverFixedExtentList:它是一个所有子元素高度都为50像素的列表。\n\n运行效果:\n\n"},"chapter6/scroll_controller.html":{"url":"chapter6/scroll_controller.html","title":"滚动监听及控制ScrollController","keywords":"","body":"滚动监听及控制\n在前几节中,我们介绍了Flutter中常用的可滚动Widget,也说过可以用ScrollController来控制可滚动widget的滚动位置,本节先介绍一下ScrollController,然后以ListView为例,展示一下ScrollController的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。\nScrollController\n构造函数:\nScrollController({\n double initialScrollOffset = 0.0, //初始滚动位置\n this.keepScrollOffset = true,//是否保存滚动位置\n ...\n})\n\n我们介绍一下ScrollController常用的属性和方法:\n\noffset:可滚动Widget当前滚动的位置。\njumpTo(double offset)、animateTo(double offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。\n\nScrollController还有一些属性和方法,我们将在后面原理部分解释。\n滚动监听\nScrollController间接继承自Listenable,我们可以根据ScrollController来监听滚动事件。如:\ncontroller.addListener(()=>print(controller.offset))\n\n示例\n我们创建一个ListView,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使ListView恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下:\n\nclass ScrollControllerTestRoute extends StatefulWidget {\n @override\n ScrollControllerTestRouteState createState() {\n return new ScrollControllerTestRouteState();\n }\n}\n\nclass ScrollControllerTestRouteState extends State {\n ScrollController _controller = new ScrollController();\n bool showToTopBtn = false; //是否显示“返回到顶部”按钮\n\n @override\n void initState() {\n //监听滚动事件,打印滚动位置\n _controller.addListener(() {\n print(_controller.offset); //打印滚动位置\n if (_controller.offset = 1000 && showToTopBtn == false) {\n setState(() {\n showToTopBtn = true;\n });\n }\n });\n }\n\n @override\n void dispose() {\n //为了避免内存泄露,需要调用_controller.dispose\n _controller.dispose();\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return Scaffold(\n appBar: AppBar(title: Text(\"滚动控制\")),\n body: Scrollbar(\n child: ListView.builder(\n itemCount: 100,\n itemExtent: 50.0, //列表项高度固定时,显式指定高度是一个好习惯(性能消耗小)\n controller: _controller,\n itemBuilder: (context, index) {\n return ListTile(title: Text(\"$index\"),);\n }\n ),\n ),\n floatingActionButton: !showToTopBtn ? null : FloatingActionButton(\n child: Icon(Icons.arrow_upward),\n onPressed: () {\n //返回到顶部时执行动画\n _controller.animateTo(.0,\n duration: Duration(milliseconds: 200),\n curve: Curves.ease\n );\n }\n ),\n );\n }\n}\n\n代码说明已经包含在注释里,下面我们看看运行效果:\n\n由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,ListView会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是Curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。\n滚动位置恢复\nPageStorage是一个用于保存页面(路由)相关数据的Widget,它并不会影响子树的UI外观,其实,PageStorage是一个功能型Widget,它拥有一个存储桶(bucket),子树中的Widget可以通过指定不同的PageStorageKey来存储各自的数据或状态。\n每次滚动结束,Scrollable Widget都会将滚动位置offset存储到PageStorage中,当Scrollable Widget 重新创建时再恢复。如果ScrollController.keepScrollOffset为false,则滚动位置将不会被存储,Scrollable Widget重新创建时会使用ScrollController.initialScrollOffset;ScrollController.keepScrollOffset为true时,Scrollable Widget在第一次创建时,会滚动到initialScrollOffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialScrollOffset会被忽略。\n当一个路由中包含多个Scrollable Widget时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定PageStorageKey来分别跟踪不同Scrollable Widget的位置,如:\nListView(key: PageStorageKey(1), ... );\n...\nListView(key: PageStorageKey(2), ... );\n\n不同的PageStorageKey,需要不同的值,这样才可以区分为不同Scrollable Widget保存的滚动位置。\n\n注意:一个路由中包含多个Scrollable Widget时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供PageStorageKey。这是因为Scrollable本身是一个StatefulWidget,它的状态中也会保存当前滚动位置,所以,只要Scrollable Widget本身没有被从树上detach掉,那么其State就不会销毁(dispose),滚动位置就不会丢失。只有当Widget发生结构变化,导致Scrollable Widget的State销毁或重新构建时才会丢失状态,这种情况就需要显式指定PageStorageKey,通过PageStorage来存储滚动位置,一个典型的场景是在使用TabBarView时,在Tab发生切换时,Tab页中的Scrollable Widget的State就会销毁,这时如果想恢复滚动位置就需要指定PageStorageKey。\n\nScrollPosition\n一个ScrollController可以同时被多个Scrollable Widget使用,ScrollController会为每一个Scrollable Widget创建一个ScrollPosition对象,这些ScrollPosition保存在ScrollController的positions属性中(List)。ScrollPosition是真正保存滑动位置信息的对象,offset只是一个便捷属性:\ndouble get offset => position.pixels;\n\n一个ScrollController虽然可以对应多个Scrollable Widget,但是有一些操作,如读取滚动位置offset,则需要一对一,但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个ScrollController同时被两个Scrollable Widget使用,那么我们可以通过如下方式分别读取他们的滚动位置:\n...\ncontroller.positions.elementAt(0).pixels\ncontroller.positions.elementAt(1).pixels\n...\n\n我们可以通过controller.positions.length来确定controller被几个Scrollable Widget使用。\n方法\nScrollPosition有两个常用方法:animateTo() 和 jumpTo(),它们是真正来控制跳转滚动位置的方法,ScrollController的这两个同名方法,内部最终都会调用ScrollPosition的。\nScrollController控制原理\n我们来介绍一下ScrollController的另外三个方法:\nScrollPosition createScrollPosition(\n ScrollPhysics physics,\n ScrollContext context,\n ScrollPosition oldPosition);\nvoid attach(ScrollPosition position) ;\nvoid detach(ScrollPosition position) ;\n\n当ScrollController和Scrollable Widget关联时,Scrollable Widget首先会调用ScrollController的createScrollPosition()方法来创建一个ScrollPosition来存储滚动位置信息,接着,Scrollable Widget会调用attach()方法,将创建的ScrollPosition添加到ScrollController的positions属性中,这一步称为“注册位置”,只有注册后animateTo() 和 jumpTo()才可以被调用。当Scrollable Widget销毁时,会调用ScrollController的detach()方法,将其ScrollPosition对象从ScrollController的positions属性中移除,这一步称为“注销位置”,注销后animateTo() 和 jumpTo() 将不能再被调用。\n需要注意的是,ScrollController的animateTo() 和 jumpTo()内部会调用所有ScrollPosition的animateTo() 和 jumpTo(),以实现所有和该ScrollController关联的Scrollable Widget都滚动到指定的位置。\n滚动监听\nFlutter Widget树中子Widget可以通过发送通知(Notification)与父(包括祖先)Widget通信。父Widget可以通过NotificationListener Widget来监听自己关注的通知,这种通信方式类似于Web开发中浏览器的事件冒泡,我们在Flutter中沿用“冒泡”这个术语。Scrollable Widget在滚动时会发送ScrollNotification类型的通知,ScrollBar正是通过监听滚动通知来实现的。通过NotificationListener监听滚动事件和通过ScrollController有两个主要的不同:\n\n通过NotificationListener可以在从Scrollable Widget到Widget树根之间任意位置都能监听。而ScrollController只能和具体的Scrollable Widget关联后才可以。\n收到滚动事件后获得的信息不同;NotificationListener在收到滚动事件时,通知中会携带当前滚动位置和ViewPort的一些信息,而ScrollController只能获取当前滚动位置。\n\nNotificationListener\nNotificationListener是一个Widget,模板参数T是想监听的通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型的通知会被监听。NotificationListener需要一个onNotification回调函数,用于实现监听处理逻辑,该回调可以返回一个布尔值,代表是否阻止该事件继续向上冒泡,如果为true时,则冒泡终止,事件停止向上传播,如果不返回或者返回值为false 时,则冒泡继续。\n示例\n下面,我们监听ListView的滚动通知,然后显示当前滚动进度百分比:\nimport 'package:flutter/material.dart';\n\nclass ScrollNotificationTestRoute extends StatefulWidget {\n @override\n _ScrollNotificationTestRouteState createState() =>\n new _ScrollNotificationTestRouteState();\n}\n\nclass _ScrollNotificationTestRouteState\n extends State {\n String _progress = \"0%\"; //保存进度百分比\n\n @override\n Widget build(BuildContext context) {\n return Scrollbar( //进度条\n // 监听滚动通知\n child: NotificationListener(\n onNotification: (ScrollNotification notification) {\n double progress = notification.metrics.pixels /\n notification.metrics.maxScrollExtent;\n //重新构建\n setState(() {\n _progress = \"${(progress * 100).toInt()}%\";\n });\n print(\"BottomEdge: ${notification.metrics.extentAfter == 0}\");\n //return true; //放开此行注释后,进度条将失效\n },\n child: Stack(\n alignment: Alignment.center,\n children: [\n ListView.builder(\n itemCount: 100,\n itemExtent: 50.0,\n itemBuilder: (context, index) {\n return ListTile(title: Text(\"$index\"));\n }\n ),\n CircleAvatar( //显示进度百分比\n radius: 30.0,\n child: Text(_progress),\n backgroundColor: Colors.black54,\n )\n ],\n ),\n ),\n );\n }\n}\n\n我们看一看运行结果:\n\n在接收到滚动事件时,参数类型为ScrollNotification,它包括一个metrics属性,它的类型是ScrollMetrics,该属性包含当前ViewPort及滚动位置等信息:\n\npixels:当前滚动位置。\nmaxScrollExtent:最大可滚动长度。\nextentBefore:滑出ViewPort顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。\nextentInside:ViewPort内部长度;此示例中屏幕显示的列表部分的长度。\nextentAfter:列表中未滑入ViewPort部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。\natEdge:是否滑到了Scrollable Widget的边界(此示例中相当于列表顶或底部)。\n\nScrollMetrics还有一些其它属性,读者可以自行查阅API文档。\n"},"chapter7/":{"url":"chapter7/","title":"功能型Widgets","keywords":"","body":"功能型Widget简介\n功能型Widget指的是不会影响UI布局及外观的Widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的FocusScope(焦点控制)、PageStorage(数据存储)、NotificationListener(事件监听)都属于功能型Widget。由于Widget是Flutter的一等公民,功能型Widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型Widget。\n本章目录\n\n导航返回拦截-WillPopScope\n数据共享-InheritedWidget\n主题-Theme \n\n"},"chapter7/willpopscope.html":{"url":"chapter7/willpopscope.html","title":"导航返回拦截-WillPopScope","keywords":"","body":"导航返回拦截WillPopScope\n为了避免用户误触返回按钮而导致APP退出,在很多APP中都拦截了用户点击返回键的按钮,当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。Flutter中可以通过WillPopScope来实现返回按钮拦截,我们看看WillPopScope的默认构造函数:\nconst WillPopScope({\n ...\n @required WillPopCallback onWillPop,\n @required Widget child\n})\n\nonWillPop是一个回调函数,当用户点击返回按钮时调用(包括导航返回按钮及Android物理返回按钮),该回调需要返回一个Future对象,如果返回的Future最终值为false时,则当前路由不出栈(不会返回),最终值为true时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。\n示例\n为了防止用户误触返回键退出,我们拦截返回事件,当用户在1秒内点击两次返回按钮时,则退出,如果间隔超过1秒则不退出,并重新记时。代码如下:\nimport 'package:flutter/material.dart';\n\nclass WillPopScopeTestRoute extends StatefulWidget {\n @override\n WillPopScopeTestRouteState createState() {\n return new WillPopScopeTestRouteState();\n }\n}\n\nclass WillPopScopeTestRouteState extends State {\n DateTime _lastPressedAt; //上次点击时间\n\n @override\n Widget build(BuildContext context) {\n return new WillPopScope(\n onWillPop: () async {\n if (_lastPressedAt == null ||\n DateTime.now().difference(_lastPressedAt) > Duration(seconds: 1)) {\n //两次点击间隔超过1秒则重新计时\n _lastPressedAt = DateTime.now();\n return false;\n }\n return true;\n },\n child: Container(\n alignment: Alignment.center,\n child: Text(\"1秒内连续按两次返回键退出\"),\n )\n );\n }\n}\n\n读者可以运行示例看看效果。\n"},"chapter7/inherited_widget.html":{"url":"chapter7/inherited_widget.html","title":"数据共享-InheritedWidget","keywords":"","body":"InheritedWidget\nInheritedWidget是Flutter中非常重要的一个功能型Widget,它可以高效的将数据在Widget树中向下传递、共享,这在一些需要在Widget树中共享数据的场景中非常方便,如Flutter中,正是通过InheritedWidget来共享应用主题(Theme)和Locale(当前语言环境)信息的。\n\nInheritedWidget和React中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。InheritedWidget的在Widget树中数据传递方向是从上到下的,这和Notification的传递方向正好相反。\n\ndidChangeDependencies\n在介绍StatefulWidget时,我们提到State对象有一个回调didChangeDependencies,它会在“依赖”发生变化时被Flutter Framework调用。而这个“依赖”指的就是是否使用了父widget中InheritedWidget的数据,如果使用了,则代表有依赖,如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的主题、locale等发生变化时有机会来做一些事情。\n我们看一下之前“计数器”示例应用程序的InheritedWidget版本,需要说明的是,本例主要是为了演示InheritedWidget的功能特性,并不是计数器的推荐实现方式。\n首先,我们通过继承InheritedWidget,将当前计数器点击次数保存在ShareDataWidget的data属性中:\nclass ShareDataWidget extends InheritedWidget {\n ShareDataWidget({\n @required this.data,\n Widget child\n }) :super(child: child);\n\n int data; //需要在子树中共享的数据,保存点击次数\n\n //定义一个便捷方法,方便子树中的widget获取共享数据 \n static ShareDataWidget of(BuildContext context) {\n return context.inheritFromWidgetOfExactType(ShareDataWidget);\n }\n\n //该回调决定当data发生变化时,是否通知子树中依赖data的Widget \n @override\n bool updateShouldNotify(ShareDataWidget old) {\n //如果返回false,则子树中依赖(build函数中有调用)本widget\n //的子widget的`state.didChangeDependencies`会被调用\n return old.data != data;\n }\n}\n\n然后我们实现一个子widget _TestWidget,在其build方法中引用ShareDataWidget中的数据;同时,在其didChangeDependencies() 回调中打印日志:\nclass _TestWidget extends StatefulWidget {\n @override\n __TestWidgetState createState() => new __TestWidgetState();\n}\n\nclass __TestWidgetState extends State {\n @override\n Widget build(BuildContext context) {\n //使用InheritedWidget中的共享数据\n return Text(ShareDataWidget\n .of(context)\n .data\n .toString());\n }\n\n @override\n void didChangeDependencies() {\n super.didChangeDependencies();\n //父或祖先widget中的InheritedWidget改变(updateShouldNotify返回true)时会被调用。\n //如果build中没有依赖InheritedWidget,则此回调不会被调用。\n print(\"Dependencies change\");\n }\n}\n\n最后,我们创建一个按钮,每点击一次,就将ShareDataWidget的值自增:\nclass InheritedWidgetTestRoute extends StatefulWidget {\n @override\n _InheritedWidgetTestRouteState createState() => new _InheritedWidgetTestRouteState();\n}\n\nclass _InheritedWidgetTestRouteState extends State {\n int count = 0;\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: ShareDataWidget( //使用ShareDataWidget\n data: count,\n child: Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Padding(\n padding: const EdgeInsets.only(bottom: 20.0),\n child: _TestWidget(),//子widget中依赖ShareDataWidget\n ),\n RaisedButton(\n child: Text(\"Increment\"),\n //每点击一次,将count自增,然后重新build,ShareDataWidget的data将被更新 \n onPressed: () => setState(() => ++count),\n )\n ],\n ),\n ),\n );\n }\n}\n\n运行后界面如下:\n\n每点击一次按钮,计数器就会自增,控制台就会打印一句日志:\nI/flutter ( 8513): Dependencies change\n可见依赖发生变化后,其didChangeDependencies()会被调用。但是读者要注意,如果_TestWidget的build方法中没有使用ShareDataWidget的数据,那么它的didChangeDependencies()将不会被调用,因为它并没有依赖ShareDataWidget。\n\n思考题:Flutter framework是怎么知道子widget有没有依赖InheritedWidget的?\n\n应该在didChangeDependencies()中做什么?\n一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。\n"},"chapter7/theme.html":{"url":"chapter7/theme.html","title":"主题-Theme","keywords":"","body":"主题\nTheme Widget可以为Material APP定义主题数据(ThemeData),Material组件库里很多Widget都使用了主题数据,如导航栏颜色、标题字体、Icon样式等。Theme内会使用InheritedWidget来为其子树Widget共享样式数据。\nThemeData\nThemeData是Material Design Widget库的主题数据,Material库的Widget需要遵守相应的设计规范,而这些规范可自定义部分都定义在ThemeData,所以我们可以通过ThemeData来自定义应用主题。我们可以通过Theme.of方法来获取当前的ThemeData。\n\n注意,Material Design 设计规范中有些是不能自定义的,如导航栏高度,ThemeData只包含了可自定义部分。\n\n我们看看ThemeData部分数据:\nThemeData({\n Brightness brightness, //深色还是浅色\n MaterialColor primarySwatch, //主题颜色样本,见下面介绍\n Color primaryColor, //主色,决定导航栏颜色\n Color accentColor, //次级色,决定大多数Widget的颜色,如进度条、开关等。\n Color cardColor, //卡片颜色\n Color dividerColor, //分割线颜色\n ButtonThemeData buttonTheme, //按钮主题\n Color cursorColor, //输入框光标颜色\n Color dialogBackgroundColor,//对话框背景颜色\n String fontFamily, //文字字体\n TextTheme textTheme,// 字体主题,包括标题、body等文字样式\n IconThemeData iconTheme, // Icon的默认样式\n TargetPlatform platform, //指定平台,应用特定平台控件风格\n ...\n})\n\n上面只是ThemeData的一小部分属性,完整列表读者可以查看SDK定义。上面属性中需要说明的是primarySwatch,它是主题颜色的一个\"样本\",通过这个样本可以在一些条件下生成一些其它的属性,例如,如果没有指定primaryColor,并且当前主题不是深色主题,那么primaryColor就会默认为primarySwatch指定的颜色,还有一些相似的属性如accentColor 、indicatorColor等也会受primarySwatch影响。\n示例\n我们实现一个路由换肤功能:\n\nclass ThemeTestRoute extends StatefulWidget {\n @override\n _ThemeTestRouteState createState() => new _ThemeTestRouteState();\n}\n\nclass _ThemeTestRouteState extends State {\n Color _themeColor = Colors.teal; //当前路由主题色\n\n @override\n Widget build(BuildContext context) {\n ThemeData themeData = Theme.of(context);\n return Theme(\n data: ThemeData(\n primarySwatch: _themeColor, //用于导航栏、FloatingActionButton的背景色等\n iconTheme: IconThemeData(color: _themeColor) //用于Icon颜色\n ),\n child: Scaffold(\n appBar: AppBar(title: Text(\"主题测试\")),\n body: Column(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n //第一行Icon使用主题中的iconTheme\n Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Icon(Icons.favorite),\n Icon(Icons.airport_shuttle),\n Text(\" 颜色跟随主题\")\n ]\n ),\n //为第二行Icon自定义颜色(固定为黑色)\n Theme(\n data: themeData.copyWith(\n iconTheme: themeData.iconTheme.copyWith(\n color: Colors.black\n ),\n ),\n child: Row(\n mainAxisAlignment: MainAxisAlignment.center,\n children: [\n Icon(Icons.favorite),\n Icon(Icons.airport_shuttle),\n Text(\" 颜色固定黑色\")\n ]\n ),\n ),\n ],\n ),\n floatingActionButton: FloatingActionButton(\n onPressed: () => //切换主题\n setState(() =>\n _themeColor =\n _themeColor == Colors.teal ? Colors.blue : Colors.teal\n ),\n child: Icon(Icons.palette)\n ),\n ),\n );\n }\n}\n\n运行后点击右下角悬浮按钮则可以切换主题:\n\n需要注意的有三点:\n\n可以通过局部主题覆盖全局主题,正如代码中通过Theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,Flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为Widget中使用主题样式时是通过Theme.of(BuildContext context)来获取的,我们看看其简化后的代码:\n\nstatic ThemeData of(BuildContext context, { bool shadowThemeOnly = false }) {\n // 简化代码,并非源码 \n return context.inheritFromWidgetOfExactType(_InheritedTheme)\n}\n\ncontext.inheritFromWidgetOfExactType 会在widget树中从当前位置向上查找第一个类型为_InheritedTheme的Widget。所以当局部使用Theme后,其子树中Theme.of()找到的第一个_InheritedTheme便是该Theme的。\n\n本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改MaterialApp的theme属性。\n\n\n"},"chapter8/":{"url":"chapter8/","title":"事件处理与通知","keywords":"","body":"事件处理与通知\nFlutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。 第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下Flutter中重要的Notification机制。\n本章目录\n\n原始指针事件处理\n手势识别\n全局事件总线 \n通知Notification \n\n"},"chapter8/listener.html":{"url":"chapter8/listener.html","title":"原始指针事件处理","keywords":"","body":"Pointer事件处理\n本节先来介绍一下原始指针事件(Pointer Event,在移动设备上通常为触摸事件),下一节再介绍手势处理。\n在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。\n当指针按下时,Flutter会对应用程序执行命中测试(Hit Test),以确定指针与屏幕接触的位置存在哪些widget, 指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的widget,然后从那里开始,事件会在widget树中向上冒泡,这些事件会从最内部的widget被分发到到widget根的路径上的所有Widget,这和Web开发中浏览器的事件冒泡机制相似, 但是Flutter中没有机制取消或停止冒泡过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的Widget才能触发事件。\nFlutter中可以使用Listener widget来监听原始触摸事件,它也是一个功能性widget。\nListener({\n Key key,\n this.onPointerDown, //手指按下回调\n this.onPointerMove, //手指移动回调\n this.onPointerUp,//手指抬起回调\n this.onPointerCancel,//触摸事件取消回调\n this.behavior = HitTestBehavior.deferToChild, //在命中测试期间如何表现\n Widget child\n})\n\n我们先看一个示例,后面再单独讨论一下behavior属性。\n...\n//定义一个状态,保存当前指针位置\nPointerEvent _event;\n...\nListener(\n child: Container(\n alignment: Alignment.center,\n color: Colors.blue,\n width: 300.0,\n height: 150.0,\n child: Text(_event?.toString()??\"\",style: TextStyle(color: Colors.white)),\n ),\n onPointerDown: (PointerDownEvent event) => setState(()=>_event=event),\n onPointerMove: (PointerMoveEvent event) => setState(()=>_event=event),\n onPointerUp: (PointerUpEvent event) => setState(()=>_event=event),\n),\n\n\n手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数PointerDownEvent、PointerMoveEvent、PointerUpEvent都是PointerEvent的一个子类,PointerEvent类中包括当前指针的一些信息,如:\n\nposition:它是鼠标相对于当对于全局坐标的偏移。\ndelta:两次指针移动事件(PointerMoveEvent)的距离。\npressure:按压力度,如果手机屏幕支持压力传感器(如iPhone的3D Touch),此属性会更有意义,如果手机不支持,则始终为1。\norientation:指针移动方向,是一个角度值。\n\n上面只是PointerEvent一些常用属性,除了这些它还有很多属性,读者可以查看API文档。\n现在,我们重点来介绍一下behavior属性,它决定子Widget如何响应命中测试,它的值类型为HitTestBehavior,这是一个枚举类,有三个枚举值:\n\ndeferToChild:子widget会一个接一个的进行命中测试,如果子Widget中有测试通过的,则当前Widget通过,这就意味着,如果指针事件作用于子Widget上时,其父(祖先)Widget也肯定可以收到该事件。\n\nopaque:在命中测试时,将当前Widget当成不透明处理(即使本身是透明的),最终的效果相当于当前Widget的整个区域都是点击区域。举个例子:\nListener(\n child: ConstrainedBox(\n constraints: BoxConstraints.tight(Size(300.0, 150.0)),\n child: Center(child: Text(\"Box A\")),\n ),\n //behavior: HitTestBehavior.opaque,\n onPointerDown: (event) => print(\"down A\")\n),\n\n上例中,只有点击文本内容区域才会触发点击事件,如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为HitTestBehavior.opaque。注意,该属性并不能用于在Widget树中拦截(忽略)事件,它只是决定命中测试时的Widget大小。\n\ntranslucent:当点击Widget透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部widget透明区域时,顶部widget和底部widget都可以接收到事件,例如:\nStack(\n children: [\n Listener(\n child: ConstrainedBox(\n constraints: BoxConstraints.tight(Size(300.0, 200.0)),\n child: DecoratedBox(\n decoration: BoxDecoration(color: Colors.blue)),\n ),\n onPointerDown: (event) => print(\"down0\"),\n ),\n Listener(\n child: ConstrainedBox(\n constraints: BoxConstraints.tight(Size(200.0, 100.0)),\n child: Center(child: Text(\"左上角200*100范围内非文本区域点击\")),\n ),\n onPointerDown: (event) => print(\"down1\"),\n //behavior: HitTestBehavior.translucent, //放开此行注释后可以\"点透\"\n )\n ],\n)\n\n上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部Widget透明区域),控制台只会打印“down0”,也就是说顶部widget没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印:\nI/flutter ( 3039): down1\nI/flutter ( 3039): down0\n如果behavior值改为HitTestBehavior.opaque,则只会打印\"down1\"。\n\n\n忽略PointerEvent\n假如我们不想让某个子树响应PointerEvent的话,我们可以使用IgnorePointer和AbsorbPointer,这两个Widget都能阻止子树接收指针事件,不同之处在于AbsorbPointer本身会参与命中测试,而IgnorePointer本身不会参与,这就意味着AbsorbPointer本身是可以接收指针事件的(但其子树不行),而IgnorePointer不可以。一个简单的例子如下:\nListener(\n child: AbsorbPointer(\n child: Listener(\n child: Container(\n color: Colors.red,\n width: 200.0,\n height: 100.0,\n ),\n onPointerDown: (event)=>print(\"in\"),\n ),\n ),\n onPointerDown: (event)=>print(\"up\"),\n)\n\n点击Container时,由于它在AbsorbPointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但AbsorbPointer本身是可以接收指针事件的,所以会输出\"up\"。如果将AbsorbPointer换成IgnorePointer,那么两个都不会输出。\n"},"chapter8/gesture.html":{"url":"chapter8/gesture.html","title":"手势识别","keywords":"","body":"手势识别GestureDetector\nGestureDetector是一个用于手势识别的功能性Widget,我们通过它可以来识别各种手势,它是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别:\n点击、双击、长按\n我们通过GestureDetector对Container进行手势识别,触发相应事件后,在Container上显示事件名,为了增大点击区域,将Container设置为200×100,代码如下:\n\nclass GestureDetectorTestRoute extends StatefulWidget {\n @override\n _GestureDetectorTestRouteState createState() =>\n new _GestureDetectorTestRouteState();\n}\n\nclass _GestureDetectorTestRouteState extends State {\n String _operation = \"No Gesture detected!\"; //保存事件名\n @override\n Widget build(BuildContext context) {\n return Center(\n child: GestureDetector(\n child: Container(\n alignment: Alignment.center,\n color: Colors.blue,\n width: 200.0, \n height: 100.0,\n child: Text(_operation,\n style: TextStyle(color: Colors.white),\n ),\n ),\n onTap: () => updateText(\"Tap\"),//点击\n onDoubleTap: () => updateText(\"DoubleTap\"), //双击\n onLongPress: () => updateText(\"LongPress\"), //长按\n ),\n );\n }\n\n void updateText(String text) {\n //更新显示的事件名\n setState(() {\n _operation = text;\n });\n }\n}\n\n运行效果:\n\n注意: 当同时监听onTap和onDoubleTap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以GestureDetector会等一断时间来确定是否为双击事件。如果用户只监听了onTap(没有监听onDoubleTap)事件时,则没有延时。\n拖动、滑动\n一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。GestureDetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。GestureDetector会将要监听的widget的原点(左上角)作为本次手势的原点,当用户在监听的widget上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母A的示例:\nclass _Drag extends StatefulWidget {\n @override\n _DragState createState() => new _DragState();\n}\n\nclass _DragState extends State with SingleTickerProviderStateMixin {\n double _top = 0.0; //距顶部的偏移\n double _left = 0.0;//距左边的偏移\n\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: [\n Positioned(\n top: _top,\n left: _left,\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"A\")),\n //手指按下时会触发此回调\n onPanDown: (DragDownDetails e) {\n //打印手指按下的位置(相对于屏幕)\n print(\"用户手指按下:${e.globalPosition}\");\n },\n //手指滑动时会触发此回调\n onPanUpdate: (DragUpdateDetails e) {\n //用户手指滑动时,更新偏移,重新构建\n setState(() {\n _left += e.delta.dx;\n _top += e.delta.dy;\n });\n },\n onPanEnd: (DragEndDetails e){\n //打印滑动结束时在x、y轴上的速度\n print(e.velocity);\n },\n ),\n )\n ],\n );\n }\n}\n\n运行后,就可以在任意方向拖动了:\n\n日志:\nI/flutter ( 8513): 用户手指按下:Offset(26.3, 101.8)\nI/flutter ( 8513): Velocity(235.5, 125.8)\n代码解释:\n\nDragDownDetails.globalPosition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父widget)原点(左上角)的偏移。\nDragUpdateDetails.delta:当用户在屏幕上滑动时,会触发多次Update事件,delta指一次Update事件的滑动的偏移量。\nDragEndDetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。\n\n单一方向拖动\n在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,GestureDetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动:\nclass _DragVertical extends StatefulWidget {\n @override\n _DragVerticalState createState() => new _DragVerticalState();\n}\n\nclass _DragVerticalState extends State {\n double _top = 0.0;\n\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: [\n Positioned(\n top: _top,\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"A\")),\n //垂直方向拖动事件\n onVerticalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _top += details.delta.dy;\n });\n }\n ),\n )\n ],\n );\n }\n}\n\n这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。\n缩放\nGestureDetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果:\nclass _ScaleTestRouteState extends State {\n double _width = 200.0; //通过修改图片宽度来达到缩放效果\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: GestureDetector(\n //指定宽度,高度自适应\n child: Image.asset(\"./images/sea.png\", width: _width),\n onScaleUpdate: (ScaleUpdateDetails details) {\n setState(() {\n //缩放倍数在0.8到10倍之间\n _width=200*details.scale.clamp(.8, 10.0);\n });\n },\n ),\n );\n }\n}\n\n运行效果:\n\n现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,我们将在后面“动画”一章中实现一个完整的缩放Widget。\nGestureRecognizer\nGestureDetector内部是使用一个或多个GestureRecognizer来识别各种手势的,而GestureRecognizer的作用就是通过Listener来将原始指针事件转换为语义手势,GestureDetector直接可以接收一个子Widget。GestureRecognizer是一个抽象类,一种手势的识别器对应一个GestureRecognizer的子类,Flutter实现了丰富的手势识别器,我们可以直接使用。\n示例\n假设我们要给一段富文本(RichText)的不同部分分别添加点击事件处理器,但是TextSpan并不是一个Widget,这时我们不能用GestureDetector,但TextSpan有一个recognizer属性,它可以接收一个GestureRecognizer,假设我们在点击时给文本变色:\nimport 'package:flutter/gestures.dart';\n\nclass _GestureRecognizerTestRouteState\n extends State {\n TapGestureRecognizer _tapGestureRecognizer = new TapGestureRecognizer();\n bool _toggle = false; //变色开关\n\n @override\n void dispose() {\n //用到GestureRecognizer的话一定要调用其dispose方法释放资源\n _tapGestureRecognizer.dispose();\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return Center(\n child: Text.rich(\n TextSpan(\n children: [\n TextSpan(text: \"你好世界\"),\n TextSpan(\n text: \"点我变色\",\n style: TextStyle(\n fontSize: 30.0,\n color: _toggle ? Colors.blue : Colors.red\n ),\n recognizer: _tapGestureRecognizer\n ..onTap = () {\n setState(() {\n _toggle = !_toggle;\n });\n },\n ),\n TextSpan(text: \"你好世界\"),\n ]\n )\n ),\n );\n }\n}\n\n运行效果:\n\n注意:使用GestureRecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。\n手势竞争与冲突\n竞争\n如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上Flutter中的手势识别引入了一个Arena的概念,Arena直译为“竞技场”的意思,每一个手势识别器(GestureRecognizer)都是一个“竞争者”(GestureArenaMember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个ListView,它的第一个子Widget也是ListView,如果现在滑动这个子ListView,父ListView会动吗?答案是否定的,这时只有子Widget会动,因为这时子Widget会胜出而获得滑动事件的处理权。\n示例\n我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下:\nimport 'package:flutter/material.dart';\n\nclass BothDirectionTestRoute extends StatefulWidget {\n @override\n BothDirectionTestRouteState createState() =>\n new BothDirectionTestRouteState();\n}\n\nclass BothDirectionTestRouteState extends State {\n double _top = 0.0;\n double _left = 0.0;\n\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: [\n Positioned(\n top: _top,\n left: _left,\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"A\")),\n //垂直方向拖动事件\n onVerticalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _top += details.delta.dy;\n });\n },\n onHorizontalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _left += details.delta.dx;\n });\n },\n ),\n )\n ],\n );\n }\n}\n\n此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。\n手势冲突\n由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下:\nclass GestureConflictTestRouteState extends State {\n double _left = 0.0;\n @override\n Widget build(BuildContext context) {\n return Stack(\n children: [\n Positioned(\n left: _left,\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"A\")), //要拖动和点击的widget\n onHorizontalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _left += details.delta.dx;\n });\n },\n onHorizontalDragEnd: (details){\n print(\"onHorizontalDragEnd\");\n },\n onTapDown: (details){\n print(\"down\");\n },\n onTapUp: (details){\n print(\"up\");\n },\n ),\n )\n ],\n );\n }\n}\n\n现在我们按住圆形“A”拖动然后抬起手指,控制台日志如下:\nI/flutter (17539): down\nI/flutter (17539): onHorizontalDragEnd\n我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时TapDown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onHorizontalDragEnd 和 onTapUp发生了冲突,但是因为是在拖动的语义中,所以onHorizontalDragEnd胜出,所以就会打印 “onHorizontalDragEnd”。如果我们的代码逻辑中,对于手指按下和抬起是强依赖的,比如在一个轮播图组件中,我们希望手指按下时,暂停轮播,而抬起时恢复轮播,但是由于轮播图组件中本身可能已经处理了拖动手势(支持手动滑动切换),甚至可能也支持了缩放手势,这时我们如果在外部再用onTapDown、onTapUp来监听的话是不行的。这时我们应该怎么做?其实很简单,通过Listener监听原始指针事件就行:\nPositioned(\n top:80.0,\n left: _leftB,\n child: Listener(\n onPointerDown: (details) {\n print(\"down\");\n },\n onPointerUp: (details) {\n //会触发\n print(\"up\");\n },\n child: GestureDetector(\n child: CircleAvatar(child: Text(\"B\")),\n onHorizontalDragUpdate: (DragUpdateDetails details) {\n setState(() {\n _leftB += details.delta.dx;\n });\n },\n onHorizontalDragEnd: (details) {\n print(\"onHorizontalDragEnd\");\n },\n ),\n ),\n)\n\n总结:\n手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过Listener直接识别原始指针事件来解决冲突。\n"},"chapter8/eventbus.html":{"url":"chapter8/eventbus.html","title":"全局事件总线","keywords":"","body":"事件总线\n在APP中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的APP中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下:\n//订阅者回调签名\ntypedef void EventCallback(arg);\n\nclass EventBus {\n //私有构造函数\n EventBus._internal();\n\n //保存单例\n static EventBus _singleton = new EventBus._internal();\n\n //工厂构造函数\n factory EventBus()=> _singleton;\n\n //保存事件订阅者队列,key:事件名(id),value: 对应事件的订阅者队列\n var _emap = new Map>();\n\n //添加订阅者\n void on(eventName, EventCallback f) {\n if (eventName == null || f == null) return;\n _emap[eventName] ??= new List();\n _emap[eventName].add(f);\n }\n\n //移除订阅者\n void off(eventName, [EventCallback f]) {\n var list = _emap[eventName];\n if (eventName == null || list == null) return;\n if (f == null) {\n _emap[eventName] = null;\n } else {\n list.remove(f);\n }\n }\n\n //触发事件,事件触发后该事件所有订阅者会被调用\n void emit(eventName, [arg]) {\n var list = _emap[eventName];\n if (list == null) return;\n int len = list.length - 1;\n //反向遍历,防止在订阅者在回调中移除自身带来的下标错位 \n for (var i = len; i > -1; --i) {\n list[i](arg);\n }\n }\n}\n\n//定义一个top-level变量,页面引入该文件后可以直接使用bus\nvar bus = new EventBus();\n\n使用\n//页面A中\n...\n //监听登录事件\nbus.on(\"login\", (arg) {\n // do something\n});\n\n//登录页B中\n...\n//登录成功后触发登录事件,页面A中订阅者会被调用\nbus.emit(\"login\", userInfo);\n\n\n注意:Dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new EventBus()始终返回都是同一个实例,读者应该理解并掌握这种方法。\n\n事件总线通常用于Widget之间状态共享,但关于Widget之间状态共享也有一些专门的Package如redux,这和web框架Vue/React是一致的。通常情况下事件总线是足以满足业务需求的,如果你决定使用redux的话,一定要想清楚业务是否真的有必要用它,防止“化简为繁”、过度设计。\n"},"chapter8/notification.html":{"url":"chapter8/notification.html","title":"通知Notification","keywords":"","body":"Notification\nNotification是Flutter中一个重要的机制,在Widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)向上传递,所有父节点都可以通过NotificationListener来监听通知,Flutter中称这种通知由子向父的传递为“通知冒泡”(Notification Bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。\nFlutter中很多地方使用了通知,如可滚动(Scrollable) Widget中滑动时就会分发ScrollNotification,而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。除了ScrollNotification,Flutter中还有SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等。下面是一个监听Scrollable Widget滚动通知的例子:\nNotificationListener(\n onNotification: (notification){\n //print(notification);\n switch (notification.runtimeType){\n case ScrollStartNotification: print(\"开始滚动\"); break;\n case ScrollUpdateNotification: print(\"正在滚动\"); break;\n case ScrollEndNotification: print(\"滚动停止\"); break;\n case OverscrollNotification: print(\"滚动到边界\"); break;\n }\n },\n child: ListView.builder(\n itemCount: 100,\n itemBuilder: (context, index) {\n return ListTile(title: Text(\"$index\"),);\n }\n ),\n);\n\n上例中的滚动通知如ScrollStartNotification、ScrollUpdateNotification等都是继承自ScrollNotification类,不同类型的通知子类会包含不同的信息,比如ScrollUpdateNotification有一个scrollDelta属性,它记录了移动的位移,其它通知属性读者可以自己查看SDK文档。\n自定义通知\n除了Flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知:\n\n定义一个通知类,要继承自Notification类;\nclass MyNotification extends Notification {\n MyNotification(this.msg);\n final String msg;\n}\n\n\n分发通知。\nNotification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作Element的一个接口,它与Element树上的节点是对应的,通知会从context对应的Element节点向上冒泡。\n\n\n下面我们看一个完整的例子:\nclass NotificationRoute extends StatefulWidget {\n @override\n NotificationRouteState createState() {\n return new NotificationRouteState();\n }\n}\n\nclass NotificationRouteState extends State {\n String _msg=\"\";\n @override\n Widget build(BuildContext context) {\n //监听通知 \n return NotificationListener(\n onNotification: (notification) {\n setState(() {\n _msg+=notification.msg+\" \";\n });\n },\n child: Center(\n child: Column(\n mainAxisSize: MainAxisSize.min,\n children: [\n// RaisedButton(\n// onPressed: () => MyNotification(\"Hi\").dispatch(context),\n// child: Text(\"Send Notification\"),\n// ), \n Builder(\n builder: (context) {\n return RaisedButton(\n //按钮点击时分发通知 \n onPressed: () => MyNotification(\"Hi\").dispatch(context),\n child: Text(\"Send Notification\"),\n );\n },\n ),\n Text(_msg)\n ],\n ),\n ),\n );\n }\n}\n\nclass MyNotification extends Notification {\n MyNotification(this.msg);\n final String msg;\n}\n\n上面代码中,我们每点一次按钮就会分发一个MyNotification类型的通知,我们在Widget根上监听通知,收到通知后我们将通知通过Text显示在屏幕上。\n\n注意:代码中注释的部分是不能正常工作的,因为这个context是根Context,而NotificationListener是监听的子树,所以我们通过Builder来构建RaisedButton,来获得按钮位置的context。\n\n运行效果如下:\n\n"},"chapter9/":{"url":"chapter9/","title":"动画","keywords":"","body":"简介\n精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。 Flutter可以轻松实现各种动画类型,对于许多widget,特别是Material Design widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍Flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。\n本章目录\n\nFlutter动画简介\n动画结构\n自定义路由过渡动画 \nHero动画 \n交错动画 \n\n"},"chapter9/intro.html":{"url":"chapter9/intro.html","title":"Flutter动画简介","keywords":"","body":"动画\n在任何系统的UI框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变UI外观,由于人眼会产生视觉暂留,最终看到的就是一个“连续”的动画,这和电影的原理是一样的,而UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(Frame Per Second),指每秒的动画帧数。很明显,帧率越高则动画就会越流畅。一般情况下,对于人眼来说,动画帧率超过16FPS,就比较流畅了,超过32FPS就会非常的细腻平滑,而超过32FPS基本就感受不到差别了。由于动画的每一帧都是要改变UI输出,所以在一个时间段内连续的改变UI输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在UI系统中,动画的平均帧率是重要的性能指标,而在Flutter中,理想情况下是可以实现60FPS的,这和原生应用动画基本是持平的。\nFlutter中动画抽象\n为了方便开发者创建动画,不同的UI系统对动画都进行了一些抽象,比如在Android中可以通过XML来描述一个动画然后设置给View。Flutter中也对动画进行了抽象,主要涉及Tween、Animation、Curve、Controller这些角色。\nAnimation\nAnimation对象本身和UI渲染没有任何关系。Animation是一个抽象类,它用于保存动画的插值和状态;其中一个比较常用的Animation类是Animation。Animation对象是一个在一段时间内依次生成一个区间(Tween)之间值的类。Animation对象的输出值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数。 根据Animation对象的控制方式,动画可以反向运行,甚至可以在中间切换方向。Animation还可以生成除double之外的其他类型值,如:Animation\\ 或 Animation\\。可以通过Animation对象的value属性获取动画的当前值。\n动画通知\n我们可以通过Animation来监听动画的帧和状态变化:\n\naddListener()可以给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。\naddStatusListener()可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用StatusListener。\n\n在后面的章节中我们将会举例说明。\nCurve\n动画过程可以是匀速的、加速的或者先加速后减速等。Flutter中通过Curve(曲线)来描述动画过程,Curve可以是线性的(Curves.linear),也可以是非线性的。\nCurvedAnimation 将动画过程定义为一个非线性曲线.\nfinal CurvedAnimation curve =\n new CurvedAnimation(parent: controller, curve: Curves.easeIn);\n\n注: Curves 类类定义了许多常用的曲线,也可以创建自己的,例如:\nclass ShakeCurve extends Curve {\n @override\n double transform(double t) {\n return math.sin(t * math.PI * 2);\n }\n}\n\nCurvedAnimation和AnimationController(下面介绍)都是Animation类型。CurvedAnimation可以通过包装AnimationController和Curve生成一个新的动画对象 。\nAnimationController\nAnimationController用于控制动画,它包含动画的启动forward()、停止stop() 、反向播放 reverse()等方法。AnimationController会在动画的每一帧,就会生成一个新的值。默认情况下,AnimationController在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。 例如,下面代码创建一个Animation对象,但不会启动它运行:\nfinal AnimationController controller = new AnimationController(\n duration: const Duration(milliseconds: 2000), vsync: this);\n\nAnimationController生成数字的区间可以通过lowerBound和upperBound来指定,如:\nfinal AnimationController controller = new AnimationController( \n duration: const Duration(milliseconds: 2000), \n lowerBound: 10.0,\n upperBound: 20.0,\n vsync: this\n);\n\nAnimationController派生自Animation,因此可以在需要Animation对象的任何地方使用。 但是,AnimationController具有控制动画的其他方法,例如forward()方法可以启动动画。数字的产生与屏幕刷新有关,因此每秒钟通常会产生60个数字(即60fps),在动画的每一帧,生成新的数字后,每个Animation对象会调用其Listener对象回调,等动画状态发生改变时(如动画结束)会调用StatusListeners监听器。\nduration表示动画执行的时长,通过它我们可以控制动画的速度。\n\n注意: 在某些情况下,动画值可能会超出AnimationController的0.0-1.0的范围。例如,fling()函数允许您提供速度(velocity)、力量(force)等,因此可以在0.0到1.0范围之外。 CurvedAnimation生成的值也可以超出0.0到1.0的范围。根据选择的曲线,CurvedAnimation的输出可以具有比输入更大的范围。例如,Curves.elasticIn等弹性曲线会生成大于或小于默认范围的值。\n\nTicker\n当创建一个AnimationController时,需要传递一个vsync参数,它接收一个TickerProvider类型的对象,它的主要职责是创建Ticker,定义如下:\nabstract class TickerProvider {\n //通过一个回调创建一个Ticker\n Ticker createTicker(TickerCallback onTick);\n}\n\nFlutter应用在启动时都会绑定一个SchedulerBinding,通过SchedulerBinding可以给每一次屏幕刷新添加回调,而Ticker就是通过SchedulerBinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用TickerCallback。使用Ticker(而不是Timer)来驱动动画会防止屏幕外动画(动画的UI不在当前屏幕时,如锁屏时)消耗不必要的资源,因为Flutter中屏幕刷新时会通知到绑定的SchedulerBinding,而Ticker是受SchedulerBinding驱动的,由于锁屏后屏幕会停止刷新,所以Ticker就不会再触发。\n通过将SingleTickerProviderStateMixin添加到State的定义中,然后将State对象作为vsync的值,这在后面的例子中可以见到。\nTween\n默认情况下,AnimationController对象值的范围是0.0到1.0。如果我们需要不同的范围或不同的数据类型,则可以使用Tween来配置动画以生成不同的范围或数据类型的值。例如,像下面示例,Tween生成从-200.0到0.0的值:\nfinal Tween doubleTween = new Tween(begin: -200.0, end: 0.0);\n\nTween构造函数需要begin和end两个参数。Tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为0.0到1.0,但这不是必须的,我们可以自定义需要的范围。\nTween继承自Animatable,而不是继承自Animation。Animatable与Animation相似,不是必须输出double值。例如,ColorTween指定两种颜色之间的过渡。\nfinal Tween colorTween =\n new ColorTween(begin: Colors.transparent, end: Colors.black54);\n\nTween对象不存储任何状态,相反,它提供了evaluate(Animation animation)方法,它可以获取动画当前值。 Animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。\nTween.animate\n要使用Tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。\nfinal AnimationController controller = new AnimationController(\n duration: const Duration(milliseconds: 500), vsync: this);\nAnimation alpha = new IntTween(begin: 0, end: 255).animate(controller);\n\n注意animate()返回的是一个Animation,而不是一个Animatable。\n以下示例构建了一个控制器、一条曲线和一个Tween:\nfinal AnimationController controller = new AnimationController(\n duration: const Duration(milliseconds: 500), vsync: this);\nfinal Animation curve =\n new CurvedAnimation(parent: controller, curve: Curves.easeOut);\nAnimation alpha = new IntTween(begin: 0, end: 255).animate(curve);\n\n"},"chapter9/animation_structure.html":{"url":"chapter9/animation_structure.html","title":"动画结构","keywords":"","body":"动画基本结构\n我们通过实现一个图片逐渐放大的示例来演示一下Flutter中动画的基本结构:\nclass ScaleAnimationRoute extends StatefulWidget {\n @override\n _ScaleAnimationRouteState createState() => new _ScaleAnimationRouteState();\n}\n\n//需要继承TickerProvider,如果有多个AnimationController,则应该使用TickerProviderStateMixin。\nclass _ScaleAnimationRouteState extends State with SingleTickerProviderStateMixin{ \n\n Animation animation;\n AnimationController controller;\n\n initState() {\n super.initState();\n controller = new AnimationController(\n duration: const Duration(seconds: 3), vsync: this);\n //图片宽高从0变到300\n animation = new Tween(begin: 0.0, end: 300.0).animate(controller)\n ..addListener(() {\n setState(()=>{});\n });\n //启动动画(正向执行)\n controller.forward();\n }\n\n @override\n Widget build(BuildContext context) {\n return new Center(\n child: Image.asset(\"images/avatar.png\",\n width: animation.value,\n height: animation.value\n ),\n );\n }\n\n dispose() {\n //路由销毁时需要释放动画资源\n controller.dispose();\n super.dispose();\n }\n}\n\n上面代码中addListener()函数调用了setState(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变Image的宽高,因为它的高度和宽度现在使用的是animation.value ,所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。\n上面的例子中并没有指定Curve,所以放大的过程是线性的(匀速),下面我们指定一个Curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initState中的代码改为下面这样即可:\n initState() {\n super.initState();\n controller = new AnimationController(\n duration: const Duration(seconds: 3), vsync: this);\n //使用弹性曲线\n animation=CurvedAnimation(parent: controller, curve: Curves.bounceIn);\n //图片宽高从0变到300\n animation = new Tween(begin: 0.0, end: 300.0).animate(animation)\n ..addListener(() {\n setState(() {\n });\n });\n //启动动画\n controller.forward();\n }\n\n使用AnimatedWidget简化\n细心的读者可能已经发现上面示例中通过addListener()和setState() 来更新UI这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。AnimatedWidget类封装了调用setState()的细节,并允许我们将Widget分离出来,重构后的代码如下:\nclass AnimatedImage extends AnimatedWidget {\n AnimatedImage({Key key, Animation animation})\n : super(key: key, listenable: animation);\n\n Widget build(BuildContext context) {\n final Animation animation = listenable;\n return new Center(\n child: Image.asset(\"images/avatar.png\",\n width: animation.value,\n height: animation.value\n ),\n );\n }\n}\n\n\nclass ScaleAnimationRoute extends StatefulWidget {\n @override\n _ScaleAnimationRouteState createState() => new _ScaleAnimationRouteState();\n}\n\nclass _ScaleAnimationRouteState extends State\n with SingleTickerProviderStateMixin {\n\n Animation animation;\n AnimationController controller;\n\n initState() {\n super.initState();\n controller = new AnimationController(\n duration: const Duration(seconds: 3), vsync: this);\n //图片宽高从0变到300\n animation = new Tween(begin: 0.0, end: 300.0).animate(controller);\n //启动动画\n controller.forward();\n }\n\n @override\n Widget build(BuildContext context) {\n return AnimatedImage(animation: animation,);\n }\n\n dispose() {\n //路由销毁时需要释放动画资源\n controller.dispose();\n super.dispose();\n }\n}\n\n用AnimatedBuilder重构\n用AnimatedWidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在AnimatedWidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个AnimatedWidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而AnimatedBuilder正是将渲染逻辑分离出来, 上面的build方法中的代码可以改为:\n@override\nWidget build(BuildContext context) {\n //return AnimatedImage(animation: animation,);\n return AnimatedBuilder(\n animation: animation,\n child: Image.asset(\"images/avatar.png\"),\n builder: (BuildContext ctx, Widget child) {\n return new Center(\n child: Container(\n height: animation.value, \n width: animation.value, \n child: child,\n ),\n );\n },\n );\n}\n\n上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给AnimatedBuilder后AnimatedBuilder再将其传递给匿名构造器, 然后将该对象用作其子对象。最终的结果是AnimatedBuilder返回的对象插入到Widget树中。\n也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处:\n\n不用显式的去添加帧监听器,然后再调用setState() 了,这个好处和AnimatedWidget是一样的。\n\n动画构建的范围缩小了,如果没有builder,setState()将会在父widget上下文调用,这将会导致父widget的build方法重新调用,而有了builder之后,只会导致动画widget的build重新调用,这在复杂布局下性能会提高。\n\n通过AnimatedBuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个GrowTransition来说明,它可以对子widget实现放大动画:\nclass GrowTransition extends StatelessWidget {\n GrowTransition({this.child, this.animation});\n\n final Widget child;\n final Animation animation;\n\n Widget build(BuildContext context) {\n return new Center(\n child: new AnimatedBuilder(\n animation: animation,\n builder: (BuildContext context, Widget child) {\n return new Container(\n height: animation.value, \n width: animation.value, \n child: child\n );\n },\n child: child\n ),\n );\n }\n}\n\n这样,最初的示例就可以改为:\n...\nWidget build(BuildContext context) {\n return GrowTransition(\n child: Image.asset(\"images/avatar.png\"), \n animation: animation,\n );\n}\n\nFlutter中正是通过这种方式封装了很多动画,如:FadeTransition、ScaleTransition、SizeTransition、FractionalTranslation等,很多时候都可以复用这些预置的过渡类。\n\n\n动画状态监听\n上面说过,我们可以通过Animation的addStatusListener()方法来添加动画状态改变监听器。Flutter中,有四种动画状态,在AnimationStatus枚举类中定义,下面我们逐个说明:\n\n\n\n枚举值\n含义\n\n\n\n\ndismissed\n动画在起始点停止\n\n\nforward\n动画正在正向执行\n\n\nreverse\n动画正在反向执行\n\n\ncompleted\n动画在终点停止\n\n\n\n示例\n我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下:\n initState() {\n super.initState();\n controller = new AnimationController(\n duration: const Duration(seconds: 1), vsync: this);\n //图片宽高从0变到300\n animation = new Tween(begin: 0.0, end: 300.0).animate(controller);\n animation.addStatusListener((status) {\n if (status == AnimationStatus.completed) {\n //动画执行结束时反向执行动画\n controller.reverse();\n } else if (status == AnimationStatus.dismissed) {\n //动画恢复到初始状态时执行动画(正向)\n controller.forward();\n }\n });\n\n //启动动画(正向)\n controller.forward();\n }\n\n"},"chapter9/route_transition.html":{"url":"chapter9/route_transition.html","title":"自定义路由过渡动画","keywords":"","body":"自定义路由切换动画\nMaterial库中提供了一个MaterialPageRoute,它可以使用和平台风格一致的路由切换动画,如在iOS上会左右滑动切换,而在Android上会上下滑动切换。如果在Android上也想使用左右切换风格,可以直接使用CupertinoPageRoute, 如:\n Navigator.push(context, CupertinoPageRoute(\n builder: (context){\n return PageB(); //路由B\n }\n ));\n\n如果想自定义路由切换动画,可以使用PageRouteBuilder,例如我们想以渐隐渐入动画来实现路由过渡:\n Navigator.push(context, PageRouteBuilder(\n transitionDuration: Duration(milliseconds: 500), //动画时间为500毫秒\n pageBuilder: (BuildContext context, Animation animation,\n Animation secondaryAnimation) {\n return new FadeTransition( //使用渐隐渐入过渡, \n opacity: animation,\n child: PageB() //路由B\n );\n }));\n}),\n\n我们可以看到pageBuilder 有一个animation参数,这是Flutter路由管理器提供的,在路由切换时pageBuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。\n无论是MaterialPageRoute、CupertinoPageRoute,还是PageRouteBuilder,它们都继承自PageRoute类,而PageRouteBuilder其实只是PageRoute的一个包装,我们可以直接继承PageRoute类来实现自定义路由,上面的例子可以通过如下方式实现:\n\n定义一个路由类FadeRoute\nclass FadeRoute extends PageRoute {\n FadeRoute({\n @required this.builder,\n this.transitionDuration = const Duration(milliseconds: 300),\n this.opaque = true,\n this.barrierDismissible = false,\n this.barrierColor,\n this.barrierLabel,\n this.maintainState = true,\n });\n\n final WidgetBuilder builder;\n\n @override\n final Duration transitionDuration;\n\n @override\n final bool opaque;\n\n @override\n final bool barrierDismissible;\n\n @override\n final Color barrierColor;\n\n @override\n final String barrierLabel;\n\n @override\n final bool maintainState;\n\n @override\n Widget buildPage(BuildContext context, Animation animation,\n Animation secondaryAnimation) => builder(context);\n\n @override\n Widget buildTransitions(BuildContext context, Animation animation,\n Animation secondaryAnimation, Widget child) {\n return FadeTransition( \n opacity: animation,\n child: builder(context),\n );\n }\n}\n\n\n使用FadeRoute\nNavigator.push(context, FadeRoute(builder: (context) {\n return PageB();\n}));\n\n\n\n虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应考虑优先使用PageRouteBuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候PageRouteBuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承PageRoute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isActive属性是否为true,代码如下:\n@override\nWidget buildTransitions(BuildContext context, Animation animation,\n Animation secondaryAnimation, Widget child) {\n //当前路由被激活,是打开新路由\n if(isActive) {\n return FadeTransition(\n opacity: animation,\n child: builder(context),\n );\n }else{\n //是返回,则不应用过渡动画\n return Padding(padding: EdgeInsets.zero);\n }\n}\n\n关于路由参数的详细信息读者可以自行查阅API文档,比较简单,不再赘述。\n"},"chapter9/hero.html":{"url":"chapter9/hero.html","title":"Hero动画","keywords":"","body":"Hero动画\nHero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的Widget可以在新旧路由间切换,由于共享的Widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会逐渐过渡,这样就会产生一个Hero动画。\n你可能多次看到过 hero 动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。 在Flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为 共享元素转换。下面我们通过一个示例来体验一下hero 动画。\n示例\n假设有两个路由A和B,他们的内容交互如下:\nA:包含一个用户头像,圆形,点击后跳到B路由,可以查看大图。\nB:显示用户头像原图,矩形;\n在AB两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析:\n// 路由A\nclass HeroAnimationRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Container(\n alignment: Alignment.topCenter,\n child: InkWell(\n child: Hero(\n tag: \"avatar\", //唯一标记,前后两个路由页Hero的tag必须相同\n child: ClipOval(\n child: Image.asset(\"images/avatar.png\",\n width: 50.0,\n ),\n ),\n ),\n onTap: () {\n //打开B路由 \n Navigator.push(context, PageRouteBuilder(\n pageBuilder: (BuildContext context, Animation animation,\n Animation secondaryAnimation) {\n return new FadeTransition(\n opacity: animation,\n child: PageScaffold(\n title: \"原图\",\n body: HeroAnimationRouteB(),\n ),\n );\n })\n );\n },\n ),\n );\n }\n}\n\n路由B:\nclass HeroAnimationRouteB extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Center(\n child: Hero(\n tag: \"avatar\", //唯一标记,前后两个路由页Hero的tag必须相同\n child: Image.asset(\"images/avatar.png\"),\n ),\n );\n }\n}\n\n我们可以看到,实现Hero动画只需要用Hero Widget将要共享的Widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是Flutter Framework自动完成的。必须要注意, 前后路由页的共享Hero的tag必须是相同的,Flutter Framework内部正式通过tag来对应新旧路由页Widget的对应关系的。\nHero动画的原理比较简单,Flutter Framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值即可,幸运的是,这些事情Flutter已经帮我们做了。\n"},"chapter9/stagger_animation.html":{"url":"chapter9/stagger_animation.html","title":"交错动画","keywords":"","body":"交错动画\n有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。这时我们就需要使用交错动画(Stagger Animation)。交错动画需要注意以下几点:\n\n要创建交错动画,需要使用多个动画对象\n一个AnimationController控制所有动画\n给每一个动画对象指定间隔(Interval)\n\n所有动画都由同一个AnimationController驱动,无论动画实时持续多长时间,控制器的值必须介于0.0和1.0之间,而每个动画的间隔(Interval)介于0.0和1.0之间。对于在间隔中设置动画的每个属性,请创建一个Tween。 Tween指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定起始点和终止点来决定它们的开始时间和终止时间。\n示例\n下面我们看一个例子,实现一个柱状图增长的动画:\n\n开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。\n高度增长到300后,开始沿X轴向右平移100像素;这个过程占用整个动画时间的40%。\n\n我们将执行动画的Widget分离出来:\nclass StaggerAnimation extends StatelessWidget {\n StaggerAnimation({ Key key, this.controller }): super(key: key){\n //高度动画\n height = Tween(\n begin:.0 ,\n end: 300.0,\n ).animate(\n CurvedAnimation(\n parent: controller,\n curve: Interval(\n 0.0, 0.6, //间隔,前60%的动画时间\n curve: Curves.ease,\n ),\n ),\n );\n\n color = ColorTween(\n begin:Colors.green ,\n end:Colors.red,\n ).animate(\n CurvedAnimation(\n parent: controller,\n curve: Interval(\n 0.0, 0.6,//间隔,前60%的动画时间\n curve: Curves.ease,\n ),\n ),\n );\n\n padding = Tween(\n begin:EdgeInsets.only(left: .0),\n end:EdgeInsets.only(left: 100.0),\n ).animate(\n CurvedAnimation(\n parent: controller,\n curve: Interval(\n 0.6, 1.0, //间隔,后40%的动画时间\n curve: Curves.ease,\n ),\n ),\n );\n }\n\n\n final Animation controller;\n Animation height;\n Animation padding;\n Animation color;\n\n Widget _buildAnimation(BuildContext context, Widget child) {\n return Container(\n alignment: Alignment.bottomCenter,\n padding:padding.value ,\n child: Container(\n color: color.value,\n width: 50.0,\n height: height.value,\n ),\n );\n }\n\n @override\n Widget build(BuildContext context) {\n return AnimatedBuilder(\n builder: _buildAnimation,\n animation: controller,\n );\n }\n}\n\nStaggerAnimation中定义了三个动画,分别是对Container的height、color、padding属性设置的动画,然后通过Interval来为每个动画指定在整个动画过程的起始点和终点。\n下面我们来实现启动动画的路由:\nclass StaggerDemo extends StatefulWidget {\n @override\n _StaggerDemoState createState() => _StaggerDemoState();\n}\n\nclass _StaggerDemoState extends State with TickerProviderStateMixin {\n AnimationController _controller;\n\n @override\n void initState() {\n super.initState();\n\n _controller = AnimationController(\n duration: const Duration(milliseconds: 2000),\n vsync: this\n );\n }\n\n\n Future _playAnimation() async {\n try {\n //先正向执行动画\n await _controller.forward().orCancel;\n //再反向执行动画\n await _controller.reverse().orCancel;\n } on TickerCanceled {\n // the animation got canceled, probably because we were disposed\n }\n }\n\n @override\n Widget build(BuildContext context) {\n return GestureDetector(\n behavior: HitTestBehavior.opaque,\n onTap: () {\n _playAnimation();\n },\n child: Center(\n child: Container(\n width: 300.0,\n height: 300.0,\n decoration: BoxDecoration(\n color: Colors.black.withOpacity(0.1),\n border: Border.all(\n color: Colors.black.withOpacity(0.5),\n ),\n ),\n //调用我们定义的交错动画Widget\n child: StaggerAnimation(\n controller: _controller\n ),\n ),\n ),\n );\n }\n}\n\n执行效果如下,点击灰色矩形,就可以看到整个动画效果:\n\n"},"chapter13/":{"url":"chapter13/","title":"自定义Widget","keywords":"","body":"本章目录\n\n自定义Widget方法简介\n通过组合现有Widget实现\n实例:TurnBox\nCustomPaint与Canvas \n实例:圆形渐变进度条 \n\n"},"chapter13/intro.html":{"url":"chapter13/intro.html","title":"自定义Widget方法简介","keywords":"","body":"自定义Widget方法简介\n当Flutter提供的现有Widget无法满足我们的需求,或者我们为了共享代码需要封装一些通用Widget,这时我们就需要自定义Widget。在Flutter中自定义Widget有三种方式:通过组合其它Widget、自绘和实现RenderObject,本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。\n组合其它Widget\n这种方式是通过拼装其它低级别的Widget来组合成一个高级别的Widget,例如我们之前介绍的Container就是一个组合Widget,它是由DecoratedBox、ConstrainedBox、Transform、Padding、Align等组成。\n在Flutter中,组合的思想非常重要,Flutter提供了非常多的基础Widget,而我们的界面开发都是按照需要组合这些Widget来实现各种不同的布局。 \n自绘\n如果遇到无法通过系统提供的现有Widget实现的UI时,如我们需要一个渐变圆形进度条,而Flutter提供的CircularProgressIndicator并不支持在显示精确进度时对进度条应用渐变色(其valueColor 属性只支持执行旋转动画时变化Indicator的颜色),这时最好的方法就是通过自定义Widget绘制逻辑来画出我们期望的外观。Flutter中提供了CustomPaint和Canvas供我们自绘UI外观。\n实现RenderObject\nFlutter提供的任何具有UI外观的Widget,如文本Text、Image都是通过相应的RenderObject渲染出来的,如Text是由RenderParagraph渲染,而Image是由RenderImage渲染。RenderObject是一个抽象类,它定义了一个抽象方法paint(...):\nvoid paint(PaintingContext context, Offset offset)\n\nPaintingContext代表Widget的绘制上下文,通过PaintingContext.canvas可以获得Canvas,绘制逻辑主要是通过Canvas API来实现。子类需要实现此方法以实现自身的绘制逻辑,如RenderParagraph需要实现文本绘制逻辑,而RenderImage需要实现图片绘制逻辑。\n可以发现,RenderObject中最终也是通过Canvas来绘制的,那么通过实现RenderObject的方式和上面介绍的通过CustomPaint和Canvas自绘的方式有什么区别?其实答案很简单,CustomPaint只是为了方便开发者封装的一个代理类,它直接继承自SingleChildRenderObjectWidget,通过RenderCustomPaint的paint方法将Canvas和画笔Painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在Painter中)。\n总结\n组合是自定义组件最简单的方法,在任何需要自定义的场景下,都应该优先考虑是否能够通过组合来实现。而自绘和通过实现RenderObject的方法本质上是一样的,都需要开发者调用Canvas API手动去绘制UI,缺点是必须了解Canvas API,并且得自己去实现绘制逻辑,而优点是强大灵活,理论上可以实现任何外观的UI。\n在本章接下来的小节中,我们将通过一些实例来详细介绍自定义UI的过程,由于后两种方法本质是相同的,后续我们只介绍CustomPaint和Canvas的方式,读者如果对自定义RenderObject的方法好奇,可以查看RenderParagraph或RenderImage源码。\n"},"chapter13/combine.html":{"url":"chapter13/combine.html","title":"通过组合现有Widget实现","keywords":"","body":"通过组合现有Widget实现自定义Widget\n在Flutter中页面UI通常都是由一些低阶别的Widget组合而成,当我们需要封装一些通用Widget时,应该首先考虑是否可以通过组合其它Widget来实现,如果可以则应优先使用组合,因为直接通过现有Widget拼装会非常方便、简单、高效。\n示例:自定义渐变按钮\nFlutter Widget库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个GradientButton Widget。我们先来看看效果:\n\n我们看看GradientButton实现:\nimport 'package:flutter/material.dart';\n\nclass GradientButton extends StatelessWidget {\n GradientButton({\n this.colors,\n this.width,\n this.height,\n this.onTap,\n @required this.child,\n });\n\n // 渐变色数组\n final List colors;\n\n // 按钮宽高\n final double width;\n final double height;\n\n final Widget child;\n\n //点击回调\n final GestureTapCallback onTap;\n\n @override\n Widget build(BuildContext context) {\n ThemeData theme = Theme.of(context);\n\n //确保colors数组不空\n List _colors = colors ??\n [theme.primaryColor, theme.primaryColorDark ?? theme.primaryColor];\n\n return DecoratedBox(\n decoration: BoxDecoration(\n gradient: LinearGradient(colors: _colors),\n ),\n child: Material(\n type: MaterialType.transparency,\n child: InkWell(\n splashColor: colors.last,\n highlightColor: Colors.transparent,\n onTap: onTap,\n child: ConstrainedBox(\n constraints: BoxConstraints.tightFor(height: height, width: width),\n child: Center(\n child: Padding(\n padding: const EdgeInsets.all(8.0),\n child: DefaultTextStyle(\n style: TextStyle(fontWeight: FontWeight.bold),\n child: child),\n ),\n ),\n ),\n ),\n ),\n );\n }\n}\n\n可以看到GradientButton是由Padding、Center、InkWell等Widget组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态、不能定义圆角等,读者可以根据实际需要来完善。\n使用GradientButton\nclass GradientButtonRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Container(\n child: Column(\n children: [\n GradientButton(\n colors: [Colors.orange,Colors.red],\n height: 50.0,\n child: Text(\"Submit\"),\n onTap:onTap ,\n ),\n GradientButton(\n height: 50.0,\n colors: [Colors.lightGreen, Colors.green[700]],\n child: Text(\"Submit\"),\n onTap: onTap,\n ),\n GradientButton(\n height: 50.0,\n colors: [Colors.lightBlue[300], Colors.blueAccent],\n child: Text(\"Submit\"),\n onTap: onTap,\n ),\n ],\n ),\n );\n }\n\n onTap(){\n print(\"button click\");\n }\n}\n\n总结\n通过组合的方式定义Widget和我们之前写界面并无差异,不过在抽离出单独的Widget时我们要考虑代码规范性,如必要参数要用@required 标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解Widget的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用Widget时能够兼容或报错提示(使用assert断言函数)。\n"},"chapter13/turn_box.html":{"url":"chapter13/turn_box.html","title":"实例:TurnBox","keywords":"","body":"实例:TurnBox\n我们之前已经介绍过RotatedBox,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转,二是当旋转的角度发生变化时,旋转角度更新过程没有动画。\n本节我们将实现一个TurnBox,它可以以任意角度来旋转其子节点,并且在角度发生变化时可以执行一个动画过渡到新状态,同时,我们可以手动指定动画速度。\nTurnBox的完整代码如下:\nimport 'package:flutter/widgets.dart';\n\nclass TurnBox extends StatefulWidget {\n const TurnBox({\n Key key,\n this.turns = .0, //旋转的“圈”数,一圈为360度,如0.25圈即90度\n this.speed = 200, //过渡动画执行的总时长\n this.child\n }) :super(key: key);\n\n final double turns;\n final int speed;\n final Widget child;\n\n @override\n _TurnBoxState createState() => new _TurnBoxState();\n}\n\nclass _TurnBoxState extends State\n with SingleTickerProviderStateMixin {\n AnimationController _controller;\n\n @override\n void initState() {\n super.initState();\n _controller = new AnimationController(\n vsync: this,\n lowerBound: -double.infinity,\n upperBound: double.infinity\n );\n _controller.value = widget.turns;\n }\n\n @override\n void dispose() {\n _controller.dispose();\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return RotationTransition(\n turns: _controller,\n child: widget.child,\n );\n }\n\n @override\n void didUpdateWidget(TurnBox oldWidget) {\n super.didUpdateWidget(oldWidget);\n //旋转角度发生变化时执行过渡动画 \n if (oldWidget.turns != widget.turns) {\n _controller.animateTo(\n widget.turns,\n duration: Duration(milliseconds: widget.speed??200),\n curve: Curves.easeOut,\n );\n }\n }\n}\n\n代码比较简单,我们主要是通过包装(组合)RotationTransition来实现的。\n下面我们测试一下TurnBox的功能,测试代码如下:\nimport 'package:flutter/material.dart';\nimport '../widgets/index.dart';\n\nclass TurnBoxRoute extends StatefulWidget {\n @override\n _TurnBoxRouteState createState() => new _TurnBoxRouteState();\n}\n\nclass _TurnBoxRouteState extends State {\n double _turns = .0;\n\n @override\n Widget build(BuildContext context) {\n\n return Center(\n child: Column(\n children: [\n TurnBox(\n turns: _turns,\n speed: 500,\n child: Icon(Icons.refresh, size: 50,),\n ),\n TurnBox(\n turns: _turns,\n speed: 1000,\n child: Icon(Icons.refresh, size: 150.0,),\n ),\n RaisedButton(\n child: Text(\"顺时针旋转1/5圈\"),\n onPressed: () {\n setState(() {\n _turns += .2;\n });\n },\n ),\n RaisedButton(\n child: Text(\"逆时针旋转1/5圈\"),\n onPressed: () {\n setState(() {\n _turns -= .2;\n });\n },\n )\n ],\n ),\n );\n }\n}\n\n测试代码运行后效果如下图:\n\n当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。\n"},"chapter13/custom_paint.html":{"url":"chapter13/custom_paint.html","title":"CustomPaint与Canvas","keywords":"","body":"CustomPaint与Canvas\n对于一些复杂或不规则的UI,我们可能无法使用现有Widget组合的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等,当然有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片是实现不了的,比如要实现一个手写输入面板。这时,我们就需要来自己绘制UI外观。\n几乎所有的UI系统都会提供一个自绘UI的接口,这个接口通常会提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。在Flutter中,提供了一个CustomPaint Widget,它可以结合一个画笔CustomPainter来实现绘制自定义图形。\nCustomPaint\n我们看看CustomPaint构造函数:\nconst CustomPaint({\n Key key,\n this.painter, \n this.foregroundPainter,\n this.size = Size.zero, \n this.isComplex = false, \n this.willChange = false, \n Widget child, //子节点,可以为空\n})\n\n\npainter: 背景画笔,会显示在子节点后面;\nforegroundPainter: 前景画笔,会显示在子节点前面\nsize:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用SizeBox包裹CustomPaint实现。\nisComplex:是否复杂的绘制,如果是,Flutter会应用一些缓存策略来减少重复渲染的开销。\nwillChange:和isComplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。\n\n可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承CustomPainter类,我们在画笔类中实现真正的绘制逻辑。\n注意\n如果CustomPaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在RepaintBoundary Widget中,这样会在绘制时创建一个新的绘制层(Layer),其子Widget将在新的Layer上绘制,而父Widget将在原来Layer上绘制,也就是说RepaintBoundary 子Widget的绘制将独立于父Widget的绘制,RepaintBoundary会隔离其子节点和CustomPaint本身的绘制边界。示例如下:\nCustomPaint(\n size: Size(300, 300), //指定画布大小\n painter: MyPainter(),\n child: RepaintBoundary(child:...)), \n)\n\nCustomPainter\nCustomPainter中提定义了一个虚函数paint:\nvoid paint(Canvas canvas, Size size);\npaint有两个参数:\n\nCanvas:一个画布,包括各种绘制方法,我们列出一下常用的方法:\n|API名称 | 功能 |\n| ---------- | ------ |\n| drawLine | 画线 |\n| drawPoint | 画点 |\n| drawPath | 画路径 |\n| drawImage | 画图像 |\n| drawRect | 画矩形 |\n| drawCircle | 画圆 |\n| drawOval | 画椭圆 |\n| drawArc | 画圆弧 |\n\nSize:当前绘制区域大小。\n\n\n画笔Paint\n现在画布有了,我们最后还缺一个画笔,Flutter提供了Paint类来实现画笔。在Paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如:\nvar paint = Paint() //创建一个画笔并配置其属性\n ..isAntiAlias = true //是否抗锯齿\n ..style = PaintingStyle.fill //画笔样式:填充\n ..color=Color(0x77cdb175);//画笔颜色\n\n更多的配置属性读者可以参考Paint类定义。\n示例:五子棋/盘\n下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘UI的过程,首先我们看一下我们的目标结果:\n\n代码:\nimport 'package:flutter/material.dart';\nimport 'dart:math';\n\nclass CustomPaintRoute extends StatelessWidget {\n @override\n Widget build(BuildContext context) {\n return Center(\n child: CustomPaint(\n size: Size(300, 300), //指定画布大小\n painter: MyPainter(),\n ),\n );\n }\n}\n\nclass MyPainter extends CustomPainter {\n @override\n void paint(Canvas canvas, Size size) {\n double eWidth = size.width / 15;\n double eHeight = size.height / 15;\n\n //画棋盘背景\n var paint = Paint()\n ..isAntiAlias = true\n ..style = PaintingStyle.fill //填充\n ..color = Color(0x77cdb175); //背景为纸黄色\n canvas.drawRect(Offset.zero & size, paint);\n\n //画棋盘网格\n paint\n ..style = PaintingStyle.stroke //线\n ..color = Colors.black87\n ..strokeWidth = 1.0;\n\n for (int i = 0; i true;\n}\n\n性能\n绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议:\n\n尽可能的利用好shouldRepaint返回值;在UI树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的UI不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的UI外观;如果绘制依赖外部状态,那么我们就应该在shouldRepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。\n\n绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个Widget,并设置其shouldRepaint回调值为false,然后将棋盘Widget作为背景。然后将棋子的绘制放到另一个Widget中,这样落子时只需要绘制棋子。\n\n\n总结\n自绘控件非常强大,理论上可以实现任何2D图形外观,实际上Flutter提供的所有Widget最终都是调用Canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的Widget的源码,找到其对应的RenderObject对象,如Text Widget最终会通过RenderParagraph对象来通过Canvas实现文本绘制逻辑。\n下一节我们再通过实现一个自绘的圆形渐变进度条的实例来帮助读者加深印象。\n"},"chapter13/gradient_circular_progress_demo.html":{"url":"chapter13/gradient_circular_progress_demo.html","title":"实例:圆形渐变进度条(自绘)","keywords":"","body":"实例:圆形渐变进度条(自绘)\n本节我们实现一个圆形渐变进度条,它支持:\n\n支持多种渐变色。\n任意弧度;整个进度可以不是整圆。\n可以自定义粗细、两端是否圆角等样式。\n\n可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现。\n实现代码如下:\nimport 'dart:math';\nimport 'package:flutter/material.dart';\n\nclass GradientCircularProgressIndicator extends StatelessWidget {\n GradientCircularProgressIndicator({\n this.stokeWidth = 2.0,\n @required this.radius,\n @required this.colors,\n this.stops,\n this.strokeCapRound = false,\n this.backgroundColor = const Color(0xFFEEEEEE),\n this.totalAngle = 2 * pi,\n this.value\n });\n\n ///粗细\n final double stokeWidth;\n\n /// 圆的半径\n final double radius;\n\n ///两端是否为圆角\n final bool strokeCapRound;\n\n /// 当前进度,取值范围 [0.0-1.0]\n final double value;\n\n /// 进度条背景色\n final Color backgroundColor;\n\n /// 进度条的总弧度,2*PI为整圆,小于2*PI则不是整圆\n final double totalAngle;\n\n /// 渐变色数组\n final List colors;\n\n /// 渐变色的终止点,对应colors属性\n final List stops;\n\n @override\n Widget build(BuildContext context) {\n double _offset = .0;\n // 如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置\n // 下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样 \n if (strokeCapRound) {\n _offset = asin(stokeWidth / (radius * 2 - stokeWidth));\n }\n var _colors = colors;\n if (_colors == null) {\n Color color = Theme\n .of(context)\n .accentColor;\n _colors = [color, color];\n }\n return Transform.rotate(\n angle: -pi / 2.0 - _offset, \n child: CustomPaint(\n size: Size.fromRadius(radius),\n painter: _GradientCircularProgressPainter(\n stokeWidth: stokeWidth,\n strokeCapRound: strokeCapRound,\n backgroundColor: backgroundColor,\n value: value,\n total: totalAngle,\n radius: radius,\n colors: _colors,\n )\n ),\n );\n }\n}\n\n//实现画笔\nclass _GradientCircularProgressPainter extends CustomPainter {\n _GradientCircularProgressPainter({\n this.stokeWidth: 10.0,\n this.strokeCapRound: false,\n this.backgroundColor = const Color(0xFFEEEEEE),\n this.radius,\n this.total = 2 * pi,\n @required this.colors,\n this.stops,\n this.value\n });\n\n final double stokeWidth;\n final bool strokeCapRound;\n final double value;\n final Color backgroundColor;\n final List colors;\n final double total;\n final double radius;\n final List stops;\n\n @override\n void paint(Canvas canvas, Size size) {\n if (radius != null) {\n size = Size.fromRadius(radius);\n }\n double _offset = stokeWidth / 2.0;\n double _value = (value ?? .0);\n _value = _value.clamp(.0, 1.0) * total;\n double _start = .0;\n\n if (strokeCapRound) {\n _start = asin(stokeWidth/ (size.width - stokeWidth));\n }\n\n Rect rect = Offset(_offset, _offset) & Size(\n size.width - stokeWidth,\n size.height - stokeWidth\n );\n\n var paint = Paint()\n ..strokeCap = strokeCapRound ? StrokeCap.round : StrokeCap.butt\n ..style = PaintingStyle.stroke\n ..isAntiAlias = true\n ..strokeWidth = stokeWidth;\n\n // 先画背景\n if (backgroundColor != Colors.transparent) {\n paint.color = backgroundColor;\n canvas.drawArc(\n rect,\n _start,\n total,\n false,\n paint\n );\n }\n\n // 再画前景,应用渐变\n if (_value > 0) {\n paint.shader = SweepGradient(\n startAngle: 0.0,\n endAngle: _value,\n colors: colors,\n stops: stops,\n ).createShader(rect);\n\n canvas.drawArc(\n rect,\n _start,\n _value,\n false,\n paint\n );\n }\n }\n\n @override\n bool shouldRepaint(CustomPainter oldDelegate) => true;\n\n}\n\n下面我们来测试一下,为了尽可能多的展示GradientCircularProgressIndicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图:\n\n完整的代码:\nimport 'dart:math';\nimport 'package:flutter/material.dart';\nimport '../widgets/index.dart';\n\nclass GradientCircularProgressRoute extends StatefulWidget {\n @override\n GradientCircularProgressRouteState createState() {\n return new GradientCircularProgressRouteState();\n }\n}\n\nclass GradientCircularProgressRouteState\n extends State with TickerProviderStateMixin {\n AnimationController _animationController;\n\n @override\n void initState() {\n super.initState();\n _animationController =\n new AnimationController(vsync: this, duration: Duration(seconds: 3));\n bool isForward = true;\n _animationController.addStatusListener((status) {\n if (status == AnimationStatus.forward) {\n isForward = true;\n } else if (status == AnimationStatus.completed ||\n status == AnimationStatus.dismissed) {\n if (isForward) {\n _animationController.reverse();\n } else {\n _animationController.forward();\n }\n } else if (status == AnimationStatus.reverse) {\n isForward = false;\n }\n });\n _animationController.forward();\n }\n\n @override\n void dispose() {\n _animationController.dispose();\n super.dispose();\n }\n\n @override\n Widget build(BuildContext context) {\n return SingleChildScrollView(\n child: Center(\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.center,\n children: [\n AnimatedBuilder(\n animation: _animationController,\n builder: (BuildContext context, Widget child) {\n return Padding(\n padding: const EdgeInsets.symmetric(vertical: 16.0),\n child: Column(\n children: [\n Wrap(\n spacing: 10.0,\n runSpacing: 16.0,\n children: [\n GradientCircularProgressIndicator(\n // No gradient\n colors: [Colors.blue, Colors.blue],\n radius: 50.0,\n stokeWidth: 3.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange],\n radius: 50.0,\n stokeWidth: 3.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange, Colors.red],\n radius: 50.0,\n stokeWidth: 5.0,\n value: _animationController.value,\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.teal, Colors.cyan],\n radius: 50.0,\n stokeWidth: 5.0,\n strokeCapRound: true,\n value: CurvedAnimation(\n parent: _animationController,\n curve: Curves.decelerate)\n .value,\n ),\n TurnBox(\n turns: 1 / 8,\n child: GradientCircularProgressIndicator(\n colors: [Colors.red, Colors.orange, Colors.red],\n radius: 50.0,\n stokeWidth: 5.0,\n strokeCapRound: true,\n backgroundColor: Colors.red[50],\n totalAngle: 1.5 * pi,\n value: CurvedAnimation(\n parent: _animationController,\n curve: Curves.ease)\n .value),\n ),\n RotatedBox(\n quarterTurns: 1,\n child: GradientCircularProgressIndicator(\n colors: [Colors.blue[700], Colors.blue[200]],\n radius: 50.0,\n stokeWidth: 3.0,\n strokeCapRound: true,\n backgroundColor: Colors.transparent,\n value: _animationController.value),\n ),\n GradientCircularProgressIndicator(\n colors: [\n Colors.red,\n Colors.amber,\n Colors.cyan,\n Colors.green[200],\n Colors.blue,\n Colors.red\n ],\n radius: 50.0,\n stokeWidth: 5.0,\n strokeCapRound: true,\n value: _animationController.value,\n ),\n ],\n ),\n GradientCircularProgressIndicator(\n colors: [Colors.blue[700], Colors.blue[200]],\n radius: 100.0,\n stokeWidth: 20.0,\n value: _animationController.value,\n ),\n\n Padding(\n padding: const EdgeInsets.symmetric(vertical: 16.0),\n child: GradientCircularProgressIndicator(\n colors: [Colors.blue[700], Colors.blue[300]],\n radius: 100.0,\n stokeWidth: 20.0,\n value: _animationController.value,\n strokeCapRound: true,\n ),\n ),\n //剪裁半圆\n ClipRect(\n child: Align(\n alignment: Alignment.topCenter,\n heightFactor: .5,\n child: Padding(\n padding: const EdgeInsets.only(bottom: 8.0),\n child: SizedBox(\n //width: 100.0,\n child: TurnBox(\n turns: .75,\n child: GradientCircularProgressIndicator(\n colors: [Colors.teal, Colors.cyan[500]],\n radius: 100.0,\n stokeWidth: 8.0,\n value: _animationController.value,\n totalAngle: pi,\n strokeCapRound: true,\n ),\n ),\n ),\n ),\n ),\n ),\n SizedBox(\n height: 104.0,\n width: 200.0,\n child: Stack(\n alignment: Alignment.center,\n children: [\n Positioned(\n height: 200.0,\n top: .0,\n child: TurnBox(\n turns: .75,\n child: GradientCircularProgressIndicator(\n colors: [Colors.teal, Colors.cyan[500]],\n radius: 100.0,\n stokeWidth: 8.0,\n value: _animationController.value,\n totalAngle: pi,\n strokeCapRound: true,\n ),\n ),\n ),\n Padding(\n padding: const EdgeInsets.only(top: 10.0),\n child: Text(\n \"${(_animationController.value * 100).toInt()}%\",\n style: TextStyle(\n fontSize: 25.0,\n color: Colors.blueGrey,\n ),\n ),\n )\n ],\n ),\n ),\n ],\n ),\n );\n },\n ),\n ],\n ),\n ),\n );\n }\n}\n\n"},"chapter10/":{"url":"chapter10/","title":"文件操作与网络请求","keywords":"","body":"本章目录\n\n文件操作\nHttp请求-HttpClient\nHttp请求-Dio package \nWebSocket \n使用Socket API \nJson转Model \n\n"},"chapter10/file_operation.html":{"url":"chapter10/file_operation.html","title":"文件操作","keywords":"","body":"文件操作\nDart的IO库包含了文件读写的相关类,它属于Dart语法标准的一部分,所以通过Dart IO库,无论是Dart VM下的脚本还是Flutter,都是通过Dart IO库来操作文件的,不过和Dart VM相比,Flutter有一个重要差异是文件系统路径不同,这是因为Dart VM是运行在PC或服务器操作系统下,而Flutter是运行在移动操作系统中,他们的文件系统会有一些差异。\nAPP目录\nAndroid和iOS的应用存储目录不同,PathProvider 插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:\n\n临时目录: 可以使用 getTemporaryDirectory() 来获取临时目录; 系统可随时清除的临时目录(缓存)。在iOS上,这对应于NSTemporaryDirectory() 返回的值。在Android上,这是getCacheDir())返回的值。\n文档目录: 可以使用getApplicationDocumentsDirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在iOS上,这对应于NSDocumentDirectory。在Android上,这是AppData目录。\n外部存储目录:可以使用getExternalStorageDirectory()来获取外部存储目录,如SD卡;由于iOS不支持外部目录,所以在iOS下调用该方法会抛出UnsupportedError异常,而在Android下结果是android SDK中getExternalStorageDirectory的返回值。\n\n一旦你的Flutter应用程序有一个文件位置的引用,你可以使用dart:ioAPI来执行对文件系统的读/写操作。有关使用Dart处理文件和目录的详细内容可以参考Dart语言文档,下面我们看一个简单的例子。\n示例\n我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。 这里,我们使用文件来保存数据:\n\n引入PathProvider插件;在pubspec.yaml文件中添加如下声明:\npath_provider: ^0.4.1\n\n添加后,执行flutter packages get 获取一下, 版本号可能随着时间推移会发生变化,读者可以使用最新版。\n\n实现:\nimport 'dart:io';\nimport 'dart:async';\nimport 'package:flutter/material.dart';\nimport 'package:path_provider/path_provider.dart';\n\nclass FileOperationRoute extends StatefulWidget {\n FileOperationRoute({Key key}) : super(key: key);\n\n @override\n _FileOperationRouteState createState() => new _FileOperationRouteState();\n}\n\nclass _FileOperationRouteState extends State {\n int _counter;\n\n @override\n void initState() {\n super.initState();\n //从文件读取点击次数\n _readCounter().then((int value) {\n setState(() {\n _counter = value;\n });\n });\n }\n\n Future _getLocalFile() async {\n // 获取应用目录\n String dir = (await getApplicationDocumentsDirectory()).path;\n return new File('$dir/counter.txt');\n }\n\n Future _readCounter() async {\n try {\n File file = await _getLocalFile();\n // 读取点击次数(以字符串)\n String contents = await file.readAsString();\n return int.parse(contents);\n } on FileSystemException {\n return 0;\n }\n }\n\n Future _incrementCounter() async {\n setState(() {\n _counter++;\n });\n // 将点击次数以字符串类型写到文件中\n await (await _getLocalFile()).writeAsString('$_counter');\n }\n\n @override\n Widget build(BuildContext context) {\n return new Scaffold(\n appBar: new AppBar(title: new Text('文件操作')),\n body: new Center(\n child: new Text('点击了 $_counter 次'),\n ),\n floatingActionButton: new FloatingActionButton(\n onPressed: _incrementCounter,\n tooltip: 'Increment',\n child: new Icon(Icons.add),\n ),\n );\n }\n}\n\n上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。\n\n注意,Dart IO库操作文件的API非常丰富,但本书不是介绍Dart语言的,故不详细说明,读者需要的话可以自行学习。\n\n\n\n"},"chapter10/http.html":{"url":"chapter10/http.html","title":"Http请求-HttpClient","keywords":"","body":"通过HttpClient发起HTTP请求\nDart IO库中提供了Http请求的一些类,我们可以直接使用HttpClient来发起请求。使用HttpClient发起请求分为五步:\n\n创建一个HttpClient\n HttpClient httpClient = new HttpClient();\n\n\n打开Http连接,设置请求头\nHttpClientRequest request = await httpClient.getUrl(uri);\n\n这一步可以使用任意Http method,如httpClient.post(...)、httpClient.delete(...)等。如果包含Query参数,可以在构建uri时添加,如:\nUri uri=Uri(scheme: \"https\", host: \"flutterchina.club\", queryParameters: {\n \"xx\":\"xx\",\n \"yy\":\"dd\"\n });\n\n通过HttpClientRequest可以设置请求header,如:\nrequest.headers.add(\"user-agent\", \"test\");\n\n如果是post或put等可以携带请求体方法,可以通过HttpClientRequest对象发送request body,如:\nString payload=\"...\";\nrequest.add(utf8.encode(payload)); \n//request.addStream(_inputStream); //可以直接添加输入流\n\n\n等待连接服务器\nHttpClientResponse response = await request.close();\n\n这一步完成后,请求信息就已经发送给服务器了,返回一个HttpClientResponse对象,它包含响应头(header)和响应流(响应体的Stream),接下来就可以通过读取响应流来获取响应内容。\n\n读取响应内容\nString responseBody = await response.transform(utf8.decoder).join();\n\n我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。\n\n请求结束,关闭HttpClient\nhttpClient.close();\n\n 关闭client后,通过该client发起的所有请求都会中止。\n\n\n示例\n我们实现一个获取百度首页html的例子,示例效果如下:\n​ \n点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下:\nimport 'dart:convert';\nimport 'dart:io';\n\nimport 'package:flutter/material.dart';\n\nclass HttpTestRoute extends StatefulWidget {\n @override\n _HttpTestRouteState createState() => new _HttpTestRouteState();\n}\n\nclass _HttpTestRouteState extends State {\n bool _loading = false;\n String _text = \"\";\n\n @override\n Widget build(BuildContext context) {\n return ConstrainedBox(\n constraints: BoxConstraints.expand(),\n child: SingleChildScrollView(\n child: Column(\n children: [\n RaisedButton(\n child: Text(\"获取百度首页\"),\n onPressed: _loading ? null : () async {\n setState(() {\n _loading = true;\n _text = \"正在请求...\";\n });\n try {\n //创建一个HttpClient\n HttpClient httpClient = new HttpClient();\n //打开Http连接\n HttpClientRequest request = await httpClient.getUrl(\n Uri.parse(\"https://www.baidu.com\"));\n //使用iPhone的UA\n request.headers.add(\"user-agent\", \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1\");\n //等待连接服务器(会将请求信息发送给服务器)\n HttpClientResponse response = await request.close();\n //读取响应内容\n _text = await response.transform(utf8.decoder).join();\n //输出响应头\n print(response.headers);\n\n //关闭client后,通过该client发起的所有请求都会中止。\n httpClient.close();\n\n } catch (e) {\n _text = \"请求失败:$e\";\n } finally {\n setState(() {\n _loading = false;\n });\n }\n }\n ),\n Container(\n width: MediaQuery.of(context).size.width-50.0,\n child: Text(_text.replaceAll(new RegExp(r\"\\s\"), \"\"))\n )\n ],\n ),\n ),\n );\n }\n}\n\n控制台输出:\nI/flutter (18545): connection: Keep-Alive\nI/flutter (18545): cache-control: no-cache\nI/flutter (18545): set-cookie: .... //有多个,省略...\nI/flutter (18545): transfer-encoding: chunked\nI/flutter (18545): date: Tue, 30 Oct 2018 10:00:52 GMT\nI/flutter (18545): content-encoding: gzip\nI/flutter (18545): vary: Accept-Encoding\nI/flutter (18545): strict-transport-security: max-age=172800\nI/flutter (18545): content-type: text/html;charset=utf-8\nI/flutter (18545): tracecode: 00525262401065761290103018, 00522983\nHttpClient配置\nHttpClient有很多属性可以配置,常用的属性列表如下:\n\n\n\n属性\n含义\n\n\n\n\nidleTimeout\n对应请求头中的keep-alive字段值,为了避免频繁建立连接,httpClient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。\n\n\nconnectionTimeout\n和服务器建立连接的超时,如果超过这个值则会抛出SocketException异常。\n\n\nmaxConnectionsPerHost\n同一个host,同时允许建立连接的最大数量。\n\n\nautoUncompress\n对应请求头中的Content-Encoding,如果设置为true,则请求头中Content-Encoding的值为当前HttpClient支持的压缩算法列表,目前只有\"gzip\"\n\n\nuserAgent\n对应请求头中的User-Agent字段。\n\n\n\n可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过HttpClientRequest直接设置header,不同的是通过HttpClient设置的对整个httpClient都生效,而通过HttpClientRequest设置的只对当前请求生效。\nHTTP请求认证\nHttp协议的认证(Authentication)机制可以用于保护非公开资源。如果Http服务器开启了认证,那么用户在发起请求时就需要携带用户凭据,如果你在浏览器中访问了启用Basic认证的资源时,浏览就会弹出一个登录框,如:\n\n我们先看看Basic认证的基本过程:\n\n客户端发送http请求给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话, 服务器会返回一个401 Unauthozied给客户端,并且在响应header中添加一个 “WWW-Authenticate” 字段,例如:\nWWW-Authenticate: Basic realm=\"admin\"\n其中\"Basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。\n\n客户端得到响应码后,将用户名和密码进行base64编码(格式为用户名:密码),设置请求头Authorization,继续访问 :\nAuthorization: Basic YXXFISDJFISJFGIJIJG\n服务器验证用户凭据,如果通过就返回资源内容。\n\n\n注意,Http的方式除了Basic认证之外还有:Digest认证、Client认证、Form Based认证等,目前Flutter的HttpClient只支持Basic和Digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过Base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用Basic认证还是Digest认证,都应该在Https协议下,这样可以防止抓包和中间人攻击。\nHttpClient关于Http认证的方法和属性:\n\naddCredentials(Uri url, String realm, HttpClientCredentials credentials)\n该方法用于添加用户凭据,如:\nhttpClient.addCredentials(_uri,\n \"admin\", \n new HttpClientBasicCredentials(\"username\",\"password\"), //Basic认证凭据\n);\n\n如果是Digest认证,可以创建Digest认证凭据:\nHttpClientDigestCredentials(\"username\",\"password\")\n\n\nauthenticate(Future f(Uri url, String scheme, String realm))\n这是一个setter,类型是一个回调,当服务器需要用户凭据且该用户凭据未被添加时,httpClient会调用此回调,在这个回调当中,一般会调用addCredential()来动态添加用户凭证,例如:\nhttpClient.authenticate=(Uri url, String scheme, String realm) async{\n if(url.host==\"xx.com\" && realm==\"admin\"){\n httpClient.addCredentials(url,\n \"admin\",\n new HttpClientBasicCredentials(\"username\",\"pwd\"), \n );\n return true;\n }\n return false;\n};\n\n一个建议是,如果所有请求都需要认证,那么应该在HttpClient初始化时就调用addCredentials()来添加全局凭证,而不是去动态添加。\n\n\n代理\n可以通过findProxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去:\n client.findProxy = (uri) {\n // 如果需要过滤uri,可以手动判断\n return \"PROXY 192.168.1.2:8888\";\n };\n\nfindProxy 回调返回值是一个遵循浏览器PAC脚本格式的字符串,详情可以查看API文档,如果不需要代理,返回\"DIRECT\"即可。\n在APP开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。\n有时代理服务器也启用了身份验证,这和http协议的认证是相似的,HttpClient提供了对应的Proxy认证方法和属性:\nset authenticateProxy(\n Future f(String host, int port, String scheme, String realm));\nvoid addProxyCredentials(\n String host, int port, String realm, HttpClientCredentials credentials);\n\n他们的使用方法和上面“HTTP请求认证”一节中介绍的addCredentials和authenticate 相同,故不再赘述。\n证书校验\nHttps中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非CA颁发的证书进行校验。HttpClient对证书校验的逻辑如下:\n\n如果请求的Https证书是可信CA颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。\n如果第一步验证失败,但在创建HttpClient时,已经通过SecurityContext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。\n如果1、2验证都失败了,如果用户提供了badCertificateCallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。\n\n综上所述,我们的证书校验其实就是提供一个badCertificateCallback回调,下面通过一个示例来说明。\n示例\n假设我们的后台服务使用的是自签名证书,证书格式是PEM格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下:\nString PEM=\"XXXXX\";//可以从文件读取\n...\nhttpClient.badCertificateCallback=(X509Certificate cert, String host, int port){\n if(cert.pem==PEM){\n return true; //证书一致,则允许发送数据\n }\n return false;\n};\n\nX509Certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。\n对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badCertificateCallback回调中:\nSecurityContext sc=new SecurityContext();\n//file为证书路径\nsc.setTrustedCertificates(file);\n//创建一个HttpClient\nHttpClient httpClient = new HttpClient(context: sc);\n\n注意,通过setTrustedCertificates()设置的证书格式必须为PEM或PKCS12,如果证书格式为PKCS12,则需将证书密码传入,这样则会在代码中暴露证书密码,所以客户端证书校验不建议使用PKCS12格式的证书。\n总结\n值得注意的是,HttpClient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,Http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。\n"},"chapter10/dio.html":{"url":"chapter10/dio.html","title":"Http请求-Dio package","keywords":"","body":"网络操作\nDio http库\n通过上一节介绍,我们可以发现直接使用HttpClient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、Cookie管理等就会非常繁琐。幸运的是,Dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。\n\n dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等。\n\n引入\n引入dio:\ndependencies:\n dio: ^x.x.x #请使用pub上的最新版本\n\n导入并创建dio实例:\nimport 'package:dio/dio.dart';\nDio dio = new Dio();\n\n接下来就可以通过 dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,APP只有一个http数据源时,dio应该使用单例模式。\n示例\n发起 GET 请求 :\nResponse response;\nresponse=await dio.get(\"/test?id=12&name=wendu\")\nprint(response.data.toString());\n\n对于GET请求我们可以将query参数通过对象来传递,上面的代码等同于:\nresponse=await dio.get(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})\nprint(response.data.toString());\n\n发起一个 POST 请求:\nresponse=await dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"})\n\n发起多个并发请求:\nresponse= await Future.wait([dio.post(\"/info\"),dio.get(\"/token\")]);\n\n下载文件:\nresponse=await dio.download(\"https://www.google.com/\",_savePath);\n\n发送 FormData:\nFormData formData = new FormData.from({\n \"name\": \"wendux\",\n \"age\": 25,\n});\nresponse = await dio.post(\"/info\", data: formData)\n\n如果发送的数据是FormData,则dio会将请求header的contentType设为“multipart/form-data”。\n通过FormData上传多个文件:\nFormData formData = new FormData.from({\n \"name\": \"wendux\",\n \"age\": 25,\n \"file1\": new UploadFileInfo(new File(\"./upload.txt\"), \"upload1.txt\"),\n \"file2\": new UploadFileInfo(new File(\"./upload.txt\"), \"upload2.txt\"),\n // 支持文件数组上传\n \"files\": [\n new UploadFileInfo(new File(\"./example/upload.txt\"), \"upload.txt\"),\n new UploadFileInfo(new File(\"./example/upload.txt\"), \"upload.txt\")\n ]\n});\nresponse = await dio.post(\"/info\", data: formData)\n\n值得一提的是,dio内部仍然使用HttpClient发起的请求,所以代理、请求认证、证书校验等和HttpClient是相同的,我们可以在onHttpClientCreate回调中设置,例如:\n dio.onHttpClientCreate = (HttpClient client) {\n //设置代理 \n client.findProxy = (uri) {\n return \"PROXY 192.168.1.2:8888\";\n };\n //校验证书\n httpClient.badCertificateCallback=(X509Certificate cert, String host, int port){\n if(cert.pem==PEM){\n return true; //证书一致,则允许发送数据\n }\n return false;\n }; \n };\n\n注意,onHttpClientCreate会在当前dio实例内部需要创建HttpClient时调用,所以通过此回调配置HttpClient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。\n怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio 。\n"},"chapter10/websocket.html":{"url":"chapter10/websocket.html","title":"WebSocket","keywords":"","body":"使用WebSockets\nHttp协议是无状态的,只能由客户端主动发起,服务端再被动响应,服务端无法向客户端主动推送内容,并且一旦服务器响应结束,链接就会断开(见注解部分),所以无法进行实时通信。WebSocket协议正是为解决客户端与服务端实时通信而产生的技术,现在已经被主流浏览器支持,所以对于Web开发者来说应该比较熟悉了,Flutter也提供了专门的包来支持WebSocket协议。\n\n注意:Http协议中虽然可以通过keep-alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep-alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。\n\nWebSocket协议本质上是一个基于tcp的协议,它是先通过HTTP协议发起一条特殊的http请求进行握手后,如果服务端支持WebSocket协议,则会进行协议升级。WebSocket会使用http协议握手后创建的tcp链接,和http协议不同的是,WebSocket的tcp链接是个长链接(不会断开),所以服务端与客户端就可以通过此TCP连接进行实时通信。有关WebSocket协议细节,读者可以看RFC文档,下面我们重点看看Flutter中如何使用WebSocket。\n在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息!\n步骤\n\n连接到WebSocket服务器。\n监听来自服务器的消息。\n将数据发送到服务器。\n关闭WebSocket连接。\n\n1. 连接到WebSocket服务器\nweb_socket_channel package 提供了我们需要连接到WebSocket服务器的工具.\n该package提供了一个WebSocketChannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。\n在Flutter中,我们可以创建一个WebSocketChannel连接到一台服务器:\nfinal channel = new IOWebSocketChannel.connect('ws://echo.websocket.org');\n\n2. 监听来自服务器的消息\n现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。\n我们如何收取消息并显示它们?在这个例子中,我们将使用一个StreamBuilder Widget来监听新消息, 并用一个Text Widget来显示它们。\nnew StreamBuilder(\n stream: widget.channel.stream,\n builder: (context, snapshot) {\n return new Text(snapshot.hasData ? '${snapshot.data}' : '');\n },\n);\n\n工作原理\nWebSocketChannel提供了一个来自服务器的消息Stream 。\n该Stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与Future返回单个异步响应不同,Stream类可以随着时间推移传递很多事件。\n该StreamBuilder Widget将连接到一个Stream, 并在每次收到消息时通知Flutter重新构建界面。\n3. 将数据发送到服务器\n为了将数据发送到服务器,我们会add消息给WebSocketChannel提供的sink。\nchannel.sink.add('Hello!');\n\n工作原理\nWebSocketChannel提供了一个StreamSink,它将消息发给服务器。\nStreamSink类提供了给数据源同步或异步添加事件的一般方法。\n4. 关闭WebSocket连接\n在我们使用WebSocket后,要关闭连接:\nchannel.sink.close();\n\n完整的例子\nimport 'package:flutter/material.dart';\nimport 'package:web_socket_channel/io.dart';\n\nclass WebSocketRoute extends StatefulWidget {\n @override\n _WebSocketRouteState createState() => new _WebSocketRouteState();\n}\n\nclass _WebSocketRouteState extends State {\n TextEditingController _controller = new TextEditingController();\n IOWebSocketChannel channel;\n String _text = \"\";\n\n\n @override\n void initState() {\n //创建websocket连接\n channel = new IOWebSocketChannel.connect('ws://echo.websocket.org');\n }\n\n @override\n Widget build(BuildContext context) {\n return new Scaffold(\n appBar: new AppBar(\n title: new Text(\"WebSocket(内容回显)\"),\n ),\n body: new Padding(\n padding: const EdgeInsets.all(20.0),\n child: new Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n new Form(\n child: new TextFormField(\n controller: _controller,\n decoration: new InputDecoration(labelText: 'Send a message'),\n ),\n ),\n new StreamBuilder(\n stream: channel.stream,\n builder: (context, snapshot) {\n //网络不通会走到这\n if (snapshot.hasError) {\n _text = \"网络不通...\";\n } else if (snapshot.hasData) {\n _text = \"echo: \"+snapshot.data;\n }\n return new Padding(\n padding: const EdgeInsets.symmetric(vertical: 24.0),\n child: new Text(_text),\n );\n },\n )\n ],\n ),\n ),\n floatingActionButton: new FloatingActionButton(\n onPressed: _sendMessage,\n tooltip: 'Send message',\n child: new Icon(Icons.send),\n ),\n );\n }\n\n void _sendMessage() {\n if (_controller.text.isNotEmpty) {\n channel.sink.add(_controller.text);\n }\n }\n\n @override\n void dispose() {\n channel.sink.close();\n super.dispose();\n }\n}\n\n上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过WebSocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现StreamBuilder和Stream都没有指定接收类型的参数,并且在创建WebSocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用StreamBuilder,因为WebSocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过Opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,StreamBuilder的snapshot.data的类型就是List,是文本时,则为String。\n"},"chapter10/socket.html":{"url":"chapter10/socket.html","title":"使用Socket API","keywords":"","body":"Socket\n我们之前介绍的Http协议和WebSocket协议都属于应用层协议,除了它们,应用层协议还有很多如:SMTP、FTP等,它们都是通过Socket实现的。其实,操作系统中提供的原生网络请求API是标准的,在C语言的Socket库中,它主要提供了端到端建立链接和发送数据的基础API,而高级编程语言中的Socket库其实都是对操作系统的socket API的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的HttpClient不好用想重新实现一个,这时我们就需要使用Socket。Flutter的Socket API在dart io包中,下面我们看一个使用Socket实现简单http请求的示例,以请求百度首页为例:\n_request() async{\n //建立连接\n var socket=await Socket.connect(\"baidu.com\", 80);\n //根据http协议,发送请求头\n socket.writeln(\"GET / HTTP/1.1\");\n socket.writeln(\"Host:baidu.com\");\n socket.writeln(\"Connection:close\");\n socket.writeln();\n await socket.flush(); //发送\n //读取返回内容\n _response =await socket.transform(utf8.decoder).join();\n await socket.close();\n}\n\n可以看到,使用Socket需要我们自己实现Http协议细节,本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后如下:\n\n可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user-agent)来看看输出的变化。\n"},"chapter10/json_model.html":{"url":"chapter10/json_model.html","title":"Json转Model","keywords":"","body":"Json Model\n在实战中,后台接口往往会返回一些结构化数据,如JSON、XML等,如之前我们请求Github API的示例,它返回的数据就是JSON格式的字符串,为了方便我们在代码中操作JSON,我们先将JSON格式的字符串转为Dart对象,这个可以通过dart:convert中内置的JSON解码器json.decode() 来实现,该方法可以根据JSON字符串具体内容将其转为List或Map,这样我们就可以通过他们来查找所需的值,如:\n//一个JSON格式的用户列表字符串\nString jsonStr='[{\"name\":\"Jack\"},{\"name\":\"Rose\"}]';\n//将JSON字符串转为Dart对象(此处是List)\nList items=json.decode(jsonStr);\n//输出第一个用户的姓名\nprint(items[0][\"name\"]);\n\n通过json.decode() 将JSON字符串转为List/Map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下JSON:\n{\n \"name\": \"John Smith\",\n \"email\": \"john@example.com\"\n}\n\n我们可以通过调用json.decode方法来解码JSON ,使用JSON字符串作为参数:\nMap user = json.decode(json);\n\nprint('Howdy, ${user['name']}!');\nprint('We sent the verification link to ${user['email']}.');\n\n由于json.decode()仅返回一个Map,这意味着直到运行时我们才知道值的类型。 通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个JSON在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。\n其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“Json Model化”,具体做法就是,通过预定义一些与Json结构对应的Model类,然后在请求到数据后再动态根据数据创建出Model类的实例。这样一来,在开发阶段我们使用的是Model类的实例,而不再是Map/List,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(Model class)来解决前面提到的问题,我们称之为User。在User类内部,我们有:\n\n一个User.fromJson 构造函数, 用于从一个map构造出一个 User实例 map structure\n一个toJson 方法, 将 User 实例转化为一个map.\n\n这样,调用代码现在可以具有类型安全、自动补全字段(name和email)以及编译时异常。如果我们将拼写错误字段视为int类型而不是String, 那么我们的代码就不会通过编译,而不是在运行时崩溃。\nuser.dart\nclass User {\n final String name;\n final String email;\n\n User(this.name, this.email);\n\n User.fromJson(Map json)\n : name = json['name'],\n email = json['email'];\n\n Map toJson() =>\n {\n 'name': name,\n 'email': email,\n };\n}\n\n现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user.\nMap userMap = json.decode(json);\nvar user = new User.fromJson(userMap);\n\nprint('Howdy, ${user.name}!');\nprint('We sent the verification link to ${user.email}.');\n\n要序列化一个user,我们只是将该User对象传递给该json.encode方法。我们不需要手动调用toJson这个方法,因为`JSON.encode内部会自动调用。\nString json = json.encode(user);\n\n这样,调用代码就不用担心JSON序列化了,但是,Model类还是必须的。在实践中,User.fromJson和User.toJson方法都需要单元测试到位,以验证正确的行为。\n另外,实际场景中,JSON对象很少会这么简单,嵌套的JSON对象并不罕见,如果有什么能为我们自动处理JSON序列化,那将会非常好。幸运的是,有!\n自动生成Model\n尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializable package包。 它是一个自动化的源代码生成器,可以在开发阶段为我们生成JSON序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生JSON序列化异常的风险降至最低。\n在项目中设置json_serializable\n要包含json_serializable到我们的项目中,我们需要一个常规和两个开发依赖项。简而言之,开发依赖项是不包含在我们的应用程序源代码中的依赖项,它是开发过程中的一些辅助工具、脚本,和node中的开发依赖项相似。\npubspec.yaml\ndependencies:\n # Your other regular dependencies here\n json_annotation: ^2.0.0\n\ndev_dependencies:\n # Your other dev_dependencies here\n build_runner: ^1.0.0\n json_serializable: ^2.0.0\n\n在您的项目根文件夹中运行 flutter packages get (或者在编辑器中点击 “Packages Get”) 以在项目中使用这些新的依赖项.\n以json_serializable的方式创建model类\n让我们看看如何将我们的User类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化JSON model。\nuser.dart\nimport 'package:json_annotation/json_annotation.dart';\n\n// user.g.dart 将在我们运行生成命令后自动生成\npart 'user.g.dart';\n\n///这个标注是告诉生成器,这个类是需要生成Model类的\n@JsonSerializable()\n\nclass User{\n User(this.name, this.email);\n\n String name;\n String email;\n //不同的类使用不同的mixin即可\n factory User.fromJson(Map json) => _$UserFromJson(json);\n Map toJson() => _$UserToJson(this); \n}\n\n有了上面的设置,源码生成器将生成用于序列化name和email字段的JSON代码。\n如果需要,自定义命名策略也很容易。例如,如果我们正在使用的API返回带有snake_case的对象,但我们想在我们的模型中使用lowerCamelCase, 那么我们可以使用@JsonKey标注:\n//显式关联JSON字段名与Model属性的对应关系 \n@JsonKey(name: 'registration_date_millis')\nfinal int registrationDateMillis;\n\n运行代码生成程序\njson_serializable第一次创建类时,您会看到与下图类似的错误。\n\n这些错误是完全正常的,这是因为Model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法:\n一次性生成\n通过在我们的项目根目录下运行:\nflutter packages pub run build_runner build\n 这触发了一次性构建,我们可以在需要时为我们的Model生成json序列化代码,它通过我们的源文件,找出需要生成Model类的源文件(包含@JsonSerializable标注的)来生成对应的.g.dart文件。一个好的建议是将所有Model类放在一个单独的目录下,然后在该目录下执行命令。\n虽然这非常方便,但如果我们不需要每次在Model类中进行更改时都要手动运行构建命令的话会更好。\n持续生成\n使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutter packages pub run build_runner watch在项目根目录下运行来启动watcher。只需启动一次观察器,然后它就会在后台运行,这是安全的。\n自动化生成模板\n上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据JSON文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将JSON转为Model类,下面我们看看怎么做:\n\n定义一个\"模板的模板\",名为\"template.dart\":\nimport 'package:json_annotation/json_annotation.dart';\n%t\npart '%s.g.dart';\n@JsonSerializable()\nclass %s {\n %s();\n\n %s\n factory %s.fromJson(Map json) => _$%sFromJson(json);\n Map toJson() => _$%sToJson(this);\n}\n\n模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。\n\n写一个自动生成模板的脚本(mo.dart),它可以根据指定的JSON目录,遍历生成模板,在生成时我们定义一些规则:\n\n如果JSON文件名以下划线“_”开始,则忽略此JSON文件。\n复杂的JSON对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。\n\n脚本我们通过Dart来写,源码如下:\nimport 'dart:convert';\nimport 'dart:io';\nimport 'package:path/path.dart' as path;\nconst TAG=\"\\$\";\nconst SRC=\"./json\"; //JSON 目录\nconst DIST=\"lib/models/\"; //输出model目录\n\nvoid walk() { //遍历JSON目录生成模板\n var src = new Directory(SRC);\n var list = src.listSync();\n var template=new File(\"./template.dart\").readAsStringSync();\n File file;\n list.forEach((f) {\n if (FileSystemEntity.isFileSync(f.path)) {\n file = new File(f.path);\n var paths=path.basename(f.path).split(\".\");\n String name=paths.first;\n if(paths.last.toLowerCase()!=\"json\"||name.startsWith(\"_\")) return ;\n if(name.startsWith(\"_\")) return;\n //下面生成模板\n var map = json.decode(file.readAsStringSync());\n //为了避免重复导入相同的包,我们用Set来保存生成的import语句。\n var set= new Set();\n StringBuffer attrs= new StringBuffer();\n (map as Map).forEach((key, v) {\n if(key.startsWith(\"_\")) return ;\n attrs.write(getType(v,set,name));\n attrs.write(\" \");\n attrs.write(key);\n attrs.writeln(\";\");\n attrs.write(\" \");\n });\n String className=name[0].toUpperCase()+name.substring(1);\n var dist=format(template,[name,className,className,attrs.toString(),\n className,className,className]);\n var _import=set.join(\";\\r\\n\");\n _import+=_import.isEmpty?\"\":\";\";\n dist=dist.replaceFirst(\"%t\",_import );\n //将生成的模板输出\n new File(\"$DIST$name.dart\").writeAsStringSync(dist);\n }\n });\n}\n\nString changeFirstChar(String str, [bool upper=true] ){\n return (upper?str[0].toUpperCase():str[0].toLowerCase())+str.substring(1);\n}\n\n//将JSON类型转为对应的dart类型\n String getType(v,Set set,String current){\n current=current.toLowerCase();\n if(v is bool){\n return \"bool\";\n }else if(v is num){\n return \"num\";\n }else if(v is Map){\n return \"Map\";\n }else if(v is List){\n return \"List\";\n }else if(v is String){ //处理特殊标志\n if(v.startsWith(\"$TAG[]\")){\n var className=changeFirstChar(v.substring(3),false);\n if(className.toLowerCase()!=current) {\n set.add('import \"$className.dart\"');\n }\n return \"List\";\n\n }else if(v.startsWith(TAG)){\n var fileName=changeFirstChar(v.substring(1),false);\n if(fileName.toLowerCase()!=current) {\n set.add('import \"$fileName.dart\"');\n }\n return changeFirstChar(fileName);\n }\n return \"String\";\n }else{\n return \"String\";\n }\n }\n\n//替换模板占位符\nString format(String fmt, List params) {\n int matchIndex = 0;\n String replace(Match m) {\n if (matchIndex \n\n写一个shell(mo.sh),将生成模板和生成model串起来:\ndart mo.dart\nflutter packages pub run build_runner build --delete-conflicting-outputs\n\n\n\n至此,我们的脚本写好了,我们在根目录下新建一个json目录,然后把user.json移进去,然后在lib目录下创建一个models目录,用于保存最终生成的Model类。现在我们只需要一句命令即可生成Model类了:\n./mo.sh\n运行后,一切都将自动执行,现在好多了,不是吗?\n嵌套JSON\n我们定义一个person.json内容修改为:\n{\n \"name\": \"John Smith\",\n \"email\": \"john@example.com\",\n \"mother\":{\n \"name\": \"Alice\",\n \"email\":\"alice@example.com\"\n },\n \"friends\":[\n {\n \"name\": \"Jack\",\n \"email\":\"Jack@example.com\"\n },\n {\n \"name\": \"Nancy\",\n \"email\":\"Nancy@example.com\"\n }\n ]\n}\n\n每个Person都有name 、email 、 mother和friends四个字段,由于mother也是一个Person,朋友是多个Person(数组),所以我们期望生成的Model是下面这样:\nimport 'package:json_annotation/json_annotation.dart';\npart 'person.g.dart';\n\n@JsonSerializable()\nclass Person {\n Person();\n\n String name;\n String email;\n Person mother;\n List friends;\n\n factory Person.fromJson(Map json) => _$PersonFromJson(json);\n Map toJson() => _$PersonToJson(this);\n}\n\n这时,我们只需要简单修改一下JSON,添加一些特殊标志,重新运行mo.sh即可:\n{\n \"name\": \"John Smith\",\n \"email\": \"john@example.com\",\n \"mother\":\"$person\",\n \"friends\":\"$[]person\"\n}\n\n我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的TAG常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给User添加一个Person类型的 boss字段:\n{\n \"name\": \"John Smith\",\n \"email\": \"john@example.com\",\n \"boss\":\"$person\"\n}\n\n重新运行mo.sh,生成的user.dart如下:\nimport 'package:json_annotation/json_annotation.dart';\nimport \"person.dart\";\npart 'user.g.dart';\n\n@JsonSerializable()\n\nclass User {\n User();\n\n String name;\n String email;\n Person boss;\n\n factory User.fromJson(Map json) => _$UserFromJson(json);\n Map toJson() => _$UserToJson(this);\n}\n\n可以看到,boss字段已自动添加,并自动导入了“person.dart”。\n使用IDE插件生成model\n目前Android Studio(或IntelliJ)有一个插件,它可以自动将Json转为model,该插件会对嵌套Json也会生成model。这个特性在有些时候可能会引起重定义,如两个Json都内嵌了一个user的对象时,会导致user model在不同的文件中会被定义两次,需要开发者手动去重。\nFAQ\n很多人可能会问Flutter中有没有像Java开发中的Gson/Jackson一样的Json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰Dart的tree shaking,使用tree shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tree shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以Flutter中禁用了Dart的反射功能,而正因如此也就无法实现动态转化Model的功能。\n"},"chapter11/":{"url":"chapter11/","title":"包与插件","keywords":"","body":"包与插件\n\n开发package\n插件开发:平台通道简介\n插件开发:实现Android端API\n插件开发:实现IOS端API\n\n"},"chapter11/develop_package.html":{"url":"chapter11/develop_package.html","title":"开发package","keywords":"","body":"Package\n使用package可以创建共享的模块化代码。一个最小的package包括:\n\n一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。\n一个 lib 文件夹:包括包中公开的(public)代码,最少应有一个.dart文件\n\nFlutter Packages分为两类:\n\nDart包:其中一些可能包含Flutter的特定功能,因此对Flutter框架具有依赖性,这种包仅用于Flutter,例如fluro包。\n插件包:一种专用的Dart包,其中包含用Dart代码编写的API,以及针对Android(使用Java或Kotlin)和针对iOS(使用OC或Swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。\n\n注意,虽然Flutter的Dart运行时和Dart VM运行时不是完全相同,但是如果Package中没有涉及这些存在差异的部分,那么这样的包可以同时支持Flutter和Dart VM,如Dart http网络库dio. \n开发Dart包\n第一步:创建Dart包\n您可以通过Android Studio:File>New>New Flutter Project 来创建:\n\n您也可以通过使用--template=package 来执行 flutter create 命令来创建:\nflutter create --template=package hello\n\n这将在hello/文件夹下创建一个具有以下专用内容的package工程:\n\nlib/hello.dart:Package的Dart代码\n\ntest/hello_test.dart:Package的单元测试代码。\n\n\n实现package\n对于纯Dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可 。要测试软件包,请在test目录中添加unit tests。下面我们看看如何组织Package包的代码,我们以shelf Package为例,它的目录结构如下:\n\n在lib根目录下的shelf.dart中,导出了多个lib/src目录下的dart文件:\nexport 'src/cascade.dart';\nexport 'src/handler.dart';\nexport 'src/handlers/logger.dart';\nexport 'src/hijack_exception.dart';\nexport 'src/middleware.dart';\nexport 'src/pipeline.dart';\nexport 'src/request.dart';\nexport 'src/response.dart';\nexport 'src/server.dart';\nexport 'src/server_handler.dart';\n\n而Package中主要的功能的源码都在src目录下。shelf Package也导出了一个迷你库: shelf_io,它主要是处理HttpRequest的。\n导入包\n当需要使用这个Package时,我们可以通过\"package:\"指令来指定包的入口文件:\nimport 'package:utilities/utilities.dart';\n\n同一个包中的源码文件之间也可以使用相对路径来导入。\n生成文档\n可以使用 dartdoc 工具来为Package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成API文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如:\n/// The event handler responsible for updating the badge in the UI.\nvoid updateBadge() {\n ...\n}\n\n详细的文档语法请参考dartdoc 。\n处理包的相互依赖\n如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。 下面的代码使url_launcher插件的API在hello包中是可用的:\n在 hello/pubspec.yaml中:\ndependencies:\n url_launcher: ^0.4.2\n\n现在可以在hello中import 'package:url_launcher/url_launcher.dart' 然后调用 launch()方法了。\n这与在Flutter应用程序或任何其他Dart项目中引用软件包没有什么不同。\n但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的API,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。\nAndroid\n在 hello/android/build.gradle:\nandroid {\n // lines skipped\n dependencies {\n provided rootProject.findProject(\":url_launcher\")\n }\n}\n\n您现在可以在hello/android/src源码中import io.flutter.plugins.urllauncher.UrlLauncherPlugin访问UrlLauncherPlugin类。\niOS\n在hello/ios/hello.podspec:\nPod::Spec.new do |s|\n # lines skipped\n s.dependency 'url_launcher'\n\n您现在可以在hello/ios/Classes源码中 #import \"UrlLauncherPlugin.h\" 然后访问 UrlLauncherPlugin类。\n解决依赖冲突\n假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。 那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。\ndependencies:\n url_launcher: ^0.4.2 # 这样会较好, 任何0.4.x(x >= 2)都可.\n image_picker: '0.1.1' # 不是很好,只有0.1.1版本.\n\n如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。 \n即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。 你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本:\n强制使用 0.4.3版本的url_launcher,在 hello/pubspec.yaml中:\ndependencies:\n some_package:\n other_package:\ndependency_overrides:\n url_launcher: '0.4.3'\n\n如果冲突的依赖不是一个包,而是一个特定于Android的库,比如guava,那么必须将依赖重写声明添加到Gradle构建逻辑中。\n强制使用23.0版本的guava库,在hello/android/build.gradle中:\nconfigurations.all {\n resolutionStrategy {\n force 'com.google.guava:guava:23.0-android'\n }\n}\n\nCocoapods目前不提供依赖覆盖功能。\n发布Package\n一旦实现了一个包,我们可以在Pub上发布它 ,这样其他开发者就可以轻松使用它。\n在发布之前,检查pubspec.yaml、README.md以及CHANGELOG.md文件,以确保其内容的完整性和正确性。然后,运行 dry-run 命令以查看是否都准备OK了:\nflutter packages pub publish --dry-run\n\n验证无误后,我们就可以运行发布命令了:\nflutter packages pub publish\n\n\n如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用VPN,这里需要注意的是一些代理只会代理部分APP的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到Pub,因此,在发布Pub包时使用全局代理或全局VPN会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。\n\n"},"chapter11/platform-channel.html":{"url":"chapter11/platform-channel.html","title":"插件开发:平台通道简介","keywords":"","body":"插件开发:平台通道简介\n所谓“平台特定”或“特定平台”,平台指的就是指Flutter运行的平台,如Android或IOS,可以认为就是应用的原生部分。所以,平台通道正是Flutter和原生之间通信的桥梁,它也是Flutter插件的底层基础设施。\nFlutter使用了一个灵活的系统,允许您调用特定平台的API,无论在Android上的Java或Kotlin代码中,还是iOS上的ObjectiveC或Swift代码中均可用。\nFlutter与原生之间的通信依赖灵活的消息传递方式:\n\n应用的Flutter部分通过平台通道(platform channel)将消息发送到其应用程序的所在的宿主(iOS或Android)应用(原生应用)。\n宿主监听平台通道,并接收该消息。然后它会调用该平台的API,并将响应发送回客户端,即应用程序的Flutter部分。\n\n平台通道\n使用平台通道在Flutter(client)和原生(host)之间传递消息,如下图所示:\n\n当在Flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给Flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。\n在客户端,MethodChannel API 可以发送与方法调用相对应的消息。 在宿主平台上,MethodChannel 在Android API 和 FlutterMethodChannel iOS API可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。\n\n注意: 如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用Dart中实现的API。 quick_actions插件就是一个具体的例子。\n\n平台通道数据类型支持\n平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于Dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。\n\n\n\nDart\nAndroid\niOS\n\n\n\n\nnull\nnull\nnil (NSNull when nested)\n\n\nbool\njava.lang.Boolean\nNSNumber numberWithBool:\n\n\nint\njava.lang.Integer\nNSNumber numberWithInt:\n\n\nint, if 32 bits not enough\njava.lang.Long\nNSNumber numberWithLong:\n\n\nint, if 64 bits not enough\njava.math.BigInteger\nFlutterStandardBigInteger\n\n\ndouble\njava.lang.Double\nNSNumber numberWithDouble:\n\n\nString\njava.lang.String\nNSString\n\n\nUint8List\nbyte[]\nFlutterStandardTypedData typedDataWithBytes:\n\n\nInt32List\nint[]\nFlutterStandardTypedData typedDataWithInt32:\n\n\nInt64List\nlong[]\nFlutterStandardTypedData typedDataWithInt64:\n\n\nFloat64List\ndouble[]\nFlutterStandardTypedData typedDataWithFloat64:\n\n\nList\njava.util.ArrayList\nNSArray\n\n\nMap\njava.util.HashMap\nNSDictionary\n\n\n\n 当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。\n开发Flutter插件\n使用平台通道调用原生代码\n下面我们通过一个获取电池电量的插件来介绍一下Flutter插件的开发流程。该插件中我们在Dart中通过getBatteryLevel 调用Android BatteryManager API和iOS device.batteryLevel API。 \n创建一个新的应用程序项目\n首先创建一个新的应用程序:\n\n在终端中运行:flutter create batterylevel\n\n默认情况下,模板支持使用Java编写Android代码,或使用Objective-C编写iOS代码。要使用Kotlin或Swift,请使用-i和/或-a标志:\n\n在终端中运行: flutter create -i swift -a kotlin batterylevel\n\n创建Flutter平台客户端\n该应用的State类拥有当前的应用状态。我们需要延长这一点以保持当前的电量\n首先,我们构建通道。我们使用MethodChannel调用一个方法来返回电池电量。\n通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的; 我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。\nimport 'dart:async';\n\nimport 'package:flutter/material.dart';\nimport 'package:flutter/services.dart';\n...\nclass _MyHomePageState extends State {\n static const platform = const MethodChannel('samples.flutter.io/battery');\n\n // Get battery level.\n}\n\n接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getBatteryLevel。 该调用可能失败(平台不支持平台API,例如在模拟器中运行时),所以我们将invokeMethod调用包装在try-catch语句中。\n我们使用返回的结果,在setState中来更新用户界面状态batteryLevel。\n // Get battery level.\n String _batteryLevel = 'Unknown battery level.';\n\n Future _getBatteryLevel() async {\n String batteryLevel;\n try {\n final int result = await platform.invokeMethod('getBatteryLevel');\n batteryLevel = 'Battery level at $result % .';\n } on PlatformException catch (e) {\n batteryLevel = \"Failed to get battery level: '${e.message}'.\";\n }\n\n setState(() {\n _batteryLevel = batteryLevel;\n });\n }\n\n最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。\n@override\nWidget build(BuildContext context) {\n return new Material(\n child: new Center(\n child: new Column(\n mainAxisAlignment: MainAxisAlignment.spaceEvenly,\n children: [\n new RaisedButton(\n child: new Text('Get Battery Level'),\n onPressed: _getBatteryLevel,\n ),\n new Text(_batteryLevel),\n ],\n ),\n ),\n );\n}\n\n在接下来的两节中,我们会分别介绍Android和iOS端API的实现。\n自定义平台通道和编解码器\n除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodec、StringCodec和 JSONMessageCodec类,或创建自己的编解码器。\n"},"chapter11/android_implement.html":{"url":"chapter11/android_implement.html","title":"插件开发:实现Android端API","keywords":"","body":"插件开发:Android端API实现\n本节我们接着上一节\"获取电池电量\"插件的示例,来完成Android端API的实现。以下步骤是使用Java的示例,如果您更喜欢Kotlin,可以直接跳到后面Kotlin部分。\n首先在Android Studio中打开您的Flutter应用的Android部分:\n\n启动 Android Studio\n选择 File > Open…\n定位到您 Flutter app目录, 然后选择里面的 android文件夹,点击 OK\n在java目录下打开 MainActivity.java\n\n接下来,在onCreate里创建MethodChannel并设置一个MethodCallHandler。确保使用和Flutter客户端中使用的通道名称相同的名称。\nimport io.flutter.app.FlutterActivity;\nimport io.flutter.plugin.common.MethodCall;\nimport io.flutter.plugin.common.MethodChannel;\nimport io.flutter.plugin.common.MethodChannel.MethodCallHandler;\nimport io.flutter.plugin.common.MethodChannel.Result;\n\npublic class MainActivity extends FlutterActivity {\n private static final String CHANNEL = \"samples.flutter.io/battery\";\n\n @Override\n public void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(\n new MethodCallHandler() {\n @Override\n public void onMethodCall(MethodCall call, Result result) {\n // TODO\n }\n });\n }\n}\n\n接下来,我们添加Java代码,使用Android电池API来获取电池电量。此代码和在原生Android应用中编写的代码完全相同。\n首先,添加需要导入的依赖。\nimport android.content.ContextWrapper;\nimport android.content.Intent;\nimport android.content.IntentFilter;\nimport android.os.BatteryManager;\nimport android.os.Build.VERSION;\nimport android.os.Build.VERSION_CODES;\nimport android.os.Bundle;\n\n然后,将下面的新方法添加到activity类中的,位于onCreate 方法下方:\nprivate int getBatteryLevel() {\n int batteryLevel = -1;\n if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {\n BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);\n batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);\n } else {\n Intent intent = new ContextWrapper(getApplicationContext()).\n registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));\n batteryLevel = (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) /\n intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);\n }\n\n return batteryLevel;\n}\n\n最后,我们完成之前添加的onMethodCall方法。我们需要处理平台方法名为getBatteryLevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的Android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的API,我们也会通知返回:\n@Override\npublic void onMethodCall(MethodCall call, Result result) {\n if (call.method.equals(\"getBatteryLevel\")) {\n int batteryLevel = getBatteryLevel();\n\n if (batteryLevel != -1) {\n result.success(batteryLevel);\n } else {\n result.error(\"UNAVAILABLE\", \"Battery level not available.\", null);\n }\n } else {\n result.notImplemented();\n }\n}\n\n现在就可以在Android上运行该应用程序了,如果使用的是Android模拟器,则可以通过工具栏中的\"...\"按钮访问Extended Controls面板中的电池电量。\n使用Kotlin添加Android平台特定的实现\n使用Kotlin和使用Java的步骤类似,首先在Android Studio中打开您的Flutter应用的Android部分:\n\n启动 Android Studio。\n选择 the menu item \"File > Open…\"。\n定位到 Flutter app目录, 然后选择里面的 android文件夹,点击 OK。\n在kotlin目录中打开MainActivity.kt。\n\n接下来,在onCreate里创建MethodChannel并设置一个MethodCallHandler。确保使用与在Flutter客户端使用的通道名称相同。\nimport android.os.Bundle\nimport io.flutter.app.FlutterActivity\nimport io.flutter.plugin.common.MethodChannel\nimport io.flutter.plugins.GeneratedPluginRegistrant\n\nclass MainActivity() : FlutterActivity() {\n private val CHANNEL = \"samples.flutter.io/battery\"\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n GeneratedPluginRegistrant.registerWith(this)\n\n MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result ->\n // TODO\n }\n }\n}\n\n接下来,我们添加Kotlin代码,使用Android电池API来获取电池电量,这和原生开发是一样的。\n首先,添加需要导入的依赖。\nimport android.content.Context\nimport android.content.ContextWrapper\nimport android.content.Intent\nimport android.content.IntentFilter\nimport android.os.BatteryManager\nimport android.os.Build.VERSION\nimport android.os.Build.VERSION_CODES\n\n然后,将下面的新方法添加到activity类中的,位于onCreate 方法下方:\n private fun getBatteryLevel(): Int {\n val batteryLevel: Int\n if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {\n val batteryManager = getSystemService(Context.BATTERY_SERVICE) as BatteryManager\n batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY)\n } else {\n val intent = ContextWrapper(applicationContext).registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))\n batteryLevel = intent!!.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100 / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1)\n }\n\n return batteryLevel\n }\n\n最后,我们完成之前添加的onMethodCall方法。我们需要处理平台方法名为getBatteryLevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的Android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的API,我们也会通知返回:\n​ \nMethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result ->\n if (call.method == \"getBatteryLevel\") {\n val batteryLevel = getBatteryLevel()\n if (batteryLevel != -1) {\n result.success(batteryLevel)\n } else {\n result.error(\"UNAVAILABLE\", \"Battery level not available.\", null)\n }\n } else {\n result.notImplemented()\n }\n}\n\n您现在就可以在Android上运行该应用程序。如果您使用的是Android模拟器,则可以通过工具栏中的\"...\"按钮访问Extended Controls面板中的电池电量。\n"},"chapter11/ios_implement.html":{"url":"chapter11/ios_implement.html","title":"插件开发:实现IOS端API","keywords":"","body":"插件开发:iOS端API实现\n本节我们接着之前\"获取电池电量\"插件的示例,来完成iOS端API的实现。以下步骤使用Objective-C,如果您更喜欢Swift,可以直接跳到后面Swift部分。\n首先打开Xcode中Flutter应用程序的iOS部分:\n\n启动 Xcode\n选择 File > Open…\n定位到您 Flutter app目录, 然后选择里面的 iOS文件夹,点击 OK\n确保Xcode项目的构建没有错误。\n选择 Runner > Runner ,打开AppDelegate.m\n\n接下来,在application didFinishLaunchingWithOptions:方法内部创建一个FlutterMethodChannel,并添加一个处理方法。 确保与在Flutter客户端使用的通道名称相同。\n#import \n\n@implementation AppDelegate\n- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {\n FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController;\n\n FlutterMethodChannel* batteryChannel = [FlutterMethodChannel\n methodChannelWithName:@\"samples.flutter.io/battery\"\n binaryMessenger:controller];\n\n [batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) {\n // TODO\n }];\n\n return [super application:application didFinishLaunchingWithOptions:launchOptions];\n}\n\n接下来,我们添加Objective-C代码,使用iOS电池API来获取电池电量,这和原生是相同的。\n在AppDelegate类中添加以下新的方法:\n- (int)getBatteryLevel {\n UIDevice* device = UIDevice.currentDevice;\n device.batteryMonitoringEnabled = YES;\n if (device.batteryState == UIDeviceBatteryStateUnknown) {\n return -1;\n } else {\n return (int)(device.batteryLevel * 100);\n }\n}\n\n最后,我们完成之前添加的setMethodCallHandler方法。我们需要处理的平台方法名为getBatteryLevel,所以我们在call参数中需要先判断是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的iOS代码,并使用result参数返回成功或错误的响应。如果调用了未定义的API,我们也会通知返回:\n[batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) {\n if ([@\"getBatteryLevel\" isEqualToString:call.method]) {\n int batteryLevel = [self getBatteryLevel];\n\n if (batteryLevel == -1) {\n result([FlutterError errorWithCode:@\"UNAVAILABLE\"\n message:@\"电池信息不可用\"\n details:nil]);\n } else {\n result(@(batteryLevel));\n }\n } else {\n result(FlutterMethodNotImplemented);\n }\n}];\n\n现在可以在iOS上运行该应用程序了,如果使用的是iOS模拟器,请注意,它不支持电池API,因此应用程序将显示“电池信息不可用”。\n使用Swift实现iOS API\n以下步骤与上面使用Objective-C相似,首先打开Xcode中Flutter应用程序的iOS部分:\n\n启动 Xcode\n选择 File > Open…\n定位到您 Flutter app目录, 然后选择里面的 ios文件夹,点击 OK\n确保Xcode项目的构建没有错误。\n选择 Runner > Runner ,然后打开AppDelegate.swift\n\n接下来,覆盖application方法并创建一个FlutterMethodChannel绑定通道名称samples.flutter.io/battery:\n@UIApplicationMain\n@objc class AppDelegate: FlutterAppDelegate {\n override func application(\n _ application: UIApplication,\n didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n GeneratedPluginRegistrant.register(with: self);\n\n let controller : FlutterViewController = window?.rootViewController as! FlutterViewController;\n let batteryChannel = FlutterMethodChannel.init(name: \"samples.flutter.io/battery\",\n binaryMessenger: controller);\n batteryChannel.setMethodCallHandler({\n (call: FlutterMethodCall, result: FlutterResult) -> Void in\n // Handle battery messages.\n });\n\n return super.application(application, didFinishLaunchingWithOptions: launchOptions);\n }\n}\n\n接下来,我们添加Swift代码,使用iOS电池API来获取电池电量,这和原生开发是相同的。\n将以下新方法添加到AppDelegate.swift底部:\nprivate func receiveBatteryLevel(result: FlutterResult) {\n let device = UIDevice.current;\n device.isBatteryMonitoringEnabled = true;\n if (device.batteryState == UIDeviceBatteryState.unknown) {\n result(FlutterError.init(code: \"UNAVAILABLE\",\n message: \"电池信息不可用\",\n details: nil));\n } else {\n result(Int(device.batteryLevel * 100));\n }\n}\n\n最后,我们完成之前添加的setMethodCallHandler方法。我们需要处理的平台方法名为getBatteryLevel,所以我们在call参数中需要先判断是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的iOS代码,并使用result参数返回成功或错误的响应。如果调用了未定义的API,我们也会通知返回:\nbatteryChannel.setMethodCallHandler({\n (call: FlutterMethodCall, result: FlutterResult) -> Void in\n if (\"getBatteryLevel\" == call.method) {\n receiveBatteryLevel(result: result);\n } else {\n result(FlutterMethodNotImplemented);\n }\n});\n\n现在可以在iOS上运行应用程序,如果使用的是iOS模拟器,请注意,它不支持电池API,因此应用程序将显示“电池信息不可用”。\n"},"todo.html":{"url":"todo.html","title":"系统能力调用","keywords":"","body":"提示\n本文档尚未完成,您可以:\n\n去Flutter中文网查看相关内容。\n您想补充此文档?可以查看《Flutter实战》开源项目\"贡献须知\"。\n点击下面的\"赏\"按钮,请作者喝杯咖啡,鼓励继续创作~~\n\n"},"chapter12/":{"url":"chapter12/","title":"国际化","keywords":"","body":"本章目录\n\n让App支持多语言\n实现Localizations \n使用Intl包 \n\n"},"chapter12/multi_languages_support.html":{"url":"chapter12/multi_languages_support.html","title":"让App支持多语言","keywords":"","body":"让App支持多语言\n如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。Flutter提供一些widget和类以帮助实现国际化,而Flutter的库本身也是国际化的。\n接下来我们以MaterialApp类为入口的应用来说明如何支持国际化。\n\n大多数应用程序都是通过MaterialApp为入口,但根据低级别的WidgetsApp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。MaterialApp实际上也是WidgetsApp的一个包装。\n\n支持国际化\n默认情况下,Flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为“flutter_localizations”的包。 截至2018年5月,该包支持24种语言。要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中:\ndependencies:\n flutter:\n sdk: flutter\n flutter_localizations:\n sdk: flutter\n\n接下来,下载flutter_localizations库,然后指定MaterialApp的localizationsDelegates和supportedLocales:\nimport 'package:flutter_localizations/flutter_localizations.dart';\n\nnew MaterialApp(\n localizationsDelegates: [\n // 本地化的代理类\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n ],\n supportedLocales: [\n const Locale('en', 'US'), // 美国英语\n const Locale('zh', 'CN'), // 中文简体\n //其它Locales\n ],\n // ...\n)\n\n基于WidgetsApp的应用程序类似,只是不需要GlobalMaterialLocalizations.delegate。\nlocalizationsDelegates列表中的元素是生成本地化值集合的工厂。GlobalMaterialLocalizations.delegate 为Material 组件库提供的本地化的字符串和其他值,它可以使Material Widget支持多语言。 GlobalWidgetsLocalizations.delegate定义widget默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。\n获取当前区域Locale\nLocale类是用来标识用户的语言环境的,它包括语言和国家两个标志如:\nconst Locale('zh', 'CN') // 中文简体\n\n我们始终可以通过以下方式来获取应用的当前区域Locale:\nLocale myLocale = Localizations.localeOf(context);\n\nLocalizations Widget一般位于Widget树中其它业务组件的顶部,它的作用是定义区域Locale以及设置子树依赖的本地化资源。 如果系统的语言环境发生变化,WidgetsApp将创建一个新的Localizations Widget并重建它,这样子树中通过Localizations.localeOf(context) 获取的Locale就会更新。\n监听系统语言切换\n当我们更改系统语言设置时,APP中的Localizations widget会重新构建,Localizations.localeOf(context)` 获取的Locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,这时我们就需要监听locale改变事件。\n我们可以通过localeResolutionCallback或localeListResolutionCallback回调来监听locale改变的事件,我们先看看localeResolutionCallback的回调函数签名:\nLocale Function(Locale locale, Iterable supportedLocales)\n\n\n参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定APP的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如:\nMaterialApp(\n ...\n locale: const Locale('en', 'US'), //手动指定locale\n ...\n)\n\n上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。\n如果locale为null,则表示Flutter未能获取到设备的Locale信息,所以我们在使用locale之前一定要先判空。\n\nsupportedLocales 为当前应用支持的locale列表,是开发者在MaterialApp中通过supportedLocales属性注册的。\n\n返回值是一个Locale,此Locale为Flutter APP最终的Locale。通常在不支持的语言区域时返回一个默认的Locale。\n\n\nlocaleListResolutionCallback和localeResolutionCallback唯一的不同就在第一个参数类型,前者接收的是一个Locale列表,而后者接收的是单个Locale。\nLocale Function(List locales, Iterable supportedLocales)\n\n在新版的Android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的Locale,如果某一种语言加载成功则会停止。下面是Android中设置语言列表的截图:\n\n在Flutter中,应该优先使用localeListResolutionCallback,当然你不必担心Android系统的差异性,如果在低版本的Android系统中,Flutter会自动处理这种情况,这时Locale列表只会包含一项。\nLocalization widget\nLocalizations widget用于加载和查找包含本地化值的对象。应用程序通过Localizations.of(context,type)来引用这些对象。 如果设备的Locale区域设置发生更改,则Localizations widget会自动加载新区域的Locale值,然后重新构建使用了它们的widget。 发生这种情况是因为Localizations内部使用了InheritedWidget ,当build函数引用了InheritedWidget时,会创建对InheritedWidget的隐式依赖关系。当InheritedWidget发生更改时,即Localizations widget的Locale设置发生更改时,将重建其依赖的上下文。\n本地化值由Localizations的 LocalizationsDelegates 列表加载 。 每个委托必须定义一个异步load() 方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。\n在大型应用程序中,不同模块或Package可能会与自己的本地化值捆绑在一起。 这就是为什么要用Localizations 管理对象表的原因。 要检索由LocalizationsDelegate load方法之一产生的对象,可以指定一个BuildContext和对象的类型。例如,Material 组件库的本地化字符串由MaterialLocalizations类定义, 此类的实例由MaterialApp类提供的LocalizationDelegate创建, 它们可以通过Localizations.of被获取到:\nLocalizations.of(context, MaterialLocalizations);\n\n这个特殊的Localizations.of()表达式会经常使用,所以MaterialLocalizations类提供了一个便捷方法:\nstatic MaterialLocalizations of(BuildContext context) {\n return Localizations.of(context, MaterialLocalizations);\n}\n\n// 可以直接调用便捷方法\ntooltip: MaterialLocalizations.of(context).backButtonTooltip,\n\n使用打包好的LocalizationsDelegates\n为了尽可能小而且简单,flutter软件包中仅提供美国英语值的MaterialLocalizations和WidgetsLocalizations接口的实现。 这些实现类分别称为DefaultMaterialLocalizations和DefaultWidgetsLocalizations。flutter_localizations Package包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现, 国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化Delegate。\n上述的GlobalMaterialLocalizations和GlobalWidgetsLocalizations只是Material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的Localizations,我们将在下一节介绍其具体的实现方式。\n"},"chapter12/locallization_implement.html":{"url":"chapter12/locallization_implement.html","title":"实现Localizations","keywords":"","body":"实现Localizations\n前面讲了Material组件库如何支持国际化,本节我们将介绍一下我们自己的UI中如何支持多语言。根据上节所述,我们需要实现两个类:一个Delegate类一个Localizations类,下面我们通过一个实例说明。\n实现Localizations类\n我们已经知道Localizations类中主要实现提供了本地化值,如文本:\n//Locale资源类\nclass DemoLocalizations {\n DemoLocalizations(this.isZh);\n //是否为中文\n bool isZh = false;\n //为了使用方便,我们定义一个静态方法\n static DemoLocalizations of(BuildContext context) {\n return Localizations.of(context, DemoLocalizations);\n }\n //Locale相关值,title为应用标题\n String get title {\n return isZh ? \"Flutter应用\" : \"Flutter APP\";\n }\n //... 其它的值 \n}\n\nDemoLocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。DemoLocalizations的实例将会在Delegate类的load方法中创建。\n实现Delegate类\nDelegate类的职责是在Locale改变时加载新的Locale资源,所以它有一个load方法,Delegate类需要继承自LocalizationsDelegate类,实现相应的接口,示例如下:\n//Locale代理类\nclass DemoLocalizationsDelegate extends LocalizationsDelegate {\n const DemoLocalizationsDelegate();\n\n //是否支持某个Local\n @override\n bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode);\n\n // Flutter会调用此类加载相应的Locale资源类\n @override\n Future load(Locale locale) {\n print(\"xxxx$locale\");\n return SynchronousFuture(\n DemoLocalizations(locale.languageCode == \"zh\")\n );\n }\n\n @override\n bool shouldReload(DemoLocalizationsDelegate old) => false;\n}\n\nshouldReload的返回值决定当Localizations Widget重新build时,是否调用load方法重新加载Locale资源。一般情况下,Locale资源只应该在Locale切换时加载一次,不需要每次在Localizations 重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在APP启动后用户再改变系统语言时load方法将不会被调用,所以Locale资源将不会被加载。事实上,每当Locale改变时Flutter都会再调用load方法加载新的Locale,无论shouldReload返回true还是false。\n最后一步:添加多语言支持\n和上一节中介绍的相同,我们现在需要先注册DemoLocalizationsDelegate类,然后再通过DemoLocalizations.of(context)来动态获取当前Locale文本。\n只需要在MaterialApp或WidgetsApp的localizationsDelegates列表中添加我们的Delegate实例即可完成注册:\nlocalizationsDelegates: [\n // 本地化的代理类\n GlobalMaterialLocalizations.delegate,\n GlobalWidgetsLocalizations.delegate,\n // 注册我们的Delegate\n DemoLocalizationsDelegate()\n],\n\n接下来我们可以在Widget中使用Locale值:\nreturn Scaffold(\n appBar: AppBar(\n //使用Locale title \n title: Text(DemoLocalizations.of(context).title),\n ),\n ... //省略无关代码\n )\n\n这样,当在美国英语和中文简体之间切换系统语言时,APP的标题将会分别为“Flutter APP”和“Flutter应用”。\n总结\n本节我们通过一个简单的示例说明了Flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在DemoLocalizations类中获取title时手动的判断当前语言Locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种Locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过Dart intl包来实现这些。\n"},"chapter12/intl.html":{"url":"chapter12/intl.html","title":"使用Intl包","keywords":"","body":"使用Intl包\n使用Intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用Intl包我们需要添加两个依赖:\ndependencies:\n #...省略无关项\n intl: ^0.15.7 \ndev_dependencies:\n #...省略无关项\n intl_translation: ^0.17.2\n\nintl_translation 包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用:\n第一步:创建必要目录\n首先,在项目根目录下创建一个i10n-arb目录,该目录保存我们接下来通过intl_translation命令生成的arb文件。一个简单的arb文件内容如下:\n{\n \"@@last_modified\": \"2018-12-10T15:46:20.897228\",\n \"@@locale\":\"zh_CH\",\n \"title\": \"Flutter应用\",\n \"@title\": {\n \"description\": \"Title for the Demo application\",\n \"type\": \"text\",\n \"placeholders\": {}\n }\n}\n\n我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。\n接下来,我们在lib目录下创建一个i10n的目录,该目录用于保存从arb文件生成的dart代码文件。\n第二步:实现Localizations和Delegate类\n和上一节中的步骤类似,我们仍然要实现Localizations和Delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。\n下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下:\nimport 'package:flutter/material.dart';\nimport 'package:intl/intl.dart';\nimport 'messages_all.dart'; //1\n\nclass DemoLocalizations {\n static Future load(Locale locale) {\n final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();\n final String localeName = Intl.canonicalizedLocale(name);\n //2\n return initializeMessages(localeName).then((b) {\n Intl.defaultLocale = localeName;\n return new DemoLocalizations();\n });\n }\n\n static DemoLocalizations of(BuildContext context) {\n return Localizations.of(context, DemoLocalizations);\n }\n\n String get title {\n return Intl.message(\n 'Flutter APP',\n name: 'title',\n desc: 'Title for the Demo application',\n );\n }\n}\n\n//Locale代理类\nclass DemoLocalizationsDelegate extends LocalizationsDelegate {\n const DemoLocalizationsDelegate();\n\n //是否支持某个Local\n @override\n bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode);\n\n // Flutter会调用此类加载相应的Locale资源类\n @override\n Future load(Locale locale) {\n //3\n return DemoLocalizations.load(locale);\n }\n\n // 当Localizations Widget重新build时,是否调用load重新加载Locale资源.\n @override\n bool shouldReload(DemoLocalizationsDelegate old) => false;\n}\n\n注意:\n\n注释1的\"messages_all.dart\"文件是通过intl_translation工具从arb文件生成的代码,所以在第一次运行生成命令之前,此文件不存在。注释2处的initializeMessages()方法和\"messages_all.dart\"文件一样,是同时生成的。\n注释3处和上一节示例代码不同,这里我们直接调用DemoLocalizations.load()即可。\n\n第三部:添加需要国际化的属性\n现在我们可以在DemoLocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到Intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同:\n\n\n\n未读邮件数\n提示语\n\n\n\n\n0\nThere are no emails left\n\n\n1\nThere is 1 email left\n\n\nn(n>1)\nThere are n emails left\n\n\n\n我们可以通过Intl.plural(...)来实现:\nremainingEmailsMessage(int howMany) => Intl.plural(howMany,\n zero: 'There are no emails left',\n one: 'There is $howMany email left',\n other: 'There are $howMany emails left',\n name: \"remainingEmailsMessage\",\n args: [howMany],\n desc: \"How many emails remain after archiving.\",\n examples: const {'howMany': 42, 'userName': 'Fred'});\n\n可以看到通过Intl.plural方法可以在howMany值不同时输出不同的提示信息。\nIntl包还有一些其他的方法,读者可以自行查看其文档,本书不在赘述。\n第四步:生成arb文件\n现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名:\nflutter pub pub run intl_translation:extract_to_arb --output-dir=i10n-arb \\ lib/i10n/localization_intl.dart\n\n运行此命令后,会将我们之前通过Intl API标识的属性和字符串提取到“i10n-arb/intl_messages.arb”文件中,我们看看其内容:\n{\n \"@@last_modified\": \"2018-12-10T17:37:28.505088\",\n \"title\": \"Flutter APP\",\n \"@title\": {\n \"description\": \"Title for the Demo application\",\n \"type\": \"text\",\n \"placeholders\": {}\n },\n \"remainingEmailsMessage\": \"{howMany,plural, =0{There are no emails left}=1{There is {howMany} email left}other{There are {howMany} emails left}}\",\n \"@remainingEmailsMessage\": {\n \"description\": \"How many emails remain after archiving.\",\n \"type\": \"text\",\n \"placeholders\": {\n \"howMany\": {\n \"example\": 42\n }\n }\n }\n}\n\n这个是默认的Locale资源文件,如果我们现在要支持中文简体,只需要在该文件同级目录创建一个\"intl_zh_CN.arb\"文件,然后将\"intl_messages.arb\"的内容拷贝到\"intl_zh_CN.arb\"文件,接下来将英文翻译为中文即可,翻译后的\"intl_zh_CN.arb\"文件内容如下:\n{\n \"@@last_modified\": \"2018-12-10T15:46:20.897228\",\n \"@@locale\":\"zh_CH\",\n \"title\": \"Flutter应用\",\n \"@title\": {\n \"description\": \"Title for the Demo application\",\n \"type\": \"text\",\n \"placeholders\": {}\n },\n \"remainingEmailsMessage\": \"{howMany,plural, =0{没有未读邮件}=1{有{howMany}封未读邮件}other{有{howMany}封未读邮件}}\",\n \"@remainingEmailsMessage\": {\n \"description\": \"How many emails remain after archiving.\",\n \"type\": \"text\",\n \"placeholders\": {\n \"howMany\": {\n \"example\": 42\n }\n }\n }\n}\n\n我们必须要翻译title和remainingEmailsMessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。\n有两点需要说明:\n\n如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是Intl的托底策略。\n每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。\narb文件是标准的,其格式规范可以自行了解。通常会将arb文件交给翻译人员,当他们完成翻译后,我们再通过下面的步骤根据arb文件生成最终的dart代码。\n\n第五步:生成dart代码\n最后一步就是根据arb生成dart文件:\nflutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i10n --no-use-deferred-loading lib/i10n/localization_intl.dart i10n-arb/intl_*.arb\n\n这句命令在首次运行时会在\"lib/i10n\"目录下生成多个文件,对应多种Locale,这些代码便是最终要使用的dart代码。\n总结\n至此,我们将使用Intl包对APP进行国际化的流程介绍完了,我们可以发现,其中第一步和第二步只在第一次需要,而我们开发时的主要的工作都是在第三步。由于最后两步在第三步完成后每次也都需要,所以我们可以将最后两步放在一个shell脚本里,当我们完成第三步或完成arb文件翻译后只需要分别执行该脚本即可。我们在根目录下创建一个intl.sh的脚本,内容为:\nflutter pub pub run intl_translation:extract_to_arb --output-dir=i10n-arb lib/i10n/localization_intl.dart\nflutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i10n --no-use-deferred-loading lib/i10n/localization_intl.dart i10n-arb/intl_*.arb\n\n然后授予执行权限:\nchmod +x intl.sh\n\n执行intl.sh\n./intl.sh\n\n"},"chapter14/":{"url":"chapter14/","title":"Flutter核心原理","keywords":"","body":"本章目录\n\nFlutter UI系统\nElement和BuildContext\nRenderObject和RenderBox\nFlutter从启动到显示\n\n"},"chapter14/flutter_ui_system.html":{"url":"chapter14/flutter_ui_system.html","title":"Flutter UI系统","keywords":"","body":"Flutter UI系统\n在本书的前面章节中,我们多次提到\"UI系统\"这个概念,本书中所指的UI系统特指:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。我们说过各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍Flutter UI系统之前,我们先看看UI系统的基本原理,这样可以帮助读者对操作系统和系统底层UI逻辑有一个清晰的认识。\nUI系统原理\n硬件绘图基本原理\n提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。\n一个像素点能发出的所有颜色总数是显示器的一个重要指标,比如我们所说的1600万色的屏幕就是指一个像素点可以显示出1600万种颜色,而显示器颜色是有RGB三基色组成,所以1600万即2的24次方,即每个基本色(R、G、B)深度扩展至8 bit(位),颜色深度越深,所能显示的色彩更加丰富靓丽。\n为了更新显示画面,显示器是以固定的频率刷新(从GPU取数据),比如有一部手机屏幕的刷新频率是 60Hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如VSync), 60Hz的屏幕就会一秒内发出 60次这样的信号。而这个信号主要是用于同步CPU、GPU和显示器的。一般地来说,计算机系统中,CPU、GPU和显示器以一种特定的方式协作:CPU将计算好的显示内容提交给 GPU,GPU渲染后放入帧缓冲区,然后视频控制器按照同步信号从帧缓冲区取帧数据传递给显示器显示。\nCPU和GPU的任务是各有偏重的,CPU主要用于基本数学和逻辑计算,而GPU主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,GPU的主要作用就是确定最终输送给显示器的各个像素点的色值。\n操作系统绘制API的封装\n由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的API供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的API是比较复杂和低效的,因为操作系统提供的API往往比较基础,直接调用需要了解API的很多细节。正是因为这个原因,几乎所有用于开发GUI程序的编程语言都会在操作系统之上再封装一层,将操作系统原生API封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发GUI应用程序,而这一层抽象,正是我们所说的“UI”系统,如Android SDK正是封装了Android操作系统API,提供了一个“UI描述文件XML+Java操作DOM”的UI系统,而iOS的UIKit 对View的抽象也是一样的,他们都将操作系统API抽象成一个基础对象(如用于2D图形绘制的Canvas),然后再定义一套规则来描述UI,如UI树结构,UI操作的单线程原则等。\nFlutter UI系统\n我们可以看到,无论是Android SDK还是iOS的UIKit 的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个UI系统:可以使用同一种编程语言开发,然后针对不同操作系统API抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而Flutter的原理正是如此,它提供了一套Dart API,然后在底层通过OpenGL这种跨平台的绘制库(内部会调用操作系统API)实现了一套代码跨多端。由于Dart API也是调用操作系统API,所以它的性能接近原生。\n\n注意,虽然Dart是先调用了OpenGL,OpenGL才会调用操作系统API,但是这仍然是原生渲染,因为OpenGL只是操作系统API的一个封装库,它并不像WebView渲染那样需要JavaScript运行环境和CSS渲染器,所以不会有性能损失。\n\n至此,我们已经介绍了Flutter UI系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了, 简单概括就是:组合和响应式。我们要开发一个UI界面,需要通过组合其它Widget来实现,Flutter中,一切都是Widget,当UI要发生变化时,我们不去直接修改DOM,而是通过更新状态,让Flutter UI系统来根据新的状态来重新构建UI。\n讲到这里,读者可能发现Flutter UI系统和Flutter Framework的概念是差不多的,的确如此,之所以用“UI系统”,是因为其他平台中可能不这么叫,我们只是为了概念统一,便于描述,读者不必纠结于概念本身。\n在接下来的小节中,我们先详细介绍一下Element、RenderObject,它们是组成Flutter UI系统的基石。最后我们在分析一下Flutter应用启动和运行的整体过程。\n"},"chapter14/element_buildcontext.html":{"url":"chapter14/element_buildcontext.html","title":"Element和BuildContext","keywords":"","body":"Element与BuildContext\nElement\n在“Widget简介”一节,我们介绍了Widget和Element的关系,我们知道最终的UI树其实是由一个个独立的Element节点构成。我们也知道了组件最终的Layout、渲染都是通过RenderObject来完成的,从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element.renderObject属性上,最后再通过RenderObject来完成布局排列和绘制。\nElement就是Widget在UI树具体位置的一个实例化对象,大多数Element只有唯一的renderObject,但还有一些Element会有多个子节点,如继承自RenderObjectElement的一些类,比如MultiChildRenderObjectElement。最终所有Element的RenderObject构成一棵树,我们称之为渲染树,即render tree。\nElement的生命周期如下:\n\nFramework 调用Widget.createElement 创建一个Element实例,记为element\nFramework 调用 element.mount(parentElement,newSlot) ,mount方法中首先调用elment所对应Widget的createRenderObject方法创建与element相关联的RenderObject对象,然后调用element.attachRenderObject方法将element.renderObject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在Element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。\n当element父Widget的配置数据改变时,为了进行Element复用,Framework在决定重新创建Element前会先尝试复用相同位置旧的element:调用Element对应Widget的canUpdate()方法,如果返回true,则复用旧Element,旧的Element会使用新的Widget配置数据更新,反之则会创建一个新的Element,不会复用。Widget.canUpdate()主要是判断newWidget与oldWidget的runtimeType和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来禁止复用。\n当有父Widget的配置数据改变时,同时其State.build返回的Widget结构与之前不同,此时就需要重新构建对应的Element树。为了进行Element复用,在Element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应Widget的canUpdate方法,如果返回true,则复用旧Element,旧的Element会使用新Widget配置数据更新,反之则会创建一个新的Element。Widget.canUpdate主要是判断newWidget与oldWidget的runtimeType和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来避免复用。\n当有祖先Element决定要移除element 时(如Widget树结构发生了变化,导致element对应的Widget被移除),这时该祖先Element就会调用deactivateChild 方法来移除它,移除后element.renderObject也会被从渲染树中移除,然后Framework会调用element.deactivate 方法,这时element状态变为“inactive”状态。\n“inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成”active“状态,Framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。\n如果element要重新插入到Element树的其它位置,如element或element的祖先拥有一个GlobalKey(用于全局复用元素),那么Framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderObject重新attach到渲染树。\n\n看完Element的生命周期,可能有些读者会有疑问,开发者会直接操作Element树吗?其实对于开发者来说,大多数情况下只需要关注Widget树就行,Flutter框架已经将对Widget树的操作映射到了Element树上,这可以极大的降低复杂度,提高开发效率。但是了解Element对理解整个Flutter UI框架是至关重要的,Flutter正是通过Element这个纽带将Widget和RenderObject关联起来,了解Element层不仅会帮助读者对Flutter UI框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用Element对象来完成一些操作,比如获取主题Theme数据,具体细节将在下文介绍。\nBuildContext\n无论是StatelessWidget和StatefulWidget的build方法都会传一个BuildContext对象:\nWidget build(BuildContext context) {}\n\n我们知道,在很多时候我们都需要使用这个context 做一些事,比如:\nTheme.of(context) //获取主题\nNavigator.push(context, route) //入栈新路由\nLocalizations.of(context, type) //获取Local\ncontext.size //获取上下文大小\ncontext.findRenderObject() //查找当前或最近的一个祖先RenderObject\n\n那么BuildContext到底是什么呢,查看其定义,发现其是一个抽象接口类:\nabstract class BuildContext {\n ...\n}\n\n那StatelessWidget和StatefulWidget的build方法传入的context对象是哪个实现了BuildContext的类。我们顺藤摸瓜,发现调用时发生在StatelessWidget和StatefulWidget对应的StatelessElement和StatefulElement的build方法中,以StatelessElement为例:\n\nclass StatelessElement extends ComponentElement {\n ...\n @override\n Widget build() => widget.build(this);\n ...\n}\n\n发现build传递的是this,很明显了,这个BuildContext很可能就是Element类,查看Element类定义,发现Element类果然实现了BuildContext接口:\nclass Element extends DiagnosticableTree implements BuildContext {\n ...\n}\n\n至此真相大白,BuildContext就是Widget对应的Element,所以我们可以通过context在StatelessWidget和StatefulWidget的build方法中直接访问Element对象。我们获取主题数据的代码Theme.of(context)内部正是调用了Element的inheritFromWidgetOfExactType()方法。\n\n思考题:为什么build方法的参数不定义成Element对象,而要定义成BuildContext ?\n\n进阶\n我们可以看到Element是Flutter UI框架内部连接Widget和RenderObject的纽带,大多数时候开发者只需要关注Widget层即可,但是Widget层有时候并不能完全屏蔽Element细节,所以Framework在StatelessWidget和StatefulWidget中通过build方法参数将Element对象也传递给了开发者,这样便可以在需要时直接操作Element对象。那么现在笔者提两个问题,请读者先自己思考一下:\n\n如果没有Widget层,单靠Element层是否可以搭建起一个可用的UI框架?如果可以应该是什么样子?\nFlutter UI框架能不做成响应式吗?\n\n对于问题1,答案当然是肯定的,因为我们之前说过Widget树只是Element树的映射,我们完全可以直接通过Element来搭建一个UI框架。下面举一个例子:\n我们通过纯粹的Element来模拟一个StatefulWidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是1-9 9个数,点击一次按钮,则对9个数随机排一次序,代码如下:\nclass HomeView extends ComponentElement{\n HomeView(Widget widget) : super(widget);\n String text = \"123456789\";\n\n @override\n Widget build() {\n Color primary=Theme.of(this).primaryColor; //1\n return GestureDetector(\n child: Center(\n child: FlatButton(\n child: Text(text, style: TextStyle(color: primary),),\n onPressed: () {\n var t = text.split(\"\")..shuffle();\n text = t.join();\n markNeedsBuild(); //点击后将该Element标记为dirty,Element将会rebuild\n },\n ),\n ),\n );\n }\n}\n\n\n上面build方法不接收参数,这一点和在StatelessWidget和StatefulWidget中build(BuildContext)方法不同。代码中需要用到BuildContext的地方直接用this代替即可,如代码注释1处Theme.of(this)参数直接传this即可,因为当前对象本身就是Element实例。\n当text发生改变时,我们调用markNeedsBuild()方法将当前Element标记为dirty即可,标记为dirty的Element会在下一帧中重建。实际上,State.setState()在内部也是调用的markNeedsBuild()方法。\n\n上面代码中build方法返回的仍然是一个Widget,这是由于Flutter框架中已经有了Widget这一层,并且组件库都已经是以Widget的形式提供了,如果在Flutter框架中所有组件都像示例的HomeView一样以Element形式提供,那么就可以用纯Element来构建UI了,HomeView的build方法返回值类型就可以是Element了。\n\n\n如果我们需要将上面代码在现有Flutter框架中跑起来,那么还是得提供一个”适配器“Widget将HomeView结合到现有框架中,下面CustomHome就相当于”适配器“:\nclass CustomHome extends Widget {\n @override\n Element createElement() {\n return HomeView(this);\n }\n}\n\n现在就可以将CustomHome添加到Widget树了,我们在一个新路由页创建它,最终效果如下:\n \n点击按钮则按钮文本会随机排序。\n对于问题2,答案当然也是肯定的,Flutter engine提供的dart API是原始且独立的,这个与操作系统提供的API类似,上层UI框架设计成什么样完全取决于设计者,完全可以将UI框架设计成Android风格或iOS风格,但这些事Google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的掌握程度。\n总结\n本节详细的介绍了Element的生命周期,以及它与Widget、BuildContext的关系,也介绍了Element在Flutter UI系统中的角色和作用,我们将在下一节介绍Flutter UI系统中另一个重要的角色RenderObject。\n"},"chapter14/render_object.html":{"url":"chapter14/render_object.html","title":"RenderObject与RenderBox","keywords":"","body":"RenderObject和RenderBox\n在上一节我们说过每个Element都对应一个RenderObject,我们可以通过Element.renderObject 来获取。并且我们也说过RenderObject的主要职责是Layout和绘制,所有的RenderObject会组成一棵渲染树Render Tree。本节我们将重点介绍一下RenderObject的作用。\nRenderObject就是渲染树中的一个对象,它拥有一个parent和一个parentData 插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentData正是一个预留变量,它正是由parent 来赋值的,parent通常会通过子RenderObject的parentData存储一些和子元素相关的数据,如在Stack布局中,RenderStack就会将子元素的偏移数据存储在子元素的parentData中(具体可以查看Positioned实现)。\nRenderObject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。 它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,Flutter提供了一个RenderBox类,它继承自RenderObject,布局坐标系统采用笛卡尔坐标系,这和Android和iOS原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用RenderBox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下RenderBox。\n布局过程\nConstraints\n在 RenderBox 中,有个 size属性用来保存控件的宽和高。RenderBox的layout是通过在组件树中从上往下传递BoxConstraints对象的实现的。BoxConstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。\n在布局阶段,父节点会调用子节点的layout()方法,下面我们看看RenderObject中layout()方法的大致实现(删掉了一些无关代码和异常捕获):\nvoid layout(Constraints constraints, { bool parentUsesSize = false }) {\n ...\n RenderObject relayoutBoundary; \n if (!parentUsesSize || sizedByParent || constraints.isTight \n || parent is! RenderObject) {\n relayoutBoundary = this;\n } else {\n final RenderObject parent = this.parent;\n relayoutBoundary = parent._relayoutBoundary;\n }\n ...\n if (sizedByParent) {\n performResize();\n }\n performLayout();\n ...\n}\n\n可以看到layout方法需要传入两个参数,第一个为constraints,即 父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是 parentUsesSize,该值用于确定 relayoutBoundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。\nrelayoutBoundary\n上面layout()源码中定义了一个relayoutBoundary变量,什么是 relayoutBoundary?在前面介绍Element时,我们讲过当一个Element标记为 dirty 时便会重新build,这时 RenderObject 便会重新布局,我们是通过调用 markNeedsBuild() 来标记Element为dirty的。在 RenderObject中有一个类似的markNeedsLayout()方法,它会将 RenderObject 的布局状态标记为 dirty,这样在下一个frame中便会重新layout,我们看看RenderObject的markNeedsLayout()的部分源码:\nvoid markNeedsLayout() {\n ...\n assert(_relayoutBoundary != null);\n if (_relayoutBoundary != this) {\n markParentNeedsLayout();\n } else {\n _needsLayout = true;\n if (owner != null) {\n ...\n owner._nodesNeedingLayout.add(this);\n owner.requestVisualUpdate();\n }\n }\n}\n\n代码大致逻辑是先判断自身是不是 relayoutBoundary,如果不是就继续向 parent 查找,一直向上查找到是 relayoutBoundary 的 RenderObject为止,然后再将其标记为 dirty 的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的 parent,因此 parent 也需要被重新布局,那么到什么时候是个头呢?答案就是 relayoutBoundary,如果一个 RenderObject 是 relayoutBoundary,就表示它的大小变化不会再影响到 parent 的大小了,于是 parent 也就不用重新布局了。\nperformResize 和 performLayout\nRenderBox实际的测量和布局逻辑是在performResize() 和 performLayout()两个方法中,RenderBox子类需要实现这两个方法来定制自身的布局逻辑。根据layout() 源码可以看出只有 sizedByParent 为 true 时,performResize() 才会被调用,而 performLayout() 是每次布局都会被调用的。sizedByParent 意为该节点的大小是否仅通过 parent 传给它的 constraints 就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满 parent 的大小,那么 sizedByParent就应该返回true,此时其大小在 performResize() 中就确定了,在后面的 performLayout() 方法中将不会再被修改了,这种情况下 performLayout() 只负责布局子节点。\n在 performLayout() 方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout() > performResize()/performLayout() > child.layout() > ... ,如此递归完成整个UI的布局。\nRenderBox子类要定制布局算法不应该重写layout()方法,因为对于任何RenderBox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performResize() 和 performLayout()两个方法来实现,他们会在layout()中被调用。\nParentData\n当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,RenderObject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数RenderBox子类来说如果子类只有一个子节点,那么子节点偏移一般都是Offset.zero ,如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过RenderObject的parentData属性来保存的。在RenderBox中,其parentData属性默认是一个BoxParentData对象,该属性只能通过父节点的setupParentData()方法来设置:\nabstract class RenderBox extends RenderObject {\n @override\n void setupParentData(covariant RenderObject child) {\n if (child.parentData is! BoxParentData)\n child.parentData = BoxParentData();\n }\n ...\n}\n\nBoxParentData定义如下:\n/// Parentdata 会被RenderBox和它的子类使用.\nclass BoxParentData extends ParentData {\n /// offset表示在子节点在父节点坐标系中的绘制偏移 \n Offset offset = Offset.zero;\n\n @override\n String toString() => 'offset=$offset';\n}\n\n\n一定要注意,RenderObject的parentData 只能通过父元素设置.\n\n当然,ParentData并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的ParentData中,如ContainerBox的ParentData就保存了指向兄弟节点的previousSibling和nextSibling,Element.visitChildren()方法也正是通过它们来实现对子节点的遍历。再比如KeepAlive Widget,它使用KeepAliveParentDataMixin(继承自ParentData) 来保存子节的keepAlive状态。\n绘制过程\nRenderObject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下:\nvoid paint(PaintingContext context, Offset offset) { }\n\n通过context.canvas可以取到Canvas对象,接下来就可以调用Canvas API来实现具体的绘制逻辑。\n如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以RenderFlex对象为例说明:\n@override\nvoid paint(PaintingContext context, Offset offset) {\n\n // 如果子元素未超出当前边界,则绘制子元素 \n if (_overflow \n代码很简单,首先判断有无溢出,如果没有则调用defaultPaint(context, offset)来完成绘制,该方法源码如下:\nvoid defaultPaint(PaintingContext context, Offset offset) {\n ChildType child = firstChild;\n while (child != null) {\n final ParentDataType childParentData = child.parentData;\n //绘制子节点, \n context.paintChild(child, childParentData.offset + offset);\n child = childParentData.nextSibling;\n }\n}\n\n很明显,由于Flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintChild()来绘制子节点,同时将子节点ParentData中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintChild()。而如果子节点还有子节点时,paintChild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为: paint() > paintChild() > paint() ... 。\n当需要绘制的内容大小溢出当前空间时,将会执行paintOverflowIndicator() 来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如:\n\nRepaintBoundary\n我们已经在CustomPaint一节中介绍过RepaintBoundary,现在我们深入的了解一些。与 RelayoutBoundary 相似,RepaintBoundary是用于在确定重绘边界的,与 RelayoutBoundary 不同的是,这个绘制边界需要由开发者通过RepaintBoundary Widget自己指定,如:\nCustomPaint(\n size: Size(300, 300), //指定画布大小\n painter: MyPainter(),\n child: RepaintBoundary(\n child: Container(...),\n ),\n),\n\n下面我们看看RepaintBoundary的原理,RenderObject有一个isRepaintBoundary属性,该属性决定这个RenderObject重绘时是否独立于其父元素,如果该属性值为true ,则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢? 答案就在paintChild()源码中:\nvoid paintChild(RenderObject child, Offset offset) {\n ...\n if (child.isRepaintBoundary) {\n stopRecordingIfNeeded();\n _compositeChild(child, offset);\n } else {\n child._paintWithContext(this, offset);\n }\n ...\n}\n\n我们可以看到,在绘制子节点时,如果child.isRepaintBoundary 为 true则会调用_compositeChild()方法,_compositeChild()源码如下:\nvoid _compositeChild(RenderObject child, Offset offset) {\n // 给子节点创建一个layer ,然后再上面绘制子节点 \n if (child._needsPaint) {\n repaintCompositedChild(child, debugAlsoPaintedParent: true);\n } else {\n ...\n }\n assert(child._layer != null);\n child._layer.offset = offset;\n appendLayer(child._layer);\n}\n\n很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isRepaintBoundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,RenderObject也提供了一个markNeedsPaint()方法,其源码如下:\nvoid markNeedsPaint() {\n ...\n //如果RenderObject.isRepaintBoundary 为true,则该RenderObject拥有layer,直接绘制 \n if (isRepaintBoundary) {\n ...\n if (owner != null) {\n //找到最近的layer,绘制 \n owner._nodesNeedingPaint.add(this);\n owner.requestVisualUpdate();\n }\n } else if (parent is RenderObject) {\n // 没有自己的layer, 会和一个祖先节点共用一个layer \n assert(_layer == null);\n final RenderObject parent = this.parent;\n // 向父级递归查找 \n parent.markNeedsPaint();\n assert(parent == this.parent);\n } else {\n // 如果直到根节点也没找到一个Layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。 \n if (owner != null)\n owner.requestVisualUpdate();\n }\n}\n\n可以看出,当调用 markNeedsPaint() 方法时,会从当前 RenderObject 开始一直向父节点查找,直到找到 一个isRepaintBoundary 为 true的RenderObject 时,才会触发重绘,这样便可以实现局部重绘。当 有RenderObject 绘制的很频繁或很复杂时,可以通过RepaintBoundary Widget来指定isRepaintBoundary 为 true,这样在绘制时仅会重绘自身而无需重绘它的 parent,如此便可提高性能。\n还有一个问题,通过RepaintBoundary Widget如何设置isRepaintBoundary属性呢?其实如果使用了RepaintBoundary Widget,其对应的RenderRepaintBoundary会自动将isRepaintBoundary设为true的:\nclass RenderRepaintBoundary extends RenderProxyBox {\n /// Creates a repaint boundary around [child].\n RenderRepaintBoundary({ RenderBox child }) : super(child);\n\n @override\n bool get isRepaintBoundary => true;\n}\n\n命中测试\n我们在”事件处理与通知“一章中已经讲过Flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。\n一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(RenderView)开始进行命中测试,下面是RenderView的hitTest()源码:\nbool hitTest(HitTestResult result, { Offset position }) {\n if (child != null)\n child.hitTest(result, position: position); //递归子RenderBox进行命中测试\n result.add(HitTestEntry(this)); //将测试结果添加到result中\n return true;\n}\n\n我们再看看RenderBox默认的hitTest()实现:\nbool hitTest(HitTestResult result, { @required Offset position }) {\n ... \n if (_size.contains(position)) {\n if (hitTestChildren(result, position: position) || hitTestSelf(position)) {\n result.add(BoxHitTestEntry(this, position));\n return true;\n }\n }\n return false;\n}\n\n我们看到默认的实现里调用了hitTestSelf()和hitTestChildren()两个方法,这两个方法默认实现如下:\n\n@protected\nbool hitTestSelf(Offset position) => false;\n\n@protected\nbool hitTestChildren(HitTestResult result, { Offset position }) => false;\n\nhitTest 方法用来判断该 RenderObject 是否在被点击的范围内,同时负责将被点击的 RenderBox 添加到 HitTestResult 列表中,参数 position 为事件触发的坐标(如果有的话),返回 true 则表示有 RenderBox 通过了命中测试,需要响应事件,反之则认为当前RenderBox没有命中。在继承RenderBox时,可以直接重写hitTest()方法,也可以重写 hitTestSelf() 或 hitTestChildren(), 唯一不同的是 hitTest()中需要将通过命中测试的节点信息添加到命中测试结果列表中,而 hitTestSelf() 和 hitTestChildren()则只需要简单的返回true或false。\n语义化\n语义化即Semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解UI内容。如果一个RenderObject要支持语义化接口,可以实现 describeApproximatePaintClip和 visitChildrenForSemantics方法和semanticsAnnotator getter。更多关于语义化的信息可以查看API文档。\n总结\n本节我们介绍了RenderObject主要的功能和方法,理解这些内容可以帮助我们更好的理解Flutter UI底层原理。我们也可以看到,如果要从头到尾实现一个RenderObject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在Widget层通过组合或者CustomPaint完成自定义UI。如果遇到只能定义一个新RenderObject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自RenderBox,这样可以帮我们减少一部分工作。\n"},"chapter14/flutter_app_startup.html":{"url":"chapter14/flutter_app_startup.html","title":"Flutter从启动到显示","keywords":"","body":"Flutter运行机制-从启动到显示\nFlutter的入口在\"lib/main.dart\"的main()函数中,它是Dart应用程序的起点。在Flutter应用中,main()函数如下:\nvoid main() {\n runApp(MyApp());\n}\n\n可以看main()函数只调用了一个runApp()方法,我们看看runApp()方法中都做了什么:\nvoid runApp(Widget app) {\n WidgetsFlutterBinding.ensureInitialized()\n ..attachRootWidget(app)\n ..scheduleWarmUpFrame();\n}\n\n参数app是一个Widget,它是Flutter应用启动后要展示的第一个Widget。而WidgetsFlutterBinding正是绑定Widget 框架和Flutter engine的桥梁,定义如下:\nclass WidgetsFlutterBinding extends BindingBase with GestureBinding, ServicesBinding, SchedulerBinding, PaintingBinding, SemanticsBinding, RendererBinding, WidgetsBinding {\n static WidgetsBinding ensureInitialized() {\n if (WidgetsBinding.instance == null)\n WidgetsFlutterBinding();\n return WidgetsBinding.instance;\n }\n}\n\n可以看到WidgetsFlutterBinding继承自 BindingBase 并混入了很多Binding,在介绍这些Binding之前我们先介绍一下Window对象。我们看看Window的官方解释:\n\nThe most basic interface to the host operating system's user interface.\n\n很明显,Window正是Flutter Framework连接宿主操作系统的接口。我们看一下Window类的部分定义:\nclass Window {\n\n // 当前设备的DPI,即一个物理相许显示多少逻辑像素,数字越大,显示效果就越精细保真。\n // DPI是设备屏幕的固件属性,如Nexus 6的屏幕DPI为3.5 \n double get devicePixelRatio => _devicePixelRatio;\n\n // Flutter UI绘制区域的大小\n Size get physicalSize => _physicalSize;\n\n // 当前系统默认的语言Locale\n Locale get locale;\n\n // 当前系统字体缩放比例。 \n double get textScaleFactor => _textScaleFactor; \n\n // 当绘制区域大小改变回调\n VoidCallback get onMetricsChanged => _onMetricsChanged; \n // Locale发生变化回调\n VoidCallback get onLocaleChanged => _onLocaleChanged;\n // 系统字体缩放变化回调\n VoidCallback get onTextScaleFactorChanged => _onTextScaleFactorChanged;\n // 绘制前回调,一般会受显示器的垂直同步信号VSync驱动,当屏幕刷新时就会被调用\n FrameCallback get onBeginFrame => _onBeginFrame;\n // 绘制回调 \n VoidCallback get onDrawFrame => _onDrawFrame;\n // 点击或指针事件回调\n PointerDataPacketCallback get onPointerDataPacket => _onPointerDataPacket;\n // 调度Frame,该方法执行后,onBeginFrame和onDrawFrame将紧接着会在合适时机被调用,\n // 此方法会直接调用Flutter engine的Window_scheduleFrame方法\n void scheduleFrame() native 'Window_scheduleFrame';\n // 更新应用在GPU上的渲染,此方法会直接调用Flutter engine的Window_render方法\n void render(Scene scene) native 'Window_render';\n\n // 发送平台消息\n void sendPlatformMessage(String name,\n ByteData data,\n PlatformMessageResponseCallback callback) ;\n // 平台通道消息处理回调 \n PlatformMessageCallback get onPlatformMessage => _onPlatformMessage;\n\n ... //其它属性及回调\n\n}\n\n可以看到Window类包含了当前设备和系统的一些信息以及Flutter Engine的一些回调。现在我们再回来看看WidgetsFlutterBinding混入的各种Binding。通过查看这些 Binding的源码,我们可以发现这些Binding中基本都是监听并处理Window对象的一些事件,然后将这些事件按照Framework的模型包装、抽象然后分发。可以看到WidgetsFlutterBinding正是粘连Flutter engine与上层Framework的”胶水“。\n\nGestureBinding:提供了window.onPointerDataPacket 回调,绑定Framework手势子系统,是Framework事件模型与底层事件的绑定入口。\nServicesBinding:提供了window.onPlatformMessage 回调, 用于绑定平台消息通道(message channel),主要处理原生和Flutter通信。\nSchedulerBinding:提供了window.onBeginFrame和window.onDrawFrame回调,监听刷新事件,绑定Framework绘制调度子系统。\nPaintingBinding:绑定绘制库,主要用于处理图片缓存。\nSemanticsBinding:语义化层与Flutter engine的桥梁,主要是辅助功能的底层支持。\nRendererBinding: 提供了window.onMetricsChanged 、window.onTextScaleFactorChanged 等回调。它是渲染树与Flutter engine的桥梁。\nWidgetsBinding:提供了window.onLocaleChanged、onBuildScheduled 等回调。它Flutter Widget层与engine的桥梁。\n\nWidgetsFlutterBinding.ensureInitialized()负责初始化一个WidgetsBinding的全局单例,紧接着会调用WidgetsBinding的attachRootWidget方法,该方法负责将根Widget添加到RenderView上,代码如下:\nvoid attachRootWidget(Widget rootWidget) {\n _renderViewElement = RenderObjectToWidgetAdapter(\n container: renderView, \n debugShortDescription: '[root]',\n child: rootWidget\n ).attachToRenderTree(buildOwner, renderViewElement);\n}\n\n注意,代码中的有renderView和renderViewElement两个变量,renderView是一个RenderObject,它是渲染树的根,而renderViewElement是renderView对应的Element对象,可见该方法主要完成了 根Widget 到根 RenderObject再到更Element的整个关联过程。我们看看attachToRenderTree的源码实现:\nRenderObjectToWidgetElement attachToRenderTree(BuildOwner owner, [RenderObjectToWidgetElement element]) {\n if (element == null) {\n owner.lockState(() {\n element = createElement();\n assert(element != null);\n element.assignOwner(owner);\n });\n owner.buildScope(element, () {\n element.mount(null, null);\n });\n } else {\n element._newWidget = this;\n element.markNeedsBuild();\n }\n return element;\n}\n\n该方法负责创建根 Element,即 RenderObjectToWidgetElement,并且将 Element 与 Widget 进行关联,即创建出 WidgetTree 对应的 ElementTree。如果 Element 已经创建过了,则将根 Element 中关联的 Widget 设为新的,由此可以看出 Element 只会创建一次,后面会进行复用。那么BuildOwner是什么呢?其实他就是Widget framework的管理类,它跟踪哪些Widget需要重新构建。\n渲染\n回到runApp的实现中,当调用完attachRootWidget后,最后一行会调用 WidgetsFlutterBinding 实例的 scheduleWarmUpFrame() 方法,该方法的实现在 SchedulerBinding 中,它被调用后会立即进行一次绘制(而不是等待\"Vsync\" 信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前Flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是scheduleWarmUpFrame() 方法的部分实现(省略了无关代码):\nvoid scheduleWarmUpFrame() {\n ...\n Timer.run(() {\n handleBeginFrame(null); \n });\n Timer.run(() {\n handleDrawFrame(); \n resetEpoch();\n });\n // 锁定事件\n lockEvents(() async {\n await endOfFrame;\n Timeline.finishSync();\n });\n ...\n}\n\n可以看到该方法中主要调用了handleBeginFrame() 和 handleDrawFrame() 两个方法,在看这两个方法之前我们首先了解一下 Frame 和c 的概念:\n\nFrame: 一次绘制过程,我们称其为一帧。Flutter engine受显示器垂直同步信号\"VSync\"的趋势不断的触发绘制。我们之前说的Flutter可以实现60fps(Frame Per-Second),就是指一秒钟可以触发60次重绘,FPS值越大,界面就越流畅。\n\nFrameCallback:SchedulerBinding 类中有三个FrameCallback回调队列, 在一次绘制过程中,这三个回调队列会放在不同时机被执行:\n\ntransientCallbacks:用于存放一些临时回调,一般存放动画回调。可以通过SchedulerBinding.instance.scheduleFrameCallback 添加回调。\npersistentCallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。SchedulerBinding.instance.addPersitentFrameCallback(),这个回调中处理了布局与绘制工作。\npostFrameCallbacks:在Frame结束时只会被调用一次,调用后会被系统移除,可由 SchedulerBinding.instance.addPostFrameCallback() 注册,注意,不要在此类回调中再触发新的Frame,这可以会导致循环刷新。\n\n\n\n现在请读者自行查看handleBeginFrame() 和 handleDrawFrame() 两个方法的源码,可以发现前者主要是执行了transientCallbacks队列,而后者执行了 persistentCallbacks 和 postFrameCallbacks 队列。\n绘制\n渲染和绘制逻辑在RenderBinding 中实现,查看其源发,发现在其initInstances()方法中有如下代码:\nvoid initInstances() {\n ... //省略无关代码\n\n //监听Window对象的事件 \n ui.window\n ..onMetricsChanged = handleMetricsChanged\n ..onTextScaleFactorChanged = handleTextScaleFactorChanged\n ..onSemanticsEnabledChanged = _handleSemanticsEnabledChanged\n ..onSemanticsAction = _handleSemanticsAction;\n\n //添加PersistentFrameCallback \n addPersistentFrameCallback(_handlePersistentFrameCallback);\n}\n\n我们看最后一行,通过addPersistentFrameCallback 向persistentCallbacks队列添加了一个回调 _handlePersistentFrameCallback:\nvoid _handlePersistentFrameCallback(Duration timeStamp) {\n drawFrame();\n}\n\n该方法直接调用了RenderBinding的drawFrame()方法:\nvoid drawFrame() {\n assert(renderView != null);\n pipelineOwner.flushLayout(); //布局\n pipelineOwner.flushCompositingBits(); //重绘之前的预处理操作,检查RenderObject是否需要重绘\n pipelineOwner.flushPaint(); // 重绘\n renderView.compositeFrame(); // 将需要绘制的比特数据发给GPU\n pipelineOwner.flushSemantics(); // this also sends the semantics to the OS.\n}\n\n我们看看这些方法分别做了什么:\nflushLayout()\nvoid flushLayout() {\n ...\n while (_nodesNeedingLayout.isNotEmpty) {\n final List dirtyNodes = _nodesNeedingLayout;\n _nodesNeedingLayout = [];\n for (RenderObject node in \n dirtyNodes..sort((RenderObject a, RenderObject b) => a.depth - b.depth)) {\n if (node._needsLayout && node.owner == this)\n node._layoutWithoutResize();\n }\n }\n } \n}\n\n源码很简单,该方法主要任务是更新了所有被标记为“dirty”的RenderObject的布局信息。主要的动作发生在node._layoutWithoutResize()方法中,该方法中会调用performLayout()进行重新布局。\nflushCompositingBits()\nvoid flushCompositingBits() {\n _nodesNeedingCompositingBitsUpdate.sort(\n (RenderObject a, RenderObject b) => a.depth - b.depth\n );\n for (RenderObject node in _nodesNeedingCompositingBitsUpdate) {\n if (node._needsCompositingBitsUpdate && node.owner == this)\n node._updateCompositingBits(); //更新RenderObject.needsCompositing属性值\n }\n _nodesNeedingCompositingBitsUpdate.clear();\n}\n\n检查RenderObject是否需要重绘,然后更新RenderObject.needsCompositing属性,如果该属性值被标记为true则需要重绘。\nflushPaint()\nvoid flushPaint() {\n ...\n try {\n final List dirtyNodes = _nodesNeedingPaint; \n _nodesNeedingPaint = [];\n // 反向遍历需要重绘的RenderObject\n for (RenderObject node in \n dirtyNodes..sort((RenderObject a, RenderObject b) => b.depth - a.depth)) {\n if (node._needsPaint && node.owner == this) {\n if (node._layer.attached) {\n // 真正的绘制逻辑 \n PaintingContext.repaintCompositedChild(node);\n } else {\n node._skippedPaintingOnLayer();\n }\n }\n }\n } \n}\n\n该方法进行了最终的绘制,可以看出它不是重绘了所有 RenderObject,而是只重绘了需要重绘的 RenderObject。真正的绘制是通过PaintingContext.repaintCompositedChild()来绘制的,该方法最终会调用Flutter engine提供的Canvas API来完成绘制。\ncompositeFrame()\nvoid compositeFrame() {\n ...\n try {\n final ui.SceneBuilder builder = ui.SceneBuilder();\n final ui.Scene scene = layer.buildScene(builder);\n if (automaticSystemUiAdjustment)\n _updateSystemChrome();\n ui.window.render(scene); //调用Flutter engine的渲染API\n scene.dispose(); \n } finally {\n Timeline.finishSync();\n }\n}\n\n这个方法中有一个Scene对象,Scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将Canvas画好的Scene传给window.render()方法,该方法会直接将scene信息发送给Flutter engine,最终又engine将图像画在设备屏幕上。\n最后\n需要注意的是:由于RenderBinding只是一个mixin,而with它的是WidgetBinding,所以我们需要看看WidgetBinding中是否重写该方法,查看WidgetBinding的drawFrame()方法源码:\n@override\nvoid drawFrame() {\n ...//省略无关代码\n try {\n if (renderViewElement != null)\n buildOwner.buildScope(renderViewElement); \n super.drawFrame(); //调用RenderBinding的drawFrame()方法\n buildOwner.finalizeTree();\n } \n}\n\n我们发现在调用RenderBinding.drawFrame()方法前会调用 buildOwner.buildScope() (非首次绘制),该方法会将被标记为“dirty” 的 Element 进行 rebuild() 。\n总结\n本节介绍了Flutter APP从启动到显示到屏幕上的主流程,读者可以结合前面章节对Widget、Element以及RenderObject的介绍来加强细节理解。\n"}}} \ No newline at end of file diff --git a/_book/search_plus_index.json b/_book/search_plus_index.json index a7f1a3a7..22f5c915 100644 --- a/_book/search_plus_index.json +++ b/_book/search_plus_index.json @@ -1 +1 @@ -{"./":{"url":"./","title":"缘起","keywords":"","body":" 缘起 在全球,随着Flutter被越来越多的知名公司应用在自己的商业APP中,Flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当Google在2018年IO大会上发布了第一个Preview版本后,国内刮起来一股学习Flutter的热潮。 为了更好的方便帮助中国开发者了解这门新技术,我们,Flutter中文网,前后发起了Flutter翻译计划、Flutter开源计划,前者主要的任务是翻译Flutter官方文档,后者则主要是开发一些常用的包来丰富Flutter生态,帮助开发者提高开发效率。而时至今日,这两件事取得的效果还都不错! 目前,Flutter中文官网日PV在5W左右,每日独立访问人数8000多。 自今年我们在github建立官方账号以来,前后开源了cookieJar、dio、flukit等多个项目,而dio在开源两周后,就迅速成为Flutter第三方包中Star排名第一的开源库。 之前,有很多次被没用过Flutter但对其保持好奇的开发者问到”Flutter的性能究竟怎样?“,”开发体验真的好吗?“这类问题。当时之所以会有很多这样的问题,主要的原因就是那时Flutter的成功案例太少,虽然国内闲鱼是第一个引入Flutter的商业应用,但初期也只是在很少的页面使用了Flutter,Flutter究竟能否适合用于完整项目缺乏考验。那时,我就想如果能用Flutter开发一个完整的APP发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下Flutter的流畅度,这样有个直观的了解后,就会容易做出判断,为此,我开发了Gitme,它是一个Github客户端,它支持了源码浏览、Issue、Label等Github的大多数功能。到目前为止,通过Gitme登录过Github账号的用户有5000多,日活用户有500。更重要的是,有很多人正是用了Gitme后,才来学flutter的。 虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。 随着学习Flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时有些吃力,而这主要的原因是没有一个资料去系统的学习Flutter。 我们虽然翻译了官方文档,但是对于海量的SDK文档,基本很难去全部翻译。而那时,电子工业出版社正好找到了我,希望我能写一本Flutter实战类的书籍。 这个想法听起来不错,书最大的好处就是可以系统性的介绍一门新技术,但由于我平时工作太忙,周末时间已经有很多花费在维护中文网和开源项目上了,所以此事不得不推迟,而直到今天,你现在看到的,也仍然不是完整的内容,目录灰色的部分都还没有写,那什么时候能写完? 如果只靠我一个人,也只能等我有空了才能写,但是今年实在是太忙了!当然,还是有一些方法可以加快进度,比如大家一起来写,本书已经开源,有志之士都可以提PR,然后需要做好的就是Review和校稿;当然还有一个不能保证一定有用的办法就是点击下面的”打赏“按钮,然后发一个大红包,这样作者拿了钱,说不定会不好意思慢慢吞吞的写,毕竟是收了钱的,哈哈。 最后再说一下为什么本书要开源。既然是电子工业出版社约的稿,就这么公开,难道将来就不会冲击实体书的销量?这个问题我是仔细考虑过的,很多写过书的人可能都知道,写技术书是不赚钱的,能收获的也就是一点点名气,而我吧却只喜欢钱,既然赚不到钱,那何不直接公开得了…当然还有另外一个原因就是要做实体书的话,最后和编辑校稿会花费很多时间,可是我实在是没时间了,很可能会放弃实体书出版,为了防止本书最后因不能正常出版而不能被大家看到,所以最终决定了开源。 最后,如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提PR。如果您想一起参与本书创作,可以参考《Flutter实战》贡献指南。 最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。 "},"chapter1/":{"url":"chapter1/","title":"起步","keywords":"","body":"本章目录 移动开发技术简介 Flutter简介 搭建Flutter开发环境 Dart语言简介 "},"chapter1/mobile_development_intro.html":{"url":"chapter1/mobile_development_intro.html","title":"移动开发技术简介","keywords":"","body":"移动开发技术简介 原生开发与跨平台技术 原生开发 原生应用程序是指某一个移动平台(比如iOS或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的SDK API。比如Android原生应用就是指使用Java或Kotlin语言直接调用Android SDK开发的应用程序;而iOS原生应用就是指通过Objective-C或Swift语言直接调用iOS SDK开发的应用程序。原生开发有以下主要优势: 可访问平台全部功能(GPS、摄像头); 速度快、性能高、可以实现复杂动画及绘制,整体用户体验好; 主要缺点: 平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大; 内容固定,动态化弱,大多数情况下,有新功能更新时只能发版; 在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。 但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在: 动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。 业务需求变化快,开发成本变大;由于原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。 总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。 跨平台技术简介 针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指Android和iOS两个平台),根据其原理,主要分为三类: H5+原生(Cordova、Ionic、微信小程序) JavaScript开发+原生渲染 (React Native、Weex、快应用) 自绘UI+原生(QT for mobile、Flutter) 在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。 Hybrid技术简介 H5+原生混合开发 这类框架主要原理就是将APP的一部分需要动态变动的内容通过H5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(ios)来加载(以后若无特殊说明,我们用WebView来统一指代android和ios中的网页加载控件)。这样一来,H5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在Android和iOS两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发 ,采用混合模式开发的APP我们称之为混合应用或Hybrid APP ,如果一个应用的大多数功能都是H5实现的话,我们称其为Web APP 。 目前混合开发框架的典型代表有:Cordova、Ionic 和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。 混合开发技术点 如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在WebView中,而WebView实质上就是一个浏览器内核,其JavaScript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于H5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的API, 然后暴露给WebView以供JavaScript调用,这样一来,WebView就成为了JavaScript与原生API之间通信的桥梁,主要负责JavaScript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于WebView的用于在JavaScript与原生之间通信并实现了某种消息传输协议的工具称之为WebView JavaScript Bridge, 简称 JsBridge,它也是混合开发框架的核心。 示例:JavaScript调用原生API获取手机型号 下面我们以Android为例,实现一个获取手机型号的原生API供JavaScript调用。在这个示例中将展示JavaScript调用原生API的流程,读者可以直观的感受一下调用流程。我们选用笔者在Github上开源的dsBridge作为JsBridge来进行通信。dsBridge是一个支持同步调用的跨平台的JsBridge,此示例中只使用其同步调用功能。 首先在原生中实现获取手机型号的API getPhoneModel class JSAPI{ @JavascriptInterface public Object getPhoneModel(Object msg){ return Build.MODEL; } } 将原生API通过WebView注册到JsBridge中 import wendu.dsbridge.DWebView ... //DWebView继承自WebView,由dsBridge提供 DWebView dwebView= (DWebView) findViewById(R.id.dwebview); //注册原生API到JsBridge dwebView.addJavascriptObject(new JsAPI(), null); 在JavaScript中调用原生API var dsBridge=require(\"dsbridge\") //直接调用原生API `getPhoneModel` var model=dsBridge.call(\"getPhoneModel\"); //打印机型 console.log(model); 上面示例演示了JavaScript调用原生API的过程,同样的,一般来说优秀的JsBridge也支持原生调用JavaScript,dsBridge也是支持的,如果您感兴趣,可以去github dsBridge项目主页查看。 现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列API供JavaScript调用,让JavaScript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。 总结 混合应用的优点是动态内容是H5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。 React Native和Weex 本篇主要介绍一下 JavaScript开发+原生渲染的跨平台框架原理。 React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和Android两个平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。 由于RN和React原理相通,并且Flutter也是受React启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下React原理。React是一个响应式的Web框架,我们先了解一下两个重要的概念:Dom树与响应式编程。 DOM树与控件树 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的标准接口。简单来说,DOM就是文档树,与用户界面控件树对应,在前端开发中通常指HTML对应的渲染树,但广义的DOM也可以指Android中的XML布局文件对应的控件树,而术语DOM操作就是指直接来操作渲染树(或控件树), 因此,可以看到其实DOM树和控件树是等价的概念,只不过前者常用语Web开发中,而后者常用于原生开发中。 响应式编程 React中提出一个重要思想:状态改变则UI随之自动改变,而React框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下React中响应式原理: 开发者只需关注状态转移(数据),当状态发生变化,React框架会自动根据新的状态重新构建UI。 React框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过Diff算法,计算出树中变化的部分,然后只更新变化的部分(DOM操作),从而避免整棵树重构,提高性能。 值得注意的是,在第二步中,状态变化后React框架并不会立即去计算并渲染DOM树的变化部分,相反,React会在DOM的基础上建立一个抽象层,即虚拟DOM树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟DOM,最后再批量同步到真实DOM中,而不是每次改变都去操作一下DOM。为什么不能每次改变都直接去操作DOM树?这是因为在浏览器中每一次DOM操作都有可能引起浏览器的重绘或回流: 如果DOM只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。 如果DOM树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。 而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对DOM进行操作,这会带来性能问题,而批量操作只会触发一次DOM更新。 思考题:Diff操作和DOM批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适? 此处需要有一张插图 React Native 上文已经提到React Native 是React 在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟DOM映射的对象是什么?React中虚拟DOM最终会映射为浏览器DOM树,而RN中虚拟DOM会通过 JavaScriptCore 映射为原生控件树。 JavaScriptCore 是一个JavaScript解释器,它在React Native中主要有两个作用: 为JavaScript提供运行环境。 是JavaScript与原生应用之间通信的桥梁,作用和JsBridge一样,事实上,在iOS中,很多JsBridge的实现都是基于 JavaScriptCore 。 而RN中将虚拟DOM映射为原生控件的过程中分两步: 布局消息传递; 将虚拟DOM布局信息传递给原生; 原生根据布局信息通过对应的原生控件渲染控件树; 至此,React Native 便实现了跨平台。 相对于混合应用,由于React Native是原生控件渲染,所以性能会比混合应用中H5好很多,同时React Native是Web开发技术栈,也只需维护一份代码,同样是跨平台框架。 Weex Weex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和React Native类似,最大的不同是语法层面,Weex支持Vue语法和Rax语法,Rax 的 DSL 语法是基于 React JSX 语法而创造。与 React 不同,在 Rax 中 JSX 是必选的,它不支持通过其它方式创建组件,所以学习 JSX 是使用 Rax 的必要基础。而React Native只支持JSX语法。 快应用 快应用是华为、小米、OPPO、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用JavaScript语言开发,原生控件渲染,与React Native和Weex相比主要有两点不同: 快应用自身不支持Vue或React语法,其采用原生JavaScript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用Vue语法开发(mpvue),从原理上来讲,Vue的语法也可以移植到快应用上。 React Native和Weex的渲染/排版引擎是集成到框架中的,每一个APP都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到ROM中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。 总结 JavaScript开发+原生渲染的方式主要优点如下: 采用Web开发技术栈,社区庞大、上手快、开发成本相对较低。 原生渲染,性能相比H5提高很多。 动态化较好,支持热更新。 不足: 渲染时需要JavaScript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。 JavaScript为脚本语言,执行时需要JIT,执行效率和AOT代码仍有差距。 由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。 QT Moblie与Flutter 在本篇中,我们看看最后一种跨平台技术:自绘UI+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。注意,自绘引擎解决的是UI的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下: 性能高;由于自绘引擎是直接调用系统API来绘制UI,所以性能和原生控件接近。 灵活、组件库易维护、UI外观保真度和一致性高;由于UI渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。 不足: 动态性不足;为了保证UI绘制性能,自绘UI系统一般都会采用AOT模式编译其发布包,所以应用发布后,不能像Hybrid和RN那些使用JavaScript(JIT)作为开发语言的框架那样动态下发代码。 也许你已经猜到Flutter就属于这一类跨平台技术,没错,Flutter正是实现一套自绘引擎,并拥有一套自己的UI布局系统。不过,自绘制引擎的思路并不是什么新概念,Flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的QT。 QT简介 Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,QT虽然在PC端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到QT的声音,但一直很弱,无论QT本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四: 第一:QT移动开发社区太小,学习资料不足,生态不好。 第二:官方推广不利,支持不够。 第三:移动端发力较晚,市场已被其它动态化框架占领(Hybrid和RN)。 第四:在移动开发中,C++开发和Web开发栈相比有着先天的劣势,直接结果就是QT开发效率太低。 基于此四点,尽管QT是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。 Flutter简介 “千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了! Flutter是Google发布的一个用于创建跨平台、高性能移动应用的框架。Flutter和QT mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,QT mobile面对的问题Flutter是否也一样,Flutter会不会步入QT mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看Flutter诞生过程: 2017 年 Google I/O 大会上,Google 首次推出了一款新的用于创建跨平台、高性能的移动应用框架——Flutter。 2018年2月,Flutter发布了第一个Beta版本,同年五月, 在2018年Google I/O 大会上,Flutter 更新到了 beta 3 版本。 2018年6月,Flutter发布了首个预览版本,这意味着 Flutter 进入了正式版(1.0)发布前的最后阶段。 观其发展,在2018年5月份,Flutter 进入了 GitHub stars 排行榜前 100 名,已有 27k star。而今天(2018年8月16日),已经有35K的Star。经历了短短一年多的时间,Flutter 生态系统得以快速增长,由此可见,Flutter在开发者中受到了热烈的欢迎,其未来发展值得期待! 现在,我们来和QT mobile做一个对比: 生态;从Github上来看,目前Flutter活跃用户正在高速增长。从Stackoverflow上提问来看,Flutter社区现在已经很庞大。Flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在Stackoverflow或其github issue中找到答案。 技术支持;现在Google正在大力推广Flutter,Flutter的作者中很多人都是来自Chromium团队,并且github上活跃度很高。另一个角度,从今年上半年Flutter频繁的版本发布也可以看出Google对Flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。 开发效率;Flutter的热重载可帮助开发者快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了Flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。 基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗! 本章总结 本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下: 技术类型 UI渲染方式 性能 开发效率 动态化 框架代表 H5+原生 WebView渲染 一般 高 ✔️ Cordova、Ionic JavaScript+原生渲染 原生控件渲染 好 高 ✔️ RN、Weex 自绘UI+原生 调用系统API渲染 好 Flutter高, QT低 默认不支持 QT、Flutter 上表中开发语言主要指UI的开发语言,动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是Flutter的Release包默认是使用Dart AOT模式编译的,所以不支持动态化,但Dart还有JIT或snapshot运行方式,这些模式都是支持动态化的,后续会介绍。 "},"chapter1/flutter_intro.html":{"url":"chapter1/flutter_intro.html","title":"Flutter简介","keywords":"","body":"初识Flutter Flutter简介 Flutter 是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加 native扩展。同时 Flutter还使用 Native引擎渲染视图,这无疑能为用户提供良好的体验。 跨平台自绘引擎 Flutter与用于构建移动应用程序的其它大多数框架不同,因为Flutter既不使用WebView,也不使用操作系统的原生控件。 相反,Flutter使用自己的高性能渲染引擎来绘制widget。这样不仅可以保证在Android和iOS上UI的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。 Flutter使用Skia作为其2D渲染引擎,Skia是Google的一个2D图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,Skia是跨平台的,并提供了非常友好的API,目前Google Chrome浏览器和Android均采用Skia作为其绘图引擎,值得一提的是,由于Android系统已经内置了Skia,所以Flutter在打包APK(Android应用安装包)时,不需要再将Skia打入APK中,但iOS系统并未内置Skia,所以构建iPA时,也必须将Skia一起打包,这也是为什么Flutter APP的Android安装包比iOS安装包小的主要原因。 高性能 Flutter高性能主要靠两点来保证,首先,Flutter APP采用Dart语言开发。Dart在 JIT(即时编译)模式下,速度与 JavaScript基本持平。但是 Dart支持 AOT,当以 AOT模式运行时,JavaScript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,Flutter使用自己的渲染引擎来绘制UI,布局数据等由Dart语言直接控制,所以在布局过程中不需要像RN那样要在JavaScript和Native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以JavaScript需要和Native之间不停的同步布局信息,这和在浏览器中要JavaScript频繁操作DOM所带来的问题是相同的,都会带来比较可观的性能开销。 采用Dart语言开发 这是一个很有意思,但也很有争议的问题,在了解Flutter为什么选择了 Dart而不是 JavaScript之前我们先来介绍两个概念:JIT和AOT。 目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为AOT (Ahead of time)即 “提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为JIT(Just-in-time)即“即时编译”。AOT程序的典型代表是用C/C++开发的应用,它们必须在执行前编译成机器码,而JIT的代表则非常多,如JavaScript、python等,事实上,所有脚本语言都支持JIT模式。但需要注意的是JIT和AOT指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以JIT方式运行也可以以AOT方式运行,如Java、Python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为AOT的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于AOT。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。 现在我们看看Flutter为什么选择Dart语言?笔者根据官方解释以及自己对Flutter的理解总结了以下几条(由于其它跨平台框架都将JavaScript作为其开发语言,所以主要将Dart和JavaScript做一个对比): 开发效率高 Dart运行时和编译器支持Flutter的两个关键特性的组合: 基于JIT的快速开发周期:Flutter在开发阶段采用,采用JIT模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间; 基于AOT的发布包: Flutter在发布时可以通过AOT生成高效的ARM代码以保证应用性能。而JavaScript则不具有这个能力。 高性能 Flutter旨在提供流畅、高保真的的UI体验。为了实现这一点,Flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而Dart支持AOT,在这一点上可以做的比JavaScript更好。 快速内存分配 Flutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,Flutter将无法有效地工作。当然Chrome V8的JavaScript引擎在内存分配上也已经做的很好,事实上Dart开发团队的很多成员都是来自Chrome团队的,所以在内存分配上Dart并不能作为超越JavaScript的优势,而对于Flutter来说,它需要这样的特性,而Dart也正好满足而已。 类型安全 由于Dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,JavaScript是一个弱类型语言,也因此前端社区出现了很多给JavaScript代码添加静态类型检测的扩展语言和工具,如:微软的TypeScript以及Facebook的Flow。相比之下,Dart本身就支持静态类型,这是它的一个重要优势。 Dart团队就在你身边 看似不起眼,实则举足轻重。由于有Dart团队的积极投入,Flutter团队可以获得更多、更方便的支持,正如Flutter官网所述“我们正与Dart社区进行密切合作,以改进Dart在Flutter中的使用。例如,当我们最初采用Dart时,该语言并没有提供生成原生二进制文件的工具链(这对于实现可预测的高性能具有很大的帮助),但是现在它实现了,因为Dart团队专门为Flutter构建了它。同样,Dart VM之前已经针对吞吐量进行了优化,但团队现在正在优化VM的延迟时间,这对于Flutter的工作负载更为重要。” 总结 本节主要介绍了一下Flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对Flutter细节的了解,再回过头来看,相信你会有更深的体会。 Flutter框架结构 本节我们先对Flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到Flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下Flutter官方提供的一张框架图: Flutter Framework 这是一个纯 Dart实现的 SDK,它实现了一套基础库,自底向上,我们来简单介绍一下: 底下两层(Foundation和Animation、Painting、Gestures)在Google的一些视频中被合并为一个dart UI层,对应的是Flutter中的dart:ui包,它是Flutter引擎暴露的底层UI库,提供动画、手势及绘制能力。 Rendering层,这一层是一个抽象的布局层,它依赖于dart UI层,Rendering层会构建一个UI树,当UI树有变化时,会计算出有变化的部分,然后更新UI树,最终将UI树绘制到屏幕上,这个过程类似于React中的虚拟DOM。Rendering层可以说是Flutter UI框架最核心的部分,它除了确定每个UI元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。 Widgets层是Flutter提供的的一套基础组件库,在基础组件库之上,Flutter还提供了 Material 和Cupertino两种视觉风格的组件库。而我们Flutter开发的大多数场景,只是和这两层打交道。 Flutter Engine 这是一个纯 C++实现的 SDK,其中包括了 Skia引擎、Dart运行时、文字排版引擎等。在代码调用 dart:ui库时,调用最终会走到Engine层,然后实现真正的绘制逻辑。 总结 Flutter框架本身有着良好的分层设计,本节旨在让读者对Flutter整体框架有个大概的印象,相信到现在为止,读者已经对Flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下Flutter的开发语言Dart。 如何学习Flutter 本节给大家一些学习建议,分享一下笔者在学习Flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。 资源 官网:阅读Flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新Flutter发展动态的地方,由于目前Flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。 源码及注释:源码注释应作为学习Flutter的第一文档,Flutter SDK的源码是开源的,并且注释非常详细,也有很多示例,实际上,Flutter官方的SDK文档就是通过注释生成的。源码结合注释可以帮你解决大多数问题。 Github:如果遇到的问题在StackOverflow上也没有找到答案,可以去github flutter 项目下提issue。 Gallery源码:Gallery是Flutter官方示例APP,里面有丰富的示例,读者可以在网上下载安装。Gallery的源码在Flutter源码“examples”目录下。 社区 StackOverflow:如果你还没听过StackOverflow,这是目前全球最大的程序员问答社区,现在也是活跃度最高的Flutter问答社区。StackOverflow上面除了世界各地的Flutter使用者会在上面交流之外,Flutter开发团队的成员也经常会在上面回答问题。 Flutter中文网社区:Flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了Flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。 掘金:掘金的Flutter主页目前也收集了不少的博客文章,读者可以自行浏览。 总结 有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入Flutter的世界! "},"chapter1/install_flutter.html":{"url":"chapter1/install_flutter.html","title":"搭建Flutter开发环境","keywords":"","body":"安装Flutter 工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。 搭建Flutter开发环境 由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Flutter时也需要安装相应平台的构建工具和SDK。下面我们分别介绍一下Windows和macOS下的环境搭建。 使用镜像 由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中: export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn 注意: 此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china 以获得有关镜像服务器的最新动态。 在Windows上搭建Flutter开发环境 系统要求 要安装并运行Flutter,您的开发环境必须满足以下最低要求: 操作系统: Windows 7 或更高版本 (64-bit) 磁盘空间: 400 MB (不包括Android Studio的磁盘空间). 工具: Flutter 依赖下面这些命令行工具. PowerShell 5.0 或更新的版本 Git for Windows (Git命令行工具); 如果已安装Git for Windows,请确保可以在命令提示符或PowerShell中运行 git 命令 获取Flutter SDK 去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#windows 注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。 将安装包zip解压到你想安装Flutter SDK的路径(如:C:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如C:\\Program Files\\)。 在Flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在Flutter命令行运行flutter命令了。 更新环境变量 如果你想在Windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户PATH: 转到 “控制面板>用户帐户>用户帐户>更改我的环境变量” 在“用户变量”下检查是否有名为“Path”的条目: 如果该条目存在, 追加 flutter\\bin的全路径,使用 ; 作为分隔符. 如果该条目不存在,创建一个新用户变量 Path ,然后将 flutter\\bin 的全路径作为它的值. 重启Windows以应用此更改. 运行 flutter doctor命令 在Flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们: flutter doctor 该命令检查你的环境并在命令行窗口中显示报告。Dart SDK已经在打包在Flutter SDK里了,没有必要单独安装Dart。 仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。 例如: [-] Android toolchain - develop for Android devices • Android SDK at D:\\Android\\sdk ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ • Try re-installing or updating your Android SDK, visit https://flutter.io/setup/#android-setup for detailed instructions. 第一次运行flutter命令(如flutter doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutter doctor命令来验证是否安装成功。 Android设置 Flutter依赖于Android Studio的全量安装。Android Studio不仅可以管理Android 平台依赖、SDK版本等,而且它也是Flutter开发推荐的IDE之一(当然,你也可以使用其它编辑器或IDE,我们将会在后面讨论)。 安装Android Studio 下载并安装 Android Studio,下载地址:https://developer.android.com/studio/index.html 。 启动Android Studio,然后执行“Android Studio安装向导”。这将安装最新的Android SDK、Android SDK平台工具和Android SDK构建工具,这些是用Flutter进行Android开发所需要的。 安装遇到问题? 如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。 在macOS上搭建Flutter开发环境 在masOS下可以同时进行Android和iOS设备的测试。 系统要求 要安装并运行Flutter,您的开发环境必须满足以下最低要求: 操作系统: macOS (64-bit) 磁盘空间: 700 MB (不包括Xcode或Android Studio的磁盘空间). 工具: Flutter 依赖下面这些命令行工具. bash、mkdir、rm、git、curl、unzip、which 获取Flutter SDK 去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#macos 注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。 解压安装包到你想安装的目录,如: cd ~/development unzip ~/Downloads/flutter_macos_v0.5.1-beta.zip 添加flutter相关工具到path中: export PATH=`pwd`/flutter/bin:$PATH 此代码只能暂时针对当前命令行窗口设置PATH环境变量,要想永久将Flutter添加到PATH中请参考下面更新环境变量 部分。 运行 flutter doctor命令 这一步和Windows下步骤一致,不再赘述。 更新环境变量 将Flutter添加到PATH中,可以在任何终端会话中运行flutter命令。 对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如 确定您Flutter SDK的目录记为“FLUTTER_INSTALL_PATH”,您将在步骤3中用到。 打开(或创建) $HOME/.bash_profile。文件路径和文件名可能在你的电脑上不同. 添加以下路径: export PATH=[FLUTTER_INSTALL_PATH]/flutter/bin:$PATH 例如笔者Flutter 安装目录是“~/code/flutter_dir”,那么代码为: export PATH=~/code/flutter_dir/flutter/bin:$PATH 运行 source $HOME/.bash_profile 刷新当前终端窗口。 注意: 如果你使用终端是zsh,终端启动时 ~/.bash_profile 将不会被加载,解决办法就是修改 ~/.zshrc ,在其中添加:source ~/.bash_profile 验证“flutter/bin”是否已在PATH中: echo $PATH 安装 Xcode 要为iOS开发Flutter应用程序,您需要Xcode 9.0或更高版本: 安装Xcode 9.0或更新版本(通过链接下载或苹果应用商店). 配置Xcode命令行工具以使用新安装的Xcode版本 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 对于大多数情况,当您想要使用最新版本的Xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。 确保Xcode许可协议是通过打开一次Xcode或通过命令sudo xcodebuild -license同意过了. 使用Xcode,您可以在iOS设备或模拟器上运行Flutter应用程序。 安装Android Studio 和Window一样,要在Android设备上构建并运行Flutter程序都需要先安装Android Studio,读者可以先自行下载并安装Android Studio,在此不再赘述。 升级 Flutter Flutter SDK分支 Flutter SDK有多个分支,如beta、dev、master,其中beta分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装flutter后,你可以运行flutter channel查看所有分支,如笔者本地运行后,结果如下: Flutter channels: beta dev * master 带\"*\"号的分支即你本地的Flutter SDK 跟踪的分支,要切换分支,可以使用flutter channel beta 或 flutter channel master,Flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。 升级Flutter SDK和依赖包 要升级flutter sdk,只需一句命令: flutter upgrade 该命令会同时更新Flutter SDK和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括Flutter SDK),可以使用如下命令: flutter packages get获取项目所有的依赖包。 flutter packages upgrade 获取项目所有依赖包的最新版本。 IDE配置与使用 理论上可以使用任何文本编辑器与命令行工具来构建Flutter应用程序。 不过,Flutter官方建议使用Android Studio和VS Code之一以获得更好的开发体验。Flutter官方提供了这两款编辑器插件,通过IDE和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下Android Studio和VS Code的配置及使用(Android Studio和VS Code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。 Android Studio 配置与使用 由于Android Studio是基于IntelliJ IDEA开发的,所以读者也可以使用IntelliJ IDEA。 安装Flutter和Dart插件 需要安装两个插件: Flutter插件: 支持Flutter开发工作流 (运行、调试、热重载等)。 Dart插件: 提供代码分析 (输入代码时进行验证、代码补全等)。 安装步骤: 启动Android Studio。 打开插件首选项 (macOS:Preferences>Plugins, Windows:File>Settings>Plugins)。 选择 Browse repositories…,选择 flutter 插件并点击 install。 重启Android Studio后插件生效。 接下来,让我们用Android Studio创建一个Flutter项目,然后运行它,并体验“热重载”。 创建Flutter应用 选择 File>New Flutter Project 。 选择 Flutter application 作为 project 类型, 然后点击 Next。 输入项目名称 (如 myapp),然后点击 Next。 点击 Finish。 等待Android Studio安装SDK并创建项目。 上述命令创建一个Flutter项目,项目名为myapp,其中包含一个使用Material 组件的简单演示应用程序。 在项目目录中,您应用程序的代码位于 lib/main.dart。 运行应用程序 定位到Android Studio工具栏: 在 target selector 中, 选择一个运行该应用的Android设备。如果没有列出可用,请选择 Tools>Android>AVD Manager 并在那里创建一个。 在工具栏中点击 Run图标。 如果一切正常, 您应该在您的设备或模拟器上会看到启动的应用程序: 体验热重载 Flutter 可以通过 热重载(hot reload) 实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉IDE或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。 1. 打开`lib/main.dart`文件 2. 将字符串 `'You have pushed the button this many times:'` 更改为 `'You have clicked the button this many times:'` 3. 不要按“停止”按钮; 让您的应用继续运行. 4. 要查更改,请调用 **Save** (`cmd-s` / `ctrl-s`),或者点击 **热重载按钮** (带有闪电⚡️图标的按钮)。 你会立即在运行的应用程序中看到更新的字符串。 VS Code的配置与使用 VS Code是一个轻量级编辑器,支持Flutter运行和调试。 安装flutter插件 启动 VS Code。 调用 View>Command Palette…。 输入 ‘install’, 然后选择 Extensions: Install Extension action。 在搜索框输入 flutter ,在搜索结果列表中选择 ‘Flutter’, 然后点击 Install。 选择 ‘OK’ 重新启动 VS Code。 验证配置 调用 View>Command Palette… 输入 ‘doctor’, 然后选择 ‘Flutter: Run Flutter Doctor’ action。 查看“OUTPUT”窗口中的输出是否有问题 创建Flutter应用 启动 VS Code 调用 View>Command Palette… 输入 ‘flutter’, 然后选择 ‘Flutter: New Project’ action 输入 Project 名称 (如myapp), 然后按回车键 指定放置项目的位置,然后按蓝色的确定按钮 等待项目创建继续,并显示main.dart文件 体验热重载 打开lib/main.dart文件。 将字符串 'You have pushed the button this many times:' 更改为 'You have clicked the button this many times:'。 不要按“停止”按钮; 让您的应用继续运行。 要查看您的更改,请调用 Save (cmd-s / ctrl-s), 或者点击 热重载按钮 (绿色圆形箭头按钮)。 你会立即在运行的应用程序中看到更新的字符串。 连接设备运行Flutter应用 Window下只支持为Android设备构建并运行Flutter应用,而macOS同时支持iOS和Android设备。下面分别介绍如何连接Android和iOS设备来运行flutter应用。 连接Android模拟器 要准备在Android模拟器上运行并测试Flutter应用,请按照以下步骤操作: 启动 Android Studio>Tools>Android>AVD Manager 并选择 Create Virtual Device. 选择一个设备并选择 Next。 为要模拟的Android版本选择一个或多个系统印象,然后选择 Next. 建议使用 x86 或 x86_64 image . 在 “Emulated Performance”下, 选择 Hardware - GLES 2.0 以启用 硬件加速. 验证AVD配置是否正确,然后选择 Finish。 有关上述步骤的详细信息,请参阅 Managing AVDs. 在“Android Virtual Device Manager”中,点击工具栏的 Run。模拟器启动并显示所选操作系统版本或设备的启动画面。 运行 flutter run 启动您的设备。 连接的设备名是 Android SDK built for ,其中 platform 是芯片系列,如 x86。 连接Android真机设备 要准备在Android设备上运行并测试Flutter应用,需要Android 4.1(API level 16)或更高版本的Android设备. 在Android设备上启用 开发人员选项 和 USB调试 。详细说明可在Android文档中找到。 使用USB将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。 在命令行运行 flutter devices 命令以验证Flutter识别您连接的Android设备。 运行启动你应用程序 flutter run。 默认情况下,Flutter使用的Android SDK版本是基于你的 adb 工具版本。 如果想让Flutter使用不同版本的Android SDK,则必须将该 ANDROID_HOME 环境变量设置为相应的SDK安装目录。 连接iOS模拟器 要准备在iOS模拟器上运行并测试Flutter应用,请按以下步骤操作: 在你的MAC上,通过 Spotlight 或以下命令找到模拟器: open -a Simulator 通过检查模拟器 Hardware > Device 菜单中的设置,确保模拟器正在使用64位设备(iPhone 5s或更高版本)。 根据你电脑屏幕大小,模拟高清屏iOS设备可能会溢出屏幕。可以在模拟器的 Window> Scale 菜单下设置设备比例。 运行 flutter run启动flutter应用程序。 连接iOS真机设备 要将Flutter应用安装到iOS真机设备,需要一些额外的工具和一个Apple帐户,还需要在Xcode中进行一些设置。 安装 homebrew (如果已经安装了brew,跳过此步骤)。 打开终端并运行如下这些命令: brew update brew install --HEAD libimobiledevice brew install ideviceinstaller ios-deploy cocoapods pod setup 如果这些命令中的任何一个失败并出现错误,请运行brew doctor并按照说明解决问题. 遵循Xcode签名流程来配置您的项目: 在你Flutter项目目录中通过 open ios/Runner.xcworkspace 打开默认的Xcode workspace. 在Xcode中,选择导航面板左侧中的Runner项目。 在Runner target设置页面中,确保在 General > Signing > Team 下选择了你的开发团队。当你选择一个团队时,Xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。 要开始您的第一个iOS开发项目,您可能需要使用您的Apple ID登录Xcode。 任何Apple ID都支持开发和测试,但若想将应用分发到App Store,就必须注册Apple开发者计划,有关详情读者可以自行了解。 当您第一次attach真机设备进行iOS开发时,需要同时信任你的Mac和该设备上的开发证书。首次将iOS设备连接到Mac时,请在对话框中选择 Trust。 然后,转到iOS设备上的设置菜单,选择 常规>设备管理 并信任您的证书。 如果Xcode中的自动签名失败,请验证项目的 General > Identity > Bundle Identifier 值是否唯一. 运行 flutter run启动flutter应用程序。 "},"chapter1/configuration.html":{"url":"chapter1/configuration.html","title":"常见配置问题","keywords":"","body":"常见配置问题 Android Studio问题 缺少依赖库问题 上手安卓最常遇见的问题之一,错误如下图所示,此时点击超链接即可自动跳转到安装页面 安装之后重新运行即可。 连接不上Android Repository 这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入 File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites 列表,可以看到此时的 Android Repository 无法连接。 解决方法如下: 进入 C:\\windows\\system32\\drivers\\etc\\ 打开 hosts 文件 添加 203.208.41.32 dl.google.com 即可解决 安卓包配置问题 一般格式为 Could not HEAD ** Could not Get ** 如:Android Studio Could not GET gradle-3.2.0.pom 这一类问题是由于无法连接到 Maven 库造成的,解决方法如下: 进入当前所在项目名/android 打开 build.gradle 找到下面这一部分,并加上 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } allprojects { repositories { google() jcenter() } } 进入 File/ Settings/ Build, Execution, Deployment/ Gradle/ Android Studio 中,勾选上 Enable embedded Maven repository ,重启 Android Studio 即可解决。 注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于 Could not HEAD maven.aliyun.com 的报错信息,请检查 C:\\Users\\{user_name}\\.gradle\\gradle.properties 是否有设置代理。删除后问题即可解决。 "},"chapter1/dart.html":{"url":"chapter1/dart.html","title":"Dart语言简介","keywords":"","body":"Dart语言简介 在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果你熟悉Dart语法,可以跳过本节,如果你还不了解Dart,不用担心,按照笔者经验,如果你有过其他编程语言经验,尤其是Java和JavaScript的话,所以,如果你是前端或Android开发者,那么将会非常容易上手Dart。当然,如果你是iOS开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习Dart时,只是花了一个小时,看完Dart官网的Language Tour,就开始动手写Flutter了。 在笔者看来,Dart的设计目标应该是既对标Java,也对标JavaScript,Dart在静态语法方面和Java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和JavaScript很像,如函数式特性、异步支持等。除了融合Java和JavaScript语言之所长之外,Dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在Dart中其实看到的不仅有Java和JavaScript的影子,它还具有其它编程语言中的身影,如命名参数在Objective-C和Swift中早就很普遍,而??操作符在Php 7.0语法中就已经存在了,因此我们可以看到Google对Dart语言给予厚望,是想把Dart打造成一门集百家之所长的编程语言。 接下来,我们先对Dart语法做一个简单的介绍,然后再将Dart与JavaScript和Java做一个简要的对比,方便读者更好的理解。 注意:由于本书并非专门介绍Dart语言的书籍,所以本章主要会介绍一下在Flutter开发中常用的语法特性,如果想更多了解Dart,读者可以去Dart官网学习,现在互联网上Dart相关资料已经很多了。另外Dart 2.0已经正式发布,所以本书所有示例均采用Dart 2.0语法。 变量声明 var 类似于JavaScript中的var,它可以接收任何类型的变量,但最大的不同是Dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如: var t; t=\"hi world\"; // 下面代码在dart中会报错,因为变量t的类型已经确定为String, // 类型一旦确定后则不能再更改其类型。 t=1000; 上面的代码在JavaScript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为Dart本身是一个强类型语言,任何变量都是有确定类型的,在Dart中,当用var声明一个变量后,Dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而JavaScript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。 dynamic和Object Dynamic和Object 与 var功能相似,都会在赋值时自动进行类型推断,不同在于,赋值后可以改变其类型,如: dynamic t; t=\"hi world\"; //下面代码没有问题 t=1000; Object 是dart所有对象的根基类,也就是说所有类型都是Object的子类,所以任何类型的数据都可以赋值给Object声明的对象,所以表现效果和dynamic相似。 final和const 如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型。 一个 final 变量只能被设置一次,两者区别在于:const 变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如: //可以省略String这个类型声明 final str = \"hi world\"; //final String str = \"hi world\"; const str1 = \"hi world\"; //const String str1 = \"hi world\"; 函数 Dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型Function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。 函数声明 bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断: typedef bool CALLBACK(); //不指定返回类型,此时默认为dynamic,不是bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } void test(CALLBACK cb){ print(cb()); } //报错,isNoble不是bool类型 test(isNoble); 对于只包含一个表达式的函数,可以使用简写语法 bool isNoble (int atomicNumber )=> _nobleGases [ atomicNumber ] != null ; 函数作为变量 var say= (str){ print(str); }; say(\"hi world\"); 函数作为参数传递 void execute(var callback){ callback(); } execute(()=>print(\"xxx\")) 可选的位置参数 包装一组函数参数,用[]标记为可选的位置参数: String say(String from, String msg, [String device]) { var result = '$from says $msg'; if (device != null) { result = '$result with a $device'; } return result; } 下面是一个不带可选参数调用这个函数的例子: say('Bob', 'Howdy'); //结果是: Bob says Howdy 下面是用第三个参数调用这个函数的例子: say('Bob', 'Howdy', 'smoke signal'); //结果是:Bob says Howdy with a smoke signal 可选的命名参数 定义函数时,使用{param1, param2, …},用于指定命名参数。例如: //设置[bold]和[hidden]标志 void enableFlags({bool bold, bool hidden}) { // ... } 调用函数时,可以使用指定命名参数。例如:paramName: value enableFlags(bold: true, hidden: false); 可选命名参数在Flutter中使用非常多。 异步支持 Dart类库有非常多的返回Future或者Stream对象的函数。 这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像 IO操作。而不是等到这个操作完成。 async和await关键词支持了异步编程,运行您写出和同步代码很像的异步代码。 Future Future与JavaScript中的Promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个Future只会对应一个结果,要么成功,要么失败。 由于本身功能较多,这里我们只介绍其常用的API及特性。还有,请记住,Future 的所有API的返回值仍然是一个Future对象,所以可以很方便的进行链式调用。 Future.then 为了方便示例,在本例中我们使用Future.delayed 创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi world!\",然后我们在then中接收异步结果并打印结果,代码如下: Future.delayed(new Duration(seconds: 2),(){ return \"hi world!\"; }).then((data){ print(data); }); Future.catchError 如果异步任务发生错误,我们可以在catchError中捕获错误,我们将上面示例改为: Future.delayed(new Duration(seconds: 2),(){ //return \"hi world!\"; throw AssertionError(\"Error\"); }).then((data){ //执行成功会走到这里 print(\"success\"); }).catchError((e){ //执行失败会走到这里 print(e); }); 在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是 catchError回调函数将被调用;但是,并不是只有 catchError回调才能捕获错误,then方法还有一个可选参数onError,我们也可以它来捕获异常: Future.delayed(new Duration(seconds: 2), () { //return \"hi world!\"; throw AssertionError(\"Error\"); }).then((data) { print(\"success\"); }, onError: (e) { print(e); }); Future.whenComplete 有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用Future的whenComplete回调,我们将上面示例改一下: Future.delayed(new Duration(seconds: 2),(){ //return \"hi world!\"; throw AssertionError(\"Error\"); }).then((data){ //执行成功会走到这里 print(data); }).catchError((e){ //执行失败会走到这里 print(e); }).whenComplete((){ //无论成功或失败都会走到这里 }); Future.wait 有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到UI界面上,应该怎么做?答案是Future.wait,它接受一个Future数组参数,只有数组中所有Future都执行成功后,才会触发then的成功回调,只要有一个Future执行失败,就会触发错误回调。下面,我们通过模拟Future.delayed 来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下: Future.wait([ // 2秒后返回结果 Future.delayed(new Duration(seconds: 2), () { return \"hello\"; }), // 4秒后返回结果 Future.delayed(new Duration(seconds: 4), () { return \" world\"; }) ]).then((results){ print(results[0]+results[1]); }).catchError((e){ print(e); }); 执行上面代码,4秒后你会在控制台中看到“hello world”。 Async/await Dart中的async/await 和JavaScript中的async/await功能和用法是一模一样的,如果你已经了解JavaScript中的async/await的用法,可以直接跳过本节。 回调地狱(Callback hell) 如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现Future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户Id,然后通过用户Id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下: //先分别定义各个异步任务 Future login(String userName, String pwd){ ... //用户登录 }; Future getUserInfo(String id){ ... //获取用户信息 }; Future saveUserInfo(String userInfo){ ... // 保存用户信息 }; 接下来,执行整个任务流: login(\"alice\",\"******\").then((id){ //登录成功后通过,id获取用户信息 getUserInfo(id).then((userInfo){ //获取用户信息后保存 saveUserInfo(userInfo).then((){ //保存用户信息,接下来执行其它操作 ... }); }); }) 可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(Callback hell)。回调地狱问题在之前JavaScript中非常突出,也是JavaScript被吐槽最多的点,但随着ECMAScript6和ECMAScript7标准发布后,这个问题得到了非常好的解决,而解决回调地狱的两大神器正是ECMAScript6引入了Promise,以及ECMAScript7中引入的async/await。 而在Dart中几乎是完全平移了JavaScript中的这两者:Future相当于Promise,而async/await连名字都没改。接下来我们看看通过Future和async/await如何消除上面示例中的嵌套问题。 使用Future消除callback hell login(\"alice\",\"******\").then((id){ return getUserInfo(id); }).then((userInfo){ return saveUserInfo(userInfo); }).then((e){ //执行接下来的操作 }).catchError((e){ //错误处理 print(e); }); 正如上文所述, “Future 的所有API的返回值仍然是一个Future对象,所以可以很方便的进行链式调用” ,如果在then中返回的是一个Future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。 使用async/await消除callback hell 通过Future回调中再返回Future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下: task() async { try{ String id = await login(\"alice\",\"******\"); String userInfo = await getUserInfo(id); await saveUserInfo(userInfo); //执行接下来的操作 } catch(e){ //错误处理 print(e); } } async用来表示函数是异步的,定义的函数会返回一个Future对象,可以使用then方法添加回调函数。 await 后面是一个Future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在 async 函数内部。 可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。 其实,无论是在JavaScript还是Dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个Promise(Future)的调用链。 Stream Stream 也是用于接收异步事件数据,和Future 不同的是,它可以接收多个异步操作的结果(成功或失败)。 也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。 Stream 常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子: Stream.fromFutures([ // 1秒后返回结果 Future.delayed(new Duration(seconds: 1), () { return \"hello 1\"; }), // 抛出一个异常 Future.delayed(new Duration(seconds: 2),(){ throw AssertionError(\"Error\"); }), // 3秒后返回结果 Future.delayed(new Duration(seconds: 3), () { return \"hello 3\"; }) ]).listen((data){ print(data); }, onError: (e){ print(e.message); },onDone: (){ }); 上面的代码依次会输出: I/flutter (17666): hello 1 I/flutter (17666): Error I/flutter (17666): hello 3 代码很简单,就不赘述了。 思考题:既然Stream可以接收多次事件,那能不能用Stream来实现一个订阅者模式的事件总线? 总结 通过上面介绍,相信你对Dart应该有了一个初步的印象,由于笔者平时也使用Java和JavaScript,下面笔者根据自己的经验,结合Java和JavaScript,谈一下自己的看法。 之所以将Dart与Java和JavaScript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且Dart 语法中很多地方也都借鉴了Java和JavaScript。 Dart vs Java 客观的来讲,Dart在语法层面确实比Java更有表现力;在VM层面,Dart VM在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要Dart语言能流行,VM的性能就不用担心,毕竟Google在go(没用vm但有GC)、javascript(v8)、dalvik(android上的java vm)上已经有了很多技术积淀。值得注意的是Dart在Flutter中已经可以将GC做到10ms以内,所以Dart和Java相比,决胜因素并不会是在性能方面。而在语法层面,Dart要比java更有表现力,最重要的是Dart对函数式编程支持要远强于Java(目前只停留在lamda表达式),而Dart目前真正的不足是生态,但笔者相信,随着Flutter的逐渐火热,会回过头来反推Dart生态加速发展,对于Dart来说,现在需要的是时间。 Dart vs JavaScript JavaScript的弱类型一直被抓短,所以TypeScript、Coffeescript甚至是Facebook的flow(虽然并不能算JavaScript的一个超集,但也通过标注和打包工具提供了静态类型检查)才有市场。就笔者使用过的脚本语言中(笔者曾使用过Python、PHP),JavaScript无疑是动态化支持最好的脚本语言,比如在JavaScript中,可以给任何对象在任何时候动态扩展属性,对于精通JavaScript的高手来说,这无疑是一把利剑。但是,任何事物都有两面性,JavaScript的强大的动态化特性也是把双刃剑,你可经常听到另一个声音,认为JavaScript的这种动态性糟糕透了,太过灵活反而导致代码很难预期,无法限制不被期望的修改。毕竟有些人总是对自己或别人写的代码不放心,他们希望能够让代码变得可控,并期望有一套静态类型检查系统来帮助自己减少错误。正因如此,在Flutter中,Dart几乎放弃了脚本语言动态化的特性,如不支持反射、也不支持动态创建函数等。并且Dart在2.0强制开启了类型检查(Strong Mode),原先的检查模式(checked mode)和可选类型(optional type)将淡出,所以在类型安全这个层面来说,Dart和TypeScript、Coffeescript是差不多的,所以单从这一点来看,Dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、APP开发、web开发,这就有优势了! 综上所述,笔者还是很看好Dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。 "},"chapter2/":{"url":"chapter2/","title":"第一个Flutter应用","keywords":"","body":"简介 本章将通过一些简单的示例来一步步介绍Flutter的开发流程. 本章目录 实现一个计数器 路由管理 包管理 资源管理 调试Flutter APP Dart线程模型及异常捕获 "},"chapter2/first_flutter_app.html":{"url":"chapter2/first_flutter_app.html","title":"计数器示例","keywords":"","body":"计数器应用示例 用Android Studio和VS Code创建的Flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。对于接下来的示例,希望读者可以跟着笔者实际动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉Dart或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。 通过Android Studio和VS Code根据前面“编辑器配置与使用”一章中介绍的创建Flutter工程的方法创建一个新的Flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的Demo。 注意,默认Demo示例可能随着编辑器Flutter插件版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。 我们先运行此示例,效果图如下: 该计数器示例中,每点击一次右下角带“➕”号的悬浮按钮,屏幕中央的数字就会加1。 在这个示例中,主要Dart代码是在 lib/main.dart 文件中,下面我们看看该示例的源码: import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: 'Flutter Demo', theme: new ThemeData( primarySwatch: Colors.blue, ), home: new MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => new _MyHomePageState(); } class _MyHomePageState extends State { int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text(widget.title), ), body: new Center( child: new Column( mainAxisAlignment: MainAxisAlignment.center, children: [ new Text( 'You have pushed the button this many times:', ), new Text( '$_counter', style: Theme.of(context).textTheme.display1, ), ], ), ), floatingActionButton: new FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: new Icon(Icons.add), ), // This trailing comma makes auto-formatting nicer for build methods. ); } } 分析 导入包。 import 'package:flutter/material.dart'; 此行代码作用是导入了Material UI组件库。Material是一种标准的移动端和web端的视觉设计语言, Flutter默认提供了一套丰富的Material风格的UI组件。 应用入口。 void main() => runApp(new MyApp()); 与C/C++、Java类似,Flutter 应用中main函数为应用程序的入口,main函数中调用了,runApp 方法,它的功能是启动Flutter应用,它接受一个Widget参数,在本示例中它是MyApp类的一个实例,该参数代表Flutter应用。 main函数使用了(=>)符号,这是Dart中单行函数或方法的简写。 应用结构。 class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( //应用名称 title: 'Flutter Demo', theme: new ThemeData( //蓝色主题 primarySwatch: Colors.blue, ), //应用首页路由 home: new MyHomePage(title: 'Flutter Demo Home Page'), ); } } MyApp类代表Flutter应用,它继承了 StatelessWidget类,这也就意味着应用本身也是一个widget。 在Flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)。 Flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget)。 MaterialApp 是Material库中提供的Flutter APP框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个widget。 Scaffold 是Material库中提供的页面脚手架,它包含导航栏和Body以及FloatingActionButton(如果需要的话)。 本书后面示例中,路由默认都是通过Scaffold创建。 home 为Flutter应用的首页,它也是一个widget。 首页 class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => new _MyHomePageState(); } class _MyHomePageState extends State { ... } MyHomePage 是应用的首页,它继承自StatefulWidget类,表示它是一个有状态的widget(Stateful widget)。现在,我们可以简单认为Stateful widget 和Stateless widget有两点不同: Stateful widget可以拥有状态,这些状态在widget生命周期中是可以变的,而Stateless widget是不可变的。 Stateful widget至少由两个类组成: 一个StatefulWidget类。 一个 State类; StatefulWidget类本身是不变的,但是 State类中持有的状态在widget生命周期中可能会发生变化。 _MyHomePageState类是MyHomePage类对应的状态类。看到这里,细心的读者可能已经发现,和MyApp 类不同, MyHomePage类中并没有build方法,取而代之的是,build方法被挪到了_MyHomePageState方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。 接下来,我们看看_MyHomePageState中都包含哪些东西: 状态。 int _counter = 0; _counter 为保存屏幕右下角带“➕”号按钮点击次数的状态。 设置状态的自增函数。 void _incrementCounter() { setState(() { _counter++; }); } 当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setState 方法。setState方法的作用是通知Flutter框架,有状态发生了改变,Flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面, Flutter 对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。 构建UI界面 构建UI界面的逻辑在build方法中,当MyHomePage第一次创建时,_MyHomePageState类会被创建,当初始化完成后,Flutter框架会调用Widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_MyHomePageState的build方法中都干了什么事: Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text(widget.title), ), body: new Center( child: new Column( mainAxisAlignment: MainAxisAlignment.center, children: [ new Text( 'You have pushed the button this many times:', ), new Text( '$_counter', style: Theme.of(context).textTheme.display1, ), ], ), ), floatingActionButton: new FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: new Icon(Icons.add), ), ); } Scaffold 是 Material库中提供的一个widget, 它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。 body的widget树中包含了一个Center widget,Center 可以将其子widget树对齐到屏幕中心, Center 子widget是一个Column widget,Column的作用是将其所有子widget沿屏幕垂直方向依次排列, 此例中Column包含两个 Text子widget,第一个Text widget显示固定文本 “You have pushed the button this many times:”,第二个Text widget显示_counter状态的数值。 floatingActionButton是页面右下角的带“➕”的悬浮按钮,它的onPressed属性接受一个回调函数,代表它本点击后的处理器,本例中直接将_incrementCounter作为其处理函数。 现在,我们将整个流程串起来:当右下角的floatingActionButton按钮被点击之后,会调用_incrementCounter,在_incrementCounter中,首先会自增_counter计数器(状态),然后setState会通知Flutter框架状态发生变化,接着,Flutter会调用build方法以新的状态重新构建UI,最终显示在设备屏幕上。 为什么要将build方法放在State中,而不是放在StatefulWidget中? 现在,我们回答之前提出的问题,为什么build()方法在State(而不是StatefulWidget)中 ?这主要是为了开发的灵活性。如果将build()方法在StatefulWidget中则会有两个问题: 状态访问不便 试想一下,如果我们的Stateful widget 有很多状态,而每次状态改变都要调用build方法,由于状态是保存在State中的,如果将build方法放在StatefulWidget中,那么构建时读取状态将会很不方便,试想一下,如果真的将build方法放在StatefulWidget中的话,由于构建用户界面过程需要依赖State,所以build方法将必须加一个State参数,大概是下面这样: Widget build(BuildContext context, State state){ //state.counter ... } 这样的话就只能将State的所有状态声明为公开的状态,这样才能在State类外部访问状态,但将状态设置为公开后,状态将不再具有私密性,这样依赖,对状态的修改将会变的不可控。将build()方法放在State中的话,构建过程则可以直接访问状态,这样会很方便。 继承StatefulWidget不便 例如,Flutter中有一个动画widget的基类AnimatedWidget,它继承自StatefulWidget类。AnimatedWidget中引入了一个抽象方法build(BuildContext context),继承自AnimatedWidget的动画widget都要实现这个build方法。现在设想一下,如果StatefulWidget 类中已经有了一个build方法,正如上面所述,此时build方法需要接收一个state对象,这就意味着AnimatedWidget必须将自己的State对象(记为_animatedWidgetState)提供给其子类,因为子类需要在其build方法中调用父类的build方法,代码可能如下: class MyAnimationWidget extends AnimatedWidget{ @override Widget build(BuildContext context, State state){ //由于子类要用到AnimatedWidget的状态对象_animatedWidgetState, //所以AnimatedWidget必须通过某种方式将其状态对象_animatedWidgetState //暴露给其子类 super.build(context, _animatedWidgetState) } } 这样很显然是不合理的,因为 AnimatedWidget的状态对象是AnimatedWidget内部实现细节,不应该暴露给外部。 如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。 综上所述,可以发现,对于StatefulWidget,将build方法放在State中,可以给开发带来很大的灵活性。 "},"chapter2/flutter_router.html":{"url":"chapter2/flutter_router.html","title":"路由管理","keywords":"","body":"路由管理 路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。 示例 我们在上一节“计数器”示例的基础上,做如下修改: 创建一个新路由,命名“NewRoute” class NewRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(\"New route\"), ), body: Center( child: Text(\"This is new route\"), ), ); } } 新路由继承自StatelessWidget,界面很简单,在页面中间显示一句\"This is new route\"。 在_MyHomePageState.build方法中的Column的子widget中添加一个按钮(FlatButton) : Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ... //省略无关代码 FlatButton( child: Text(\"open new route\"), textColor: Colors.blue, onPressed: () { //导航到新路由 Navigator.push( context, new MaterialPageRoute(builder: (context) { return new NewRoute(); })); }, ), ], ) 我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面。 MaterialPageRoute MaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute 是Material组件库的一个Widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画: 对于Android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。 对于iOS,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。 下面我们介绍一下MaterialPageRoute 构造函数的各个参数的意义: MaterialPageRoute({ WidgetBuilder builder, RouteSettings settings, bool maintainState = true, bool fullscreenDialog = false, }) builder 是一个WidgetBuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。 settings 包含路由的配置信息,如路由名称、是否初始路由(首页)。 maintainState:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainState为false。 fullscreenDialog表示新的路由页面是否是一个全屏的模态对话框,在iOS中,如果fullscreenDialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。 如果想自定义路由切换动画,可以自己继承PageRoute来实现,我们将在后面介绍动画时,实现一个自定义的路由Widget。 Navigator Navigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法: Future push(BuildContext context, Route route) 将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(及关闭)时的返回数据。 bool pop(BuildContext context, [ result ]) 将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。 Navigator 还有很多其它方法,如Navigator.replace、Navigator.popUntil等,详情请参考API文档或SDK源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。 命名路由 所谓命名路由(Named Route)即给路由起一个名字,然后可以通过路由名字直接打开新的路由。这为路由管理带来了一种直观、简单的方式。 路由表 要想使用命名路由,我们必须先提供并注册一个路由表(routing table),这样应用程序才知道哪个名称与哪个路由Widget对应。路由表的定义如下: Map routes; 它是一个Map, key 为路由的名称,是个字符串;value是个builder回调函数,用于生成相应的路由Widget。我们在通过路由名称入栈新路由时,应用会根据路由名称在路由表中找到对应的WidgetBuilder回调函数,然后调用该回调函数生成路由widget并返回。 注册路由表 我们需要先注册路由表后,我们的Flutter应用才能正确处理命名路由的跳转。注册方式很简单,我们回到之前“计数器”的示例,然后在MyApp类的build方法中找到MaterialApp,添加routes属性,代码如下: return new MaterialApp( title: 'Flutter Demo', theme: new ThemeData( primarySwatch: Colors.blue, ), //注册路由表 routes:{ \"new_page\":(context)=>NewRoute(), } , home: new MyHomePage(title: 'Flutter Demo Home Page'), ); 现在我们就完成了路由表的注册。 通过路由名打开新路由页 要通过路由名称来打开新路由,可以使用: Future pushNamed(BuildContext context, String routeName) Navigator 除了pushNamed方法,还有pushReplacementNamed等其他管理命名路由的方法,读者可以自行查看API文档。 接下来我们通过路由名来打开新的路由页,修改FlatButton的onPressed回调代码,改为: onPressed: () { Navigator.pushNamed(context, \"new_page\"); //Navigator.push(context, // new MaterialPageRoute(builder: (context) { // return new NewRoute(); //})); }, 热重载应用,再次点击“open new route”按钮,依然可以打开新的路由页。 命名路由的优缺点 命名路由的最大优点是直观,我们可以通过语义化的字符串来管理路由。但其有一个明显的缺点:不能直接传递路由参数。举个例子,假设有一个新路由EchoRoute,它的功能是接受一个字符串参数tip,然后再在屏幕中心将tip的内容显示出来,代码如下: class EchoRoute extends StatelessWidget { EchoRoute(this.tip); final String tip; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(\"Echo route\"), ), body: Center( //回显tip内容 child: Text(tip), ), ); } } 如果我们使用命名参数,就必须将路由提前注册到路由表中,所以就无法动态修改tip参数,如: { \"tip_widgets\":(context)=>EchoRoute(\"内容固定\") } 综上所述,我们可以看到当路由需要参数时,使用命名路由则不够灵活。 "},"chapter2/flutter_package_mgr.html":{"url":"chapter2/flutter_package_mgr.html","title":"包管理","keywords":"","body":"包管理 一个完整的应用程序往往会依赖很多第三方包,正如在原生开发中,Android使用Gradle来管理依赖,iOS用Cocoapods或Carthage来管理依赖,而Flutter也有自己的依赖管理工具,本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。 YAML是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或Json相比,它语法简单并非常容易解析,所以YAML常用于配置文件,Flutter也是用yaml文件作为其配置文件,Flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例: name: flutter_in_action description: First Flutter application. version: 1.0.0+1 dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.2 dev_dependencies: flutter_test: sdk: flutter flutter: uses-material-design: true 下面,我们逐一解释一下各个字段的意义: name:应用或包名称。 description: 应用或包的描述、简介。 version:应用或包的版本号。 dependencies:应用或包依赖的其它包或插件。 dev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。 flutter:flutter相关的配置选项。 如果我们的Flutter应用本身依赖某个包,我们需要将所依赖的包添加到dependencies 下,接下来我们通过一个例子来演示一下如何依赖、下载并使用第三方包。 Pub仓库 Pub(https://pub.dartlang.org/ )是Google官方的Dart Packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。 示例 接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包,确定其最新的版本号和是否支持Flutter。 我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来: 将english_words(3.1.3版本)添加到依赖项列表,如下: dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.0 # 新添加的依赖 english_words: ^3.1.3 下载包 在Android Studio的编辑器视图中查看pubspec.yaml时,单击右上角的 Packages get 。 这会将依赖包安装到您的项目。您可以在控制台中看到以下内容: flutter packages get Running \"flutter packages get\" in flutter_in_action... Process finished with exit code 0 你也可以在控制台,定位到当前工程目录,然后手动运行flutter packages get 命令来下载依赖包。 引入english_words包。 import 'package:english_words/english_words.dart'; 在输入时,Android Studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。 使用english_words包来生成随机字符串。 class RandomWordsWidget extends StatelessWidget { @override Widget build(BuildContext context) { // 生成随机字符串 final wordPair = new WordPair.random(); return Padding( padding: const EdgeInsets.all(8.0), child: new Text(wordPair.toString()), ); } } 我们将RandomWordsWidget 添加到\"计数器\"示例的首页MyHomePage 的Column的子widget中。 如果应用程序正在运行,请使用热重载按钮 () 更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。 这是因为单词对是在 build 方法内部生成的。每次热更新时,build方法都会被执行。 其它依赖方式 上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。 依赖本地包 如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖: dependencies: pkg1: path: ../../code/pkg1 路径可以是相对的,也可以是绝对的。 依赖Git:你也可以依赖存储在Git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法 dependencies: pkg1: git: url: git://github.com/xxx/pkg1.git 上面假定包位于Git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如: dependencies: package1: git: url: git://github.com/flutter/packages.git path: packages/package1 总结 本节介绍了引用、下载、使用一个包的整体流程,并在后面介绍了多种不同的引入方式,这些是Flutter开发中常用的,但Dart的dependencies还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/dependencies 。 "},"chapter2/flutter_assets_mgr.html":{"url":"chapter2/flutter_assets_mgr.html","title":"资源管理","keywords":"","body":"资源管理 Flutter应用程序可以包含代码和 assets(有时称为资源)。assets是会打包到程序安装包中的,可在运行时访问。常见类型的assets包括静态数据(例如JSON文件)、配置文件、图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)等。 指定 assets 和包管理一样,Flutter也使用pubspec.yaml文件来管理应用程序所需的资源。举一个例子: flutter: assets: - assets/my_icon.png - assets/background.png assets指定应包含在应用程序中的文件。 每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是assets)。 在构建期间,Flutter将asset放置到称为 asset bundle 的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。 Asset 变体(variant) 构建过程支持asset变体的概念:不同版本的asset可能会显示在不同的上下文中。 在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset bundle中。 例如,如果应用程序目录中有以下文件: …/pubspec.yaml …/graphics/my_icon.png …/graphics/background.png …/graphics/dark/background.png …etc. 然后pubspec.yaml文件中只需包含: flutter: assets: - graphics/background.png 那么这两个graphics/background.png和graphics/dark/background.png 都将包含在您的asset bundle中。前者被认为是main asset (主资源),后者被认为是一种变体(variant)。 在选择匹配当前设备分辨率的图片时,Flutter会使用到asset变体(见下文),将来,Flutter可能会将这种机制扩展到本地化、阅读提示等方面。 加载 assets 您的应用可以通过AssetBundle对象访问其asset 。有两种主要方法允许从Asset bundle中加载字符串或图片(二进制)文件。 加载文本assets 通过rootBundle 对象加载:每个Flutter应用程序都有一个rootBundle对象, 通过它可以轻松访问主资源包,直接使用package:flutter/services.dart中全局静态的rootBundle对象来加载asset即可。 通过 DefaultAssetBundle 加载:建议使用 DefaultAssetBundle 来获取当前BuildContext的AssetBundle。 这种方法不是使用应用程序构建的默认asset bundle,而是使父级widget在运行时动态替换的不同的AssetBundle,这对于本地化或测试场景很有用。 通常,可以使用DefaultAssetBundle.of()在应用运行时来间接加载asset(例如JSON文件),而在widget上下文之外,或其它AssetBundle句柄不可用时,可以使用rootBundle直接加载这些asset,例如: import 'dart:async' show Future; import 'package:flutter/services.dart' show rootBundle; Future loadAsset() async { return await rootBundle.loadString('assets/config.json'); } 加载图片 类似于原生开发,Flutter也可以为当前设备加载适合其分辨率的图像。 声明分辨率相关的图片 assets AssetImage 可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset: …/image.png …/Mx/image.png …/Nx/image.png …etc. 其中M和N是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。 主资源默认对应于1.0倍的分辨率图片。看一个例子: …/my_icon.png …/2.0x/my_icon.png …/3.0x/my_icon.png 在设备像素比率为1.8的设备上,.../2.0x/my_icon.png 将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。 如果未在Image widget上指定渲染图像的宽度和高度,那么Image widget将占用与主资源相同的屏幕空间大小。 也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px; 但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。 pubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。当主资源缺少某个资源时,会按分辨率从低到高的顺序去选择 ,也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。 加载图片 要加载图片,可以使用 AssetImage类。例如,我们可以从上面的asset声明中加载背景图片: Widget build(BuildContext context) { return new DecoratedBox( decoration: new BoxDecoration( image: new DecorationImage( image: new AssetImage('graphics/background.png'), ), ), ); } 注意,AssetImage 并非是一个widget, 它实际上是一个ImageProvider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用Image.asset()方法,如: Widget build(BuildContext context) { return Image.asset('graphics/background.png'); } 使用默认的 asset bundle 加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。 (如果使用一些更低级别的类,如 ImageStream或 ImageCache 时你会注意到有与缩放相关的参数) 依赖包中的资源图片 要加载依赖包中的图像,必须给AssetImage提供package参数。 例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构: …/pubspec.yaml …/icons/heart.png …/icons/1.5x/heart.png …/icons/2.0x/heart.png …etc. 然后加载图像,使用: new AssetImage('icons/heart.png', package: 'my_icons') 或 new Image.asset('icons/heart.png', package: 'my_icons') 注意:包在使用本身的资源时也应该加上package参数来获取。 打包包中的 assets 如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。 包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。 例如,一个名为“fancy_backgrounds”的包,可能包含以下文件: …/lib/backgrounds/background1.png …/lib/backgrounds/background2.png …/lib/backgrounds/background3.png 要包含第一张图像,必须在pubspec.yaml的assets部分中声明它: flutter: assets: - packages/fancy_backgrounds/backgrounds/background1.png lib/是隐含的,所以它不应该包含在资产路径中。 特定平台 assets 上面的资源都是flutter应用中的,这些资源只有在Flutter框架运行之后才能使用,如果要给我们的应用设置APP图标或者添加启动图,那我们必须使用特定平台的assets。 设置APP图标 更新Flutter应用程序启动图标的方式与在本机Android或iOS应用程序中更新启动图标的方式相同。 Android 在Flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap-hdpi已包含占位符图像”ic_launcher.png”)。 只需按照Android开发人员指南中的说明, 将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。 注意: 如果您重命名.png文件,则还必须在您AndroidManifest.xml的标签的android:icon属性中更新名称。 iOS 在Flutter项目的根目录中,导航到.../ios/Runner。该目录中Assets.xcassets/AppIcon.appiconset已经包含占位符图片。 只需将它们替换为适当大小的图片。保留原始文件名称。 更新启动页 在Flutter框架加载时,Flutter会使用本地平台机制绘制启动页。此启动页将持续到Flutter渲染应用程序的第一帧时。 注意: 这意味着如果您不在应用程序的main()方法中调用runApp 函数 (或者更具体地说,如果您不调用window.render去响应window.onDrawFrame)的话, 启动屏幕将永远持续显示。 Android 要将启动屏幕(splash screen)添加到您的Flutter应用程序, 请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。 iOS 要将图片添加到启动屏幕(splash screen)的中心,请导航至.../ios/Runner。在Assets.xcassets/LaunchImage.imageset, 拖入图片,并命名为LaunchImage.png、LaunchImage@2x.png、LaunchImage@3x.png。 如果你使用不同的文件名,那您还必须更新同一目录中的Contents.json文件,图片的具体尺寸可以查看苹果官方的标准。 您也可以通过打开Xcode完全自定义storyboard。在Project Navigator中导航到Runner/Runner然后通过打开Assets.xcassets拖入图片,或者通过在LaunchScreen.storyboard中使用Interface Builder进行自定义。 "},"chapter2/flutter_app_debug.html":{"url":"chapter2/flutter_app_debug.html","title":"调试Flutter APP","keywords":"","body":"调试Flutter应用 有各种各样的工具和功能来帮助调试Flutter应用程序。 Dart 分析器 在运行应用程序前,请运行flutter analyze测试你的代码。这个工具(它是dartanalyzer工具的一个包装)将分析你的代码并帮助你发现可能的错误。 如果你使用IntelliJ的Flutter插件,那么已经自动启用了。 Dart分析器大量使用了代码中的类型注释来帮助追踪问题。我们鼓励您在任何地方使用它们(避免var、无类型的参数、无类型的列表文字等),因为这是追踪问题的最快的方式。 Dart Observatory (语句级的单步调试和分析器) 如果您使用flutter run启动应用程序,那么当它运行时,您可以打开Observatory URL的Web页面(例如Observatory监听http://127.0.0.1:8100/), 直接使用语句级单步调试器连接到您的应用程序。如果您使用的是IntelliJ,则还可以使用其内置的调试器来调试您的应用程序。 Observatory 同时支持分析、检查堆等。有关Observatory的更多信息请参考Observatory 文档. 如果您使用Observatory进行分析,请确保通过--profile选项来运行flutter run命令来运行应用程序。 否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。 debugger() 声明 当使用Dart Observatory(或另一个Dart调试器,例如IntelliJ IDE中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import 'dart:developer';到相关文件顶部。 debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示: void someFunction(double offset) { debugger(when: offset > 30.0); // ... } print、debugPrint、flutter logs Dart print()功能将输出到系统控制台,您可以使用flutter logs了查看它(基本上是一个包装adb logcat)。 如果你一次输出太多,那么Android有时会丢弃一些日志行。为了避免这种情况,您可以使用Flutter的foundation库中的debugPrint()。 这是一个封装print,它将输出限制在一个级别,避免被Android内核丢弃。 Flutter框架中的许多类都有toString实现。按照惯例,这些输出通常包括对象的runtimeType单行输出,通常在表单中ClassName(more information about this instance…)。 树中使用的一些类也具有toStringDeep,从该点返回整个子树的多行描述。已一些具有详细信息toString的类会实现一个toStringShort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。 调试模式断言 在开发过程中,强烈建议您使用Flutter的“调试”模式,有时也称为“checked”模式(注意:Dart2.0后“checked”被废除,可以使用“strong” mode)。 如果您使用flutter run运行程序。在这种模式下,Dart assert语句被启用,并且Flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。 当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。 要关闭调试模式并使用发布模式,请使用flutter run --release运行您的应用程序。 这也关闭了Observatory调试器。一个中间模式可以关闭除Observatory之外所有调试辅助工具的,称为“profile mode”,用--profile替代--release即可。 调试应用程序层 Flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugPrint)的功能。 Widget 层 要转储Widgets库的状态,请调用debugDumpApp()。 只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用 )的任何时间调用此方法(在调用runApp()之后)。 如, 这个应用程序: import 'package:flutter/material.dart'; void main() { runApp( new MaterialApp( home: new AppHome(), ), ); } class AppHome extends StatelessWidget { @override Widget build(BuildContext context) { return new Material( child: new Center( child: new FlatButton( onPressed: () { debugDumpApp(); }, child: new Text('Dump App'), ), ), ); } } …会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化): I/flutter ( 6559): WidgetsFlutterBinding - CHECKED MODE I/flutter ( 6559): RenderObjectToWidgetAdapter([GlobalObjectKey RenderView(497039273)]; renderObject: RenderView) I/flutter ( 6559): └MaterialApp(state: _MaterialAppState(1009803148)) I/flutter ( 6559): └ScrollConfiguration() I/flutter ( 6559): └AnimatedTheme(duration: 200ms; state: _AnimatedThemeState(543295893; ticker inactive; ThemeDataTween(ThemeData(Brightness.light Color(0xff2196f3) etc...) → null))) I/flutter ( 6559): └Theme(ThemeData(Brightness.light Color(0xff2196f3) etc...)) I/flutter ( 6559): └WidgetsApp([GlobalObjectKey _MaterialAppState(1009803148)]; state: _WidgetsAppState(552902158)) I/flutter ( 6559): └CheckedModeBanner() I/flutter ( 6559): └Banner() I/flutter ( 6559): └CustomPaint(renderObject: RenderCustomPaint) I/flutter ( 6559): └DefaultTextStyle(inherit: true; color: Color(0xd0ff0000); family: \"monospace\"; size: 48.0; weight: 900; decoration: double Color(0xffffff00) TextDecoration.underline) I/flutter ( 6559): └MediaQuery(MediaQueryData(size: Size(411.4, 683.4), devicePixelRatio: 2.625, textScaleFactor: 1.0, padding: EdgeInsets(0.0, 24.0, 0.0, 0.0))) I/flutter ( 6559): └LocaleQuery(null) I/flutter ( 6559): └Title(color: Color(0xff2196f3)) I/flutter ( 6559): └Navigator([GlobalObjectKey _WidgetsAppState(552902158)]; state: NavigatorState(240327618; tracking 1 ticker)) I/flutter ( 6559): └Listener(listeners: down, up, cancel; behavior: defer-to-child; renderObject: RenderPointerListener) I/flutter ( 6559): └AbsorbPointer(renderObject: RenderAbsorbPointer) I/flutter ( 6559): └Focus([GlobalKey 489139594]; state: _FocusState(739584448)) I/flutter ( 6559): └Semantics(container: true; renderObject: RenderSemanticsAnnotations) I/flutter ( 6559): └_FocusScope(this scope has focus; focused subscope: [GlobalObjectKey MaterialPageRoute(875520219)]) I/flutter ( 6559): └Overlay([GlobalKey 199833992]; state: OverlayState(619367313; entries: [OverlayEntry@248818791(opaque: false; maintainState: false), OverlayEntry@837336156(opaque: false; maintainState: true)])) I/flutter ( 6559): └_Theatre(renderObject: _RenderTheatre) I/flutter ( 6559): └Stack(renderObject: RenderStack) I/flutter ( 6559): ├_OverlayEntry([GlobalKey 612888877]; state: _OverlayEntryState(739137453)) I/flutter ( 6559): │└IgnorePointer(ignoring: false; renderObject: RenderIgnorePointer) I/flutter ( 6559): │ └ModalBarrier() I/flutter ( 6559): │ └Semantics(container: true; renderObject: RenderSemanticsAnnotations) I/flutter ( 6559): │ └GestureDetector() I/flutter ( 6559): │ └RawGestureDetector(state: RawGestureDetectorState(39068508; gestures: tap; behavior: opaque)) I/flutter ( 6559): │ └_GestureSemantics(renderObject: RenderSemanticsGestureHandler) I/flutter ( 6559): │ └Listener(listeners: down; behavior: opaque; renderObject: RenderPointerListener) I/flutter ( 6559): │ └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox) I/flutter ( 6559): └_OverlayEntry([GlobalKey 727622716]; state: _OverlayEntryState(279971240)) I/flutter ( 6559): └_ModalScope([GlobalKey 816151164]; state: _ModalScopeState(875510645)) I/flutter ( 6559): └Focus([GlobalObjectKey MaterialPageRoute(875520219)]; state: _FocusState(331487674)) I/flutter ( 6559): └Semantics(container: true; renderObject: RenderSemanticsAnnotations) I/flutter ( 6559): └_FocusScope(this scope has focus) I/flutter ( 6559): └Offstage(offstage: false; renderObject: RenderOffstage) I/flutter ( 6559): └IgnorePointer(ignoring: false; renderObject: RenderIgnorePointer) I/flutter ( 6559): └_MountainViewPageTransition(animation: AnimationController(⏭ 1.000; paused; for MaterialPageRoute(/))➩ProxyAnimation➩Cubic(0.40, 0.00, 0.20, 1.00)➩Tween(Offset(0.0, 1.0) → Offset(0.0, 0.0))➩Offset(0.0, 0.0); state: _AnimatedState(552160732)) I/flutter ( 6559): └SlideTransition(animation: AnimationController(⏭ 1.000; paused; for MaterialPageRoute(/))➩ProxyAnimation➩Cubic(0.40, 0.00, 0.20, 1.00)➩Tween(Offset(0.0, 1.0) → Offset(0.0, 0.0))➩Offset(0.0, 0.0); state: _AnimatedState(714726495)) I/flutter ( 6559): └FractionalTranslation(renderObject: RenderFractionalTranslation) I/flutter ( 6559): └RepaintBoundary(renderObject: RenderRepaintBoundary) I/flutter ( 6559): └PageStorage([GlobalKey 619728754]) I/flutter ( 6559): └_ModalScopeStatus(active) I/flutter ( 6559): └AppHome() I/flutter ( 6559): └Material(MaterialType.canvas; elevation: 0; state: _MaterialState(780114997)) I/flutter ( 6559): └AnimatedContainer(duration: 200ms; has background; state: _AnimatedContainerState(616063822; ticker inactive; has background)) I/flutter ( 6559): └Container(bg: BoxDecoration()) I/flutter ( 6559): └DecoratedBox(renderObject: RenderDecoratedBox) I/flutter ( 6559): └Container(bg: BoxDecoration(backgroundColor: Color(0xfffafafa))) I/flutter ( 6559): └DecoratedBox(renderObject: RenderDecoratedBox) I/flutter ( 6559): └NotificationListener() I/flutter ( 6559): └_InkFeature([GlobalKey ink renderer]; renderObject: _RenderInkFeatures) I/flutter ( 6559): └AnimatedDefaultTextStyle(duration: 200ms; inherit: false; color: Color(0xdd000000); family: \"Roboto\"; size: 14.0; weight: 400; baseline: alphabetic; state: _AnimatedDefaultTextStyleState(427742350; ticker inactive)) I/flutter ( 6559): └DefaultTextStyle(inherit: false; color: Color(0xdd000000); family: \"Roboto\"; size: 14.0; weight: 400; baseline: alphabetic) I/flutter ( 6559): └Center(alignment: Alignment.center; renderObject: RenderPositionedBox) I/flutter ( 6559): └FlatButton() I/flutter ( 6559): └MaterialButton(state: _MaterialButtonState(398724090)) I/flutter ( 6559): └ConstrainedBox(BoxConstraints(88.0(369160267)) I/flutter ( 6559): └GestureDetector() I/flutter ( 6559): └RawGestureDetector(state: RawGestureDetectorState(175370983; gestures: tap; behavior: opaque)) I/flutter ( 6559): └_GestureSemantics(renderObject: RenderSemanticsGestureHandler relayoutBoundary=up2) I/flutter ( 6559): └Listener(listeners: down; behavior: opaque; renderObject: RenderPointerListener relayoutBoundary=up3) I/flutter ( 6559): └Container(padding: EdgeInsets(16.0, 0.0, 16.0, 0.0)) I/flutter ( 6559): └Padding(renderObject: RenderPadding relayoutBoundary=up4) I/flutter ( 6559): └Center(alignment: Alignment.center; widthFactor: 1.0; renderObject: RenderPositionedBox relayoutBoundary=up5) I/flutter ( 6559): └Text(\"Dump App\") I/flutter ( 6559): └RichText(renderObject: RenderParagraph relayoutBoundary=up6) 这是一个“扁平化”的树,显示了通过各种构建函数投影的所有widget(如果你在widget树的根中调用toStringDeepwidget,这是你获得的树)。 你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,InkFeature是Material widget的一个实现细节 。 当按钮从被按下变为被释放时debugDumpApp()被调用,FlatButton对象同时调用setState(),并将自己标记为\"dirty\"。 这就是为什么如果你看转储,你会看到特定的对象标记为“dirty”。您还可以查看已注册了哪些手势监听器; 在这种情况下,一个单一的GestureDetector被列出,并且监听“tap”手势(“tap”是TapGestureDetector的toStringShort函数输出的) 如果您编写自己的widget,则可以通过覆盖debugFillProperties()来添加信息。 将DiagnosticsProperty对象作为方法参数,并调用父类方法。 该函数是该toString方法用来填充小部件描述信息的。 渲染层 如果您尝试调试布局问题,那么Widgets层的树可能不够详细。在这种情况下,您可以通过调用debugDumpRenderTree()转储渲染树。 正如debugDumpApp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从frame 回调 或事件处理器中调用它是最佳解决方案。 要调用debugDumpRenderTree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。 上面这个小例子的输出结果如下所示: I/flutter ( 6559): RenderView I/flutter ( 6559): │ debug mode enabled - android I/flutter ( 6559): │ window size: Size(1080.0, 1794.0) (in physical pixels) I/flutter ( 6559): │ device pixel ratio: 2.625 (physical pixels per logical pixel) I/flutter ( 6559): │ configuration: Size(411.4, 683.4) at 2.625x (in logical pixels) I/flutter ( 6559): │ I/flutter ( 6559): └─child: RenderCustomPaint I/flutter ( 6559): │ creator: CustomPaint ← Banner ← CheckedModeBanner ← I/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ← I/flutter ( 6559): │ Theme ← AnimatedTheme ← ScrollConfiguration ← MaterialApp ← I/flutter ( 6559): │ [root] I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ I/flutter ( 6559): └─child: RenderPointerListener I/flutter ( 6559): │ creator: Listener ← Navigator-[GlobalObjectKey I/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ← I/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ← I/flutter ( 6559): │ Theme ← AnimatedTheme ← ⋯ I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ behavior: defer-to-child I/flutter ( 6559): │ listeners: down, up, cancel I/flutter ( 6559): │ I/flutter ( 6559): └─child: RenderAbsorbPointer I/flutter ( 6559): │ creator: AbsorbPointer ← Listener ← I/flutter ( 6559): │ Navigator-[GlobalObjectKey I/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ← I/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ← I/flutter ( 6559): │ Theme ← ⋯ I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ absorbing: false I/flutter ( 6559): │ I/flutter ( 6559): └─child: RenderSemanticsAnnotations I/flutter ( 6559): │ creator: Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer I/flutter ( 6559): │ ← Listener ← Navigator-[GlobalObjectKey I/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ← I/flutter ( 6559): │ ⋯ I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ I/flutter ( 6559): └─child: _RenderTheatre I/flutter ( 6559): │ creator: _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope ← I/flutter ( 6559): │ Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ← I/flutter ( 6559): │ Listener ← Navigator-[GlobalObjectKey I/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): │ ← DefaultTextStyle ← ⋯ I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ I/flutter ( 6559): ├─onstage: RenderStack I/flutter ( 6559): ╎ │ creator: Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← I/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalKey 489139594] ← I/flutter ( 6559): ╎ │ AbsorbPointer ← Listener ← I/flutter ( 6559): ╎ │ Navigator-[GlobalObjectKey I/flutter ( 6559): ╎ │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): ╎ │ ← ⋯ I/flutter ( 6559): ╎ │ parentData: not positioned; offset=Offset(0.0, 0.0) I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ ├─child 1: RenderIgnorePointer I/flutter ( 6559): ╎ │ │ creator: IgnorePointer ← _OverlayEntry-[GlobalKey 612888877] ← I/flutter ( 6559): ╎ │ │ Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope I/flutter ( 6559): ╎ │ │ ← Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ← I/flutter ( 6559): ╎ │ │ Listener ← Navigator-[GlobalObjectKey I/flutter ( 6559): ╎ │ │ _WidgetsAppState(552902158)] ← Title ← ⋯ I/flutter ( 6559): ╎ │ │ parentData: not positioned; offset=Offset(0.0, 0.0) I/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ │ ignoring: false I/flutter ( 6559): ╎ │ │ ignoringSemantics: implicitly false I/flutter ( 6559): ╎ │ │ I/flutter ( 6559): ╎ │ └─child: RenderSemanticsAnnotations I/flutter ( 6559): ╎ │ │ creator: Semantics ← ModalBarrier ← IgnorePointer ← I/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ← I/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← Semantics ← I/flutter ( 6559): ╎ │ │ Focus-[GlobalKey 489139594] ← AbsorbPointer ← Listener ← ⋯ I/flutter ( 6559): ╎ │ │ parentData: I/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ │ I/flutter ( 6559): ╎ │ └─child: RenderSemanticsGestureHandler I/flutter ( 6559): ╎ │ │ creator: _GestureSemantics ← RawGestureDetector ← GestureDetector I/flutter ( 6559): ╎ │ │ ← Semantics ← ModalBarrier ← IgnorePointer ← I/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ← I/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← Semantics ← ⋯ I/flutter ( 6559): ╎ │ │ parentData: I/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ │ I/flutter ( 6559): ╎ │ └─child: RenderPointerListener I/flutter ( 6559): ╎ │ │ creator: Listener ← _GestureSemantics ← RawGestureDetector ← I/flutter ( 6559): ╎ │ │ GestureDetector ← Semantics ← ModalBarrier ← IgnorePointer ← I/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ← I/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← ⋯ I/flutter ( 6559): ╎ │ │ parentData: I/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ │ behavior: opaque I/flutter ( 6559): ╎ │ │ listeners: down I/flutter ( 6559): ╎ │ │ I/flutter ( 6559): ╎ │ └─child: RenderConstrainedBox I/flutter ( 6559): ╎ │ creator: ConstrainedBox ← Listener ← _GestureSemantics ← I/flutter ( 6559): ╎ │ RawGestureDetector ← GestureDetector ← Semantics ← ModalBarrier I/flutter ( 6559): ╎ │ ← IgnorePointer ← _OverlayEntry-[GlobalKey 612888877] ← Stack ← I/flutter ( 6559): ╎ │ _Theatre ← Overlay-[GlobalKey 199833992] ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ additionalConstraints: BoxConstraints(biggest) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child 2: RenderSemanticsAnnotations I/flutter ( 6559): ╎ │ creator: Semantics ← Focus-[GlobalObjectKey I/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey I/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ← I/flutter ( 6559): ╎ │ _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope ← I/flutter ( 6559): ╎ │ Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ← I/flutter ( 6559): ╎ │ Listener ← ⋯ I/flutter ( 6559): ╎ │ parentData: not positioned; offset=Offset(0.0, 0.0) I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderOffstage I/flutter ( 6559): ╎ │ creator: Offstage ← _FocusScope ← Semantics ← I/flutter ( 6559): ╎ │ Focus-[GlobalObjectKey MaterialPageRoute(875520219)] ← I/flutter ( 6559): ╎ │ _ModalScope-[GlobalKey 816151164] ← _OverlayEntry-[GlobalKey I/flutter ( 6559): ╎ │ 727622716] ← Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← I/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalKey 489139594] ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ offstage: false I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderIgnorePointer I/flutter ( 6559): ╎ │ creator: IgnorePointer ← Offstage ← _FocusScope ← Semantics ← I/flutter ( 6559): ╎ │ Focus-[GlobalObjectKey MaterialPageRoute(875520219)] ← I/flutter ( 6559): ╎ │ _ModalScope-[GlobalKey 816151164] ← _OverlayEntry-[GlobalKey I/flutter ( 6559): ╎ │ 727622716] ← Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← I/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ ignoring: false I/flutter ( 6559): ╎ │ ignoringSemantics: implicitly false I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderFractionalTranslation I/flutter ( 6559): ╎ │ creator: FractionalTranslation ← SlideTransition ← I/flutter ( 6559): ╎ │ _MountainViewPageTransition ← IgnorePointer ← Offstage ← I/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalObjectKey I/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey I/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ← I/flutter ( 6559): ╎ │ _Theatre ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ translation: Offset(0.0, 0.0) I/flutter ( 6559): ╎ │ transformHitTests: true I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderRepaintBoundary I/flutter ( 6559): ╎ │ creator: RepaintBoundary ← FractionalTranslation ← I/flutter ( 6559): ╎ │ SlideTransition ← _MountainViewPageTransition ← IgnorePointer ← I/flutter ( 6559): ╎ │ Offstage ← _FocusScope ← Semantics ← Focus-[GlobalObjectKey I/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey I/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ metrics: 83.3% useful (1 bad vs 5 good) I/flutter ( 6559): ╎ │ diagnosis: this is a useful repaint boundary and should be kept I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderDecoratedBox I/flutter ( 6559): ╎ │ creator: DecoratedBox ← Container ← AnimatedContainer ← Material I/flutter ( 6559): ╎ │ ← AppHome ← _ModalScopeStatus ← PageStorage-[GlobalKey I/flutter ( 6559): ╎ │ 619728754] ← RepaintBoundary ← FractionalTranslation ← I/flutter ( 6559): ╎ │ SlideTransition ← _MountainViewPageTransition ← IgnorePointer ← I/flutter ( 6559): ╎ │ ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ decoration: I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ │ configuration: ImageConfiguration(bundle: I/flutter ( 6559): ╎ │ PlatformAssetBundle@367106502(), devicePixelRatio: 2.625, I/flutter ( 6559): ╎ │ platform: android) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderDecoratedBox I/flutter ( 6559): ╎ │ creator: DecoratedBox ← Container ← DecoratedBox ← Container ← I/flutter ( 6559): ╎ │ AnimatedContainer ← Material ← AppHome ← _ModalScopeStatus ← I/flutter ( 6559): ╎ │ PageStorage-[GlobalKey 619728754] ← RepaintBoundary ← I/flutter ( 6559): ╎ │ FractionalTranslation ← SlideTransition ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ decoration: I/flutter ( 6559): ╎ │ backgroundColor: Color(0xfffafafa) I/flutter ( 6559): ╎ │ configuration: ImageConfiguration(bundle: I/flutter ( 6559): ╎ │ PlatformAssetBundle@367106502(), devicePixelRatio: 2.625, I/flutter ( 6559): ╎ │ platform: android) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: _RenderInkFeatures I/flutter ( 6559): ╎ │ creator: _InkFeature-[GlobalKey ink renderer] ← I/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox I/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← AnimatedContainer ← I/flutter ( 6559): ╎ │ Material ← AppHome ← _ModalScopeStatus ← PageStorage-[GlobalKey I/flutter ( 6559): ╎ │ 619728754] ← RepaintBoundary ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderPositionedBox I/flutter ( 6559): ╎ │ creator: Center ← DefaultTextStyle ← AnimatedDefaultTextStyle ← I/flutter ( 6559): ╎ │ _InkFeature-[GlobalKey ink renderer] ← I/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox I/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← AnimatedContainer ← I/flutter ( 6559): ╎ │ Material ← AppHome ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ alignment: Alignment.center I/flutter ( 6559): ╎ │ widthFactor: expand I/flutter ( 6559): ╎ │ heightFactor: expand I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderConstrainedBox relayoutBoundary=up1 I/flutter ( 6559): ╎ │ creator: ConstrainedBox ← MaterialButton ← FlatButton ← Center ← I/flutter ( 6559): ╎ │ DefaultTextStyle ← AnimatedDefaultTextStyle ← I/flutter ( 6559): ╎ │ _InkFeature-[GlobalKey ink renderer] ← I/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox I/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← ⋯ I/flutter ( 6559): ╎ │ parentData: offset=Offset(156.7, 323.7) I/flutter ( 6559): ╎ │ constraints: BoxConstraints(0.0 I/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0 I/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0 I/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0这是根RenderObject对象的toStringDeep函数的输出。 当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。 例如,在上面的转储中,您可以看到窗口大小,Size(411.4, 683.4),它用于强制RenderPositionedBox下的所有渲染框到屏幕的大小, 约束条件为 BoxConstraints(w=411.4, h=683.4)。从RenderPositionedBox的转储中看到是由Center widget创建的(如creator字段所描述的), 设置其孩子的约束为:BoxConstraints(0.0FlatButton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是Material Design设计规范中FlatButton类的尺寸标准)。 最内部RenderPositionedBox再次松开约束,这次是将按钮中的文本居中。 在RenderParagraph中基于它的内容来决定其大小。 如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。 另一种需要注意的是每个盒子描述的”relayoutSubtreeRoot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。 因此,RenderParagraph有一个relayoutSubtreeRoot=up8,这意味着当它RenderParagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。 如果您编写自己的渲染对象,则可以通过覆盖debugFillProperties()将信息添加到转储。 将DiagnosticsProperty对象作为方法的参数,并调用父类方法。 层 如果您尝试调试合成问题,则可以使用debugDumpLayerTree()。对于上面的例子,它会输出: I/flutter : TransformLayer I/flutter : │ creator: [root] I/flutter : │ offset: Offset(0.0, 0.0) I/flutter : │ transform: I/flutter : │ [0] 3.5,0.0,0.0,0.0 I/flutter : │ [1] 0.0,3.5,0.0,0.0 I/flutter : │ [2] 0.0,0.0,1.0,0.0 I/flutter : │ [3] 0.0,0.0,0.0,1.0 I/flutter : │ I/flutter : ├─child 1: OffsetLayer I/flutter : │ │ creator: RepaintBoundary ← _FocusScope ← Semantics ← Focus-[GlobalObjectKey MaterialPageRoute(560156430)] ← _ModalScope-[GlobalKey 328026813] ← _OverlayEntry-[GlobalKey 388965355] ← Stack ← Overlay-[GlobalKey 625702218] ← Navigator-[GlobalObjectKey _MaterialAppState(859106034)] ← Title ← ⋯ I/flutter : │ │ offset: Offset(0.0, 0.0) I/flutter : │ │ I/flutter : │ └─child 1: PictureLayer I/flutter : │ I/flutter : └─child 2: PictureLayer 这是根Layer的toStringDeep输出的。 根部的变换是应用设备像素比的变换; 在这种情况下,每个逻辑像素代表3.5个设备像素。 RepaintBoundary widget在渲染树的层中创建了一个RenderRepaintBoundary。这用于减少需要重绘的需求量。 语义 您还可以调用debugDumpSemanticsTree()获取语义树(呈现给系统可访问性API的树)的转储。 要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或SemanticsDebugger (下面讨论)。 对于上面的例子,它会输出: I/flutter : SemanticsNode(0; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4)) I/flutter : ├SemanticsNode(1; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4)) I/flutter : │ └SemanticsNode(2; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4); canBeTapped) I/flutter : └SemanticsNode(3; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4)) I/flutter : └SemanticsNode(4; Rect.fromLTRB(0.0, 0.0, 82.0, 36.0); canBeTapped; \"Dump App\") 调度 要找出相对于帧的开始/结束事件发生的位置,可以切换debugPrintBeginFrameBanner和debugPrintEndFrameBanner布尔值以将帧的开始和结束打印到控制台。 例如: I/flutter : ▄▄▄▄▄▄▄▄ Frame 12 30s 437.086ms ▄▄▄▄▄▄▄▄ I/flutter : Debug print: Am I performing this work more than once per frame? I/flutter : Debug print: Am I performing this work more than once per frame? I/flutter : ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ debugPrintScheduleFrameStacks还可以用来打印导致当前帧被调度的调用堆栈。 可视化调试 您也可以通过设置debugPaintSizeEnabled为true以可视方式调试布局问题。 这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。 设置它的最简单方法是在void main()的顶部设置。 当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如Padding)显示为浅蓝色,子widget周围有一个深蓝色框, 对齐方式(来自widget如Center和Align)显示为黄色箭头. 空白(如没有任何子节点的Container)以灰色显示。 debugPaintBaselinesEnabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。 debugPaintPointersEnabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。 这可以帮助您确定某个对象是否以某种不正确的方式进行hit测试(Flutter检测点击的位置是否有能响应用户操作的widget),例如,如果它实际上超出了其父项的范围,首先不会考虑通过hit测试。 如果您尝试调试合成图层,例如以确定是否以及在何处添加RepaintBoundary widget,则可以使用debugPaintLayerBordersEnabled 标志, 该标志用橙色或轮廓线标出每个层的边界,或者使用debugRepaintRainbowEnabled标志, 只要他们重绘时,这会使该层被一组旋转色所覆盖。 所有这些标志只能在调试模式下工作。通常,Flutter框架中以“debug...” 开头的任何内容都只能在调试模式下工作。 调试动画 调试动画最简单的方法是减慢它们的速度。为此,请将timeDilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。 最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。 调试性能问题 要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugPrintMarkNeedsLayoutStacks和 debugPrintMarkNeedsPaintStacks标志。 每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugPrintStack()方法按需打印堆栈痕迹。 衡量应用启动时间 要收集有关Flutter应用程序启动所需时间的详细信息,可以在运行flutter run时使用trace-startup和profile选项。 $ flutter run --trace-startup --profile 跟踪输出保存为start_up_info.json,在Flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间: 进入Flutter引擎时. 展示应用第一帧时. 初始化Flutter框架时. 完成Flutter框架初始化时. 如 : { \"engineEnterTimestampMicros\": 96025565262, \"timeToFirstFrameMicros\": 2171978, \"timeToFrameworkInitMicros\": 514585, \"timeAfterFrameworkInitMicros\": 1657393 } 跟踪Dart代码性能 要执行自定义性能跟踪和测量Dart任意代码段的wall/CPU时间(类似于在Android上使用systrace)。 使用dart:developer的Timeline工具来包含你想测试的代码块,例如: Timeline.startSync('interesting function'); // iWonderHowLongThisTakes(); Timeline.finishSync(); 然后打开你应用程序的Observatory timeline页面,在”Recorded Streams”中选择’Dart’复选框,并执行你想测量的功能。 刷新页面将在Chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。 请确保运行flutter run时带有--profile标志,以确保运行时性能特征与您的最终产品差异最小。 Performance Overlay 要获得应用程序性能图,请将MaterialApp构造函数的showPerformanceOverlay参数设置为true。 WidgetsApp构造函数也有类似的参数(如果你没有使用MaterialApp或者WidgetsApp,你可以通过将你的应用程序包装在一个stack中, 并将一个widget放在通过new PerformanceOverlay.allEnabled()创建的stack上来获得相同的效果)。 这将显示两个图表。第一个是GPU线程花费的时间,最后一个是CPU线程花费的时间。 图中的白线以16ms增量沿纵轴显示; 如果图中超过这三条线之一,那么您的运行频率低于60Hz。横轴代表帧。 该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。 这应该始终在发布模式(release mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。 Material grid 在开发实现Material Design的应用程序时, 将Material Design基线网格覆盖在应用程序上可能有助于验证对齐。 为此,MaterialApp 构造函数 有一个debugShowMaterialGrid参数, 当在调试模式设置为true时,它将覆盖这样一个网格。 您也可以直接使用GridPaperwidget将这种网格覆盖在非Material应用程序上 。 "},"chapter2/thread_model_and_error_report.html":{"url":"chapter2/thread_model_and_error_report.html","title":"Dart线程模型及异常捕获","keywords":"","body":"Dart线程模型及异常捕获 Dart单线程模型 在Java和OC中,如果程序发生异常且没有被捕获,那么程序将会终止,但在Dart或JavaScript中则不会,究其原因,这和它们的运行机制有关系,Java和OC都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但Dart和JavaScript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过Dart官方提供的一张图来看看dart大致运行原理: Dart 在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列” microtask queue,另一个叫做“事件队列” event queue。从图中可以发现,微任务队列的执行优先级高于事件队列。 现在我们来介绍一下Dart线程运行过程,如上图中所示,入口函数 main() 执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。 在Dart中,所有的外部事件任务都在事件队列中,如IO、计时器、点击、以及绘制事件等,而微任务通常来源于Dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于GUI应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过Future.microtask(…)方法向微任务队列插入一个任务。 在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。 Flutter异常捕获 Dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,,如果读者不清楚,可以查看Dart语言文档,不在赘述,下面我们看看Flutter中的异常捕获。 Flutter框架异常捕获 Flutter 框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,Flutter就会自动弹出一个错误界面,这是因为Flutter已经在执行build方法时添加了异常捕获,最终的源码如下: @override void performRebuild() { ... try { //执行build方法 built = build(); } catch (e, stack) { // 有异常时则弹出错误提示 built = ErrorWidget.builder(_debugReportException('building $this', e, stack)); } ... } 可以看到,在发生异常时,Flutter默认的处理方式是弹一个ErrorWidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugReportException()方法看看: FlutterErrorDetails _debugReportException( String context, dynamic exception, StackTrace stack, { InformationCollector informationCollector }) { //构建错误详情对象 final FlutterErrorDetails details = FlutterErrorDetails( exception: exception, stack: stack, library: 'widgets library', context: context, informationCollector: informationCollector, ); //报告错误 FlutterError.reportError(details); return details; } 我们发现,错误是通过FlutterError.reportError方法上报的,继续跟踪: static void reportError(FlutterErrorDetails details) { ... if (onError != null) onError(details); //调用了onError回调 } 我们发现onError是FlutterError的一个静态属性,它有一个默认的处理方法 dumpErrorToConsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如: void main() { FlutterError.onError = (FlutterErrorDetails details) { reportError(details); }; ... } 这样我们就可以处理那些Flutter为我们捕获的异常了,接下来我们看看如何捕获其它异常。 其它异常捕获与日志收集 在Flutter中,还有一些Flutter没有为我们捕获的异常,如调用空对象方法异常、Future中的异常。在Dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了Future的异常的: try{ Future.delayed(Duration(seconds: 1)).then((e) => Future.error(\"xxx\")); }catch (e){ print(e) } Dart中有一个runZoned(...) 方法,可以给执行对象指定一个Zone。Zone表示一个代码执行的环境范围,为了方便理解,读者可以将Zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如Zone中可以捕获日志输出、Timer创建、微任务调度的行为,同时Zone也可以捕获所有未处理的异常。下面我们看看runZoned(...)方法定义: R runZoned(R body(), { Map zoneValues, ZoneSpecification zoneSpecification, Function onError, }) zoneValues: Zone 的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。 zoneSpecification:Zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子: 下面是拦截应用中所有调用print输出日志的行为。 main() { runZoned(() => runApp(MyApp()), zoneSpecification: new ZoneSpecification( print: (Zone self, ZoneDelegate parent, Zone zone, String line) { parent.print(zone, \"Intercepted: $line\"); }), ); } 这样一来,我们APP中所有调用print方法输出日志的行为都会被拦截,通过这种方式,我们也可以在应用中记录日志,等到应用触发未捕获的异常时,将异常信息和日志统一上报。ZoneSpecification还可以自定义一些其他行为,读者可以查看API文档。 onError:Zone中未捕获异常处理回调,如果开发者提供了onError回调或者通过ZoneSpecification.handleUncaughtError指定了错误处理回调,那么这个zone将会变成一个error-zone,该error-zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如: runZoned(() { runApp(MyApp()); }, onError: (Object obj, StackTrace stack) { var details=makeDetails(obj,stack); reportError(details); }); 这样一来,结合上面的FlutterError.onError我们就可以捕获我们Flutter应用中全部错误了!需要注意的是,error-zone内部发生的错误是不会跨越当前error-zone的边界的,如果想跨越error-zone边界去捕获异常,可以通过共同的“源”zone来捕获,如: var future = new Future.value(499); runZoned(() { var future2 = future.then((_) { throw \"error in first error-zone\"; }); runZoned(() { var future3 = future2.catchError((e) { print(\"Never reached!\"); }); }, onError: (e) { print(\"unused error handler\"); }); }, onError: (e) { print(\"catches error of first error-zone.\"); }); 总结 我们最终的异常捕获和上报代码如下: void collectLog(String line){ ... //收集日志 } void reportErrorAndLog(FlutterErrorDetails details){ ... //上报错误和日志逻辑 } FlutterErrorDetails makeDetails(Object obj, StackTrace stack){ ...// 构建错误信息 } void main() { FlutterError.onError = (FlutterErrorDetails details) { reportErrorAndLog(details); }; runZoned( () => runApp(MyApp()), zoneSpecification: ZoneSpecification( print: (Zone self, ZoneDelegate parent, Zone zone, String line) { collectLog(line); //手机日志 }, ), onError: (Object obj, StackTrace stack) { var details = makeDetails(obj, stack); reportErrorAndLog(details); }, ); } "},"chapter3/":{"url":"chapter3/","title":"基础Widgets","keywords":"","body":"基础Widget 本节介绍一下Flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像API文档一样所有属性都介绍,关于属性详细的信息请参考Flutter SDK文档。 本章目录 Widget简介 文本、字体样式 按钮 图片和Icon 单选框和复选框 输入框和表单 "},"chapter3/flutter_widget_intro.html":{"url":"chapter3/flutter_widget_intro.html","title":"Widget简介","keywords":"","body":"Widget简介 概念 在前面的介绍中,我们知道Flutter中几乎所有的对象都是一个Widget,与原生开发中“控件”不同的是,Flutter中的widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于应用主题数据传递的Theme等等。而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时,我们可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。 Widget与Element 在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。实际上,Flutter中真正代表屏幕上显示元素的类是Element,也就是说Widget只是描述Element的一个配置,有关Element的详细介绍我们将在本书后面的高级部分深入介绍,读者现在只需要知道,Widget只是UI元素的一个配置数据,并且一个Widget可以对应多个Element,这是因为同一个Widget对象可以被添加到UI树的不同部分,而真正渲染时,UI树的每一个Widget节点都会对应一个Element对象。总结一下: Widget实际上就是Element的配置数据,Widget树实际上是一个配置树,而真正的UI渲染树是由Element构成;不过,由于Element是通过Widget生成,所以它们之间有对应关系,所以在大多数场景,我们可以宽泛地认为Widget树就是指UI控件树或UI渲染树。 一个Widget对象可以对应多个Element对象。这很好理解,根据同一份配置(Widget),可以创建多个实例(Element)。 读者应该将这两点牢记在心中。 主要接口 我们先来看一下Widget类的声明: @immutable abstract class Widget extends DiagnosticableTree { const Widget({ this.key }); final Key key; @protected Element createElement(); @override String toStringShort() { return key == null ? '$runtimeType' : '$runtimeType-$key'; } @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.defaultDiagnosticsTreeStyle = DiagnosticsTreeStyle.dense; } static bool canUpdate(Widget oldWidget, Widget newWidget) { return oldWidget.runtimeType == newWidget.runtimeType && oldWidget.key == newWidget.key; } } Widget类继承自DiagnosticableTree,DiagnosticableTree即“诊断树”,主要作用是提供调试信息。 Key: 这个key属性类似于React/Vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canUpdate()方法中。 createElement():正如前文所述“一个Widget可以对应多个Element”;Flutter Framework在构建UI树时,会先调用此方法生成对应节点的Element对象。此方法是Flutter Framework隐式调用的,在我们开发过程中基本不会调用到。 debugFillProperties(...) 复写父类的方法,主要是设置诊断树的一些特性。 canUpdate(...)是一个静态方法,它主要用于在Widget树重新build时复用旧的widget,其实具体来说,应该是:是否用新的Widget对象去更新旧UI树上所对应的Element对象的配置;通过其源码我们可以看到,只要newWidget与oldWidget的runtimeType和key同时相等时就会用newWidget去更新Element对象的配置,否则就会创建新的Element。 有关Key和Widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为Widget显式添加key的话可能(但不一定)会使UI在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,我们只在构建列表项UI时会显式指定Key。 另外Widget类本身是一个抽象类,其中最核心的就是定义了createElement()接口,在Flutter开发中,我们一般都不用直接继承Widget类来实现Widget,相反,我们通常会通过继承StatelessWidget和StatefulWidget来间接继承Widget类来实现,而StatelessWidget和StatefulWidget都是直接继承自Widget类,而这两个类也正是Flutter中非常重要的两个抽象类,它们引入了两种Widget模型,接下来我们将重点介绍一下这两个类。 Stateless Widget 在之前的章节中,我们已经简单介绍过StatelessWidget,StatelessWidget相对比较简单,它继承自Widget,重写了createElement()方法: @override StatelessElement createElement() => new StatelessElement(this); StatelessElement 间接继承自Element类,与StatelessWidget相对应(作为其配置数据)。 StatelessWidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它Widget来构建UI,在构建过程中会递归的构建其嵌套的Widget。我们看一个简单的例子: class Echo extends StatelessWidget { const Echo({ Key key, @required this.text, this.backgroundColor:Colors.grey, }):super(key:key); final String text; final Color backgroundColor; @override Widget build(BuildContext context) { return Center( child: Container( color: backgroundColor, child: Text(text), ), ); } } 上面的代码,实现了一个回显字符串的Echo widget。 按照惯例,widget的构造函数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查,另外,在继承widget时,第一个参数通常应该是Key,如果接受子widget的child参数,那么通常应该将它放在参数列表的最后。同样是按照惯例,widget的属性应被声明为final,防止被意外改变。 然后我们可以通过如下方式使用它: Widget build(BuildContext context) { return Echo(text: \"hello world\"); } Stateful Widget 和StatelessWidget一样,StatefulWidget也是继承自widget类,并重写了createElement()方法,不同的是返回的Element 对象并不相同;另外StatefulWidget类中添加了一个新的接口createState(),下面我们看看StatefulWidget的类定义: abstract class StatefulWidget extends Widget { const StatefulWidget({ Key key }) : super(key: key); @override StatefulElement createElement() => new StatefulElement(this); @protected State createState(); } StatefulElement 间接继承自Element类,与StatefulWidget相对应(作为其配置数据)。StatefulElement中可能会多次调用createState()来创建状态(State)对象。 createState() 用于创建和Stateful widget相关的状态,它在Stateful widget的生命周期中可能会被多次调用。例如,当一个Stateful widget同时插入到widget树的多个位置时,Flutter framework就会调用该方法为每一个位置生成一个独立的State实例,其实,本质上就是一个StatefulElement对应一个State实例。 在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与Element有对应关系(一可能对多),在有些场景(Flutter的SDK文档中)也代指“UI树”的意思。而在stateful widget中,State对象也和StatefulElement具有对应关系(一对一),所以在Flutter的SDK文档中,可以经常看到“从树中移除State对象”或“插入State对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。 State 一个StatefulWidget类会对应一个State类,State表示与其对应的StatefulWidget要维护的状态,State中的保存的状态信息可以: 在widget build时可以被同步读取。 在widget生命周期中可以被改变,当State被改变时,可以手动调用其setState()方法通知Flutter framework状态发生改变,Flutter framework在收到消息后,会重新调用其build方法重新构建widget树,从而达到更新UI的目的。 State中有两个常用属性: widget,它表示与该State实例关联的widget实例,由Flutter framework动态设置。注意,这种关联并非永久的,因为在应用声明周期中,UI树上的某一个节点的widget实例在重新构建时可能会变化,但State实例只会在第一次插入到树中时被创建,当在重新构建时,如果widget被修改了,Flutter framework会动态设置State.widget为新的widget实例。 context,它是BuildContext类的一个实例,表示构建widget的上下文,它是操作widget在树中位置的一个句柄,它包含了一些查找、遍历当前Widget树的一些方法。每一个widget都有一个自己的context对象。 对于BuildContext读者现在可以先作了解,随着本书后面内容的展开,也会用到Context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于BuildContext更多的内容,我们也将在后面高级部分再深入介绍。 State生命周期 理解State的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下State的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承StatefulWidget,代码如下: class CounterWidget extends StatefulWidget { const CounterWidget({ Key key, this.initValue: 0 }); final int initValue; @override _CounterWidgetState createState() => new _CounterWidgetState(); } CounterWidget接收一个initValue整形参数,它表示计数器的初始值。下面我们看一下State的代码: class _CounterWidgetState extends State { int _counter; @override void initState() { super.initState(); //初始化状态 _counter=widget.initValue; print(\"initState\"); } @override Widget build(BuildContext context) { print(\"build\"); return Center( child: FlatButton( child: Text('$_counter'), //点击后计数器自增 onPressed:()=>setState(()=> ++_counter) , ), ); } @override void didUpdateWidget(CounterWidget oldWidget) { super.didUpdateWidget(oldWidget); print(\"didUpdateWidget\"); } @override void deactivate() { super.deactivate(); print(\"deactive\"); } @override void dispose() { super.dispose(); print(\"dispose\"); } @override void reassemble() { super.reassemble(); print(\"reassemble\"); } @override void didChangeDependencies() { super.didChangeDependencies(); print(\"didChangeDependencies\"); } } 接下来,我们创建一个新路由,在新路由中,我们只显示一个CounterWidget: Widget build(BuildContext context) { return CounterWidget(); } 我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出: I/flutter ( 5436): initState I/flutter ( 5436): didChangeDependencies I/flutter ( 5436): build 可以看到,在StatefulWidget插入到Widget树时首先initState方法会被调用。 然后我们点击⚡️按钮热重载,控制台输出日志如下: I/flutter ( 5436): reassemble I/flutter ( 5436): didUpdateWidget I/flutter ( 5436): build 可以看到此时initState 和didChangeDependencies都没有被调用,而此时didUpdateWidget被调用。 接下来,我们在widget树中移除CounterWidget,将路由build方法改为: Widget build(BuildContext context) { //移除计数器 //return CounterWidget(); //随便返回一个Text() return Text(\"xxx\"); } 然后热重载,日志如下: I/flutter ( 5436): reassemble I/flutter ( 5436): deactive I/flutter ( 5436): dispose 我们可以看到,在CounterWidget从widget树中移除时,deactive和dispose会依次被调用。 下面我们来看看各个回调函数: initState:当Widget第一次插入到Widget树时会被调用,对于每一个State对象,Flutter framework只会调用一次该回调,所以,通常在该回调中做一些一次性的操作,如状态初始化、订阅子树的事件通知等。不能在该回调中调用BuildContext.inheritFromWidgetOfExactType(该方法用于在Widget树上获取离当前widget最近的一个父级InheritFromWidget,关于InheritedWidget我们将在后面章节介绍),原因是在初始化完成后,Widget树中的InheritFromWidget也可能会发生变化,所以正确的做法应该在在build()方法或didChangeDependencies()中调用它。 didChangeDependencies():当State对象的依赖发生变化时会被调用;例如:在之前build() 中包含了一个InheritedWidget,然后在之后的build() 中InheritedWidget发生了变化,那么此时InheritedWidget的子widget的didChangeDependencies()回调都会被调用。典型的场景是当系统语言Locale或应用主题改变时,Flutter framework会通知widget调用此回调。 build():此回调读者现在应该已经相当熟悉了,它主要是用于构建Widget子树的,会在如下场景被调用: 在调用initState()之后。 在调用didUpdateWidget()之后。 在调用setState()之后。 在调用didChangeDependencies()之后。 在State对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。 reassemble():此回调是专门为了开发调试而提供的,在热重载(hot reload)时会被调用,此回调在Release模式下永远不会被调用。 didUpdateWidget():在widget重新构建时,Flutter framework会调用Widget.canUpdate来检测Widget树中同一位置的新旧节点,然后决定是否需要更新,如果Widget.canUpdate返回true则会调用此回调。正如之前所述,Widget.canUpdate会在新旧widget的key和runtimeType同时相等时会返回true,也就是说在在新旧widget的key和runtimeType同时相等时didUpdateWidget()就会被调用。 deactivate():当State对象从树中被移除时,会调用此回调。在一些场景下,Flutter framework会将State对象重新插到树中,如包含此State对象的子树在树的一个位置移动到另一个位置时(可以通过GlobalKey来实现)。如果移除后没有重新插入到树中则紧接着会调用dispose()方法。 dispose():当State对象从树中被永久移除时调用;通常在此回调中释放资源。 todo: 这里缺一张生命周期图 注意:在继承StatefulWidget重写其方法时,对于包含@mustCallSuper标注的父类方法,都要在子类方法中先调用父类方法。 状态管理 响应式的编程框架中都会有一个永恒的主题——“状态管理”,无论是在React/Vue(两者都是支持响应式编程的web开发框架)还是Flutter,他们讨论的问题和解决的思想都是一致的。所以,如果你对React/Vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,stateful widget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法: Widget管理自己的state。 父widget管理子widget状态。 混合管理(父widget和子widget都管理状态)。 如何决定使用哪种管理方法?以下原则可以帮助你决定: 如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。 如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。 如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。 在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。 接下来,我们将通过创建三个简单示例TapboxA、TapboxB和TapboxC来说明管理状态的不同方式。 这些例子功能是相似的 ——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态 _active确定颜色:绿色为true ,灰色为false。 下面的例子将使用GestureDetector来识别点击事件,关于该GestureDetector的详细内容我们将在后面“事件处理”一章中介绍。 Widget管理自身状态 _TapboxAState 类: 管理TapboxA的状态。 定义_active:确定盒子的当前颜色的布尔值。 定义_handleTap()函数,该函数在点击该盒子时更新_active,并调用setState()更新UI。 实现widget的所有交互式行为。 // TapboxA 管理自身状态. //------------------------- TapboxA ---------------------------------- class TapboxA extends StatefulWidget { TapboxA({Key key}) : super(key: key); @override _TapboxAState createState() => new _TapboxAState(); } class _TapboxAState extends State { bool _active = false; void _handleTap() { setState(() { _active = !_active; }); } Widget build(BuildContext context) { return new GestureDetector( onTap: _handleTap, child: new Container( child: new Center( child: new Text( _active ? 'Active' : 'Inactive', style: new TextStyle(fontSize: 32.0, color: Colors.white), ), ), width: 200.0, height: 200.0, decoration: new BoxDecoration( color: _active ? Colors.lightGreen[700] : Colors.grey[600], ), ), ); } } 父widget管理子widget的state 对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。 例如,IconButton是一个图片按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。 在以下示例中,TapboxB通过回调将其状态导出到其父项。由于TapboxB不管理任何状态,因此它的父类为StatelessWidget。 ParentWidgetState 类: 为TapboxB 管理_active状态. 实现_handleTapboxChanged(),当盒子被点击时调用的方法. 当状态改变时,调用setState()更新UI. TapboxB 类: 继承StatelessWidget类,因为所有状态都由其父widget处理。 当检测到点击时,它会通知父widget。 // ParentWidget 为 TapboxB 管理状态. //------------------------ ParentWidget -------------------------------- class ParentWidget extends StatefulWidget { @override _ParentWidgetState createState() => new _ParentWidgetState(); } class _ParentWidgetState extends State { bool _active = false; void _handleTapboxChanged(bool newValue) { setState(() { _active = newValue; }); } @override Widget build(BuildContext context) { return new Container( child: new TapboxB( active: _active, onChanged: _handleTapboxChanged, ), ); } } //------------------------- TapboxB ---------------------------------- class TapboxB extends StatelessWidget { TapboxB({Key key, this.active: false, @required this.onChanged}) : super(key: key); final bool active; final ValueChanged onChanged; void _handleTap() { onChanged(!active); } Widget build(BuildContext context) { return new GestureDetector( onTap: _handleTap, child: new Container( child: new Center( child: new Text( active ? 'Active' : 'Inactive', style: new TextStyle(fontSize: 32.0, color: Colors.white), ), ), width: 200.0, height: 200.0, decoration: new BoxDecoration( color: active ? Colors.lightGreen[700] : Colors.grey[600], ), ), ); } } 混合管理 对于一些widget来说,混合管理的方式非常有用。在这种情况下,widget自身管理一些内部状态,而父widget管理一些其他外部状态。 在下面TapboxC示例中,按下时,盒子的周围会出现一个深绿色的边框。抬起时,边框消失;点击生效,盒子的颜色改变。 TapboxC将其_active状态导出到其父widget中,但在内部管理其_highlight状态。这个例子有两个状态对象_ParentWidgetState和_TapboxCState。 _ParentWidgetStateC 对象: 管理_active 状态。 实现 _handleTapboxChanged() ,当盒子被点击时调用。 当点击盒子并且_active状态改变时调用setState()更新UI。 _TapboxCState 对象: 管理_highlight state。 GestureDetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。 当按下、抬起、或者取消点击时更新_highlight状态,调用setState()更新UI。 当点击时,将状态的改变传递给父widget. //---------------------------- ParentWidget ---------------------------- class ParentWidgetC extends StatefulWidget { @override _ParentWidgetCState createState() => new _ParentWidgetCState(); } class _ParentWidgetCState extends State { bool _active = false; void _handleTapboxChanged(bool newValue) { setState(() { _active = newValue; }); } @override Widget build(BuildContext context) { return new Container( child: new TapboxC( active: _active, onChanged: _handleTapboxChanged, ), ); } } //----------------------------- TapboxC ------------------------------ class TapboxC extends StatefulWidget { TapboxC({Key key, this.active: false, @required this.onChanged}) : super(key: key); final bool active; final ValueChanged onChanged; _TapboxCState createState() => new _TapboxCState(); } class _TapboxCState extends State { bool _highlight = false; void _handleTapDown(TapDownDetails details) { setState(() { _highlight = true; }); } void _handleTapUp(TapUpDetails details) { setState(() { _highlight = false; }); } void _handleTapCancel() { setState(() { _highlight = false; }); } void _handleTap() { widget.onChanged(!widget.active); } Widget build(BuildContext context) { // 在按下时添加绿色边框,当抬起时,取消高亮 return new GestureDetector( onTapDown: _handleTapDown, // 处理按下事件 onTapUp: _handleTapUp, // 处理抬起事件 onTap: _handleTap, onTapCancel: _handleTapCancel, child: new Container( child: new Center( child: new Text(widget.active ? 'Active' : 'Inactive', style: new TextStyle(fontSize: 32.0, color: Colors.white)), ), width: 200.0, height: 200.0, decoration: new BoxDecoration( color: widget.active ? Colors.lightGreen[700] : Colors.grey[600], border: _highlight ? new Border.all( color: Colors.teal[700], width: 10.0, ) : null, ), ), ); } } 另一种实现可能会将高亮状态导出到父widget,同时保持_active状态为内部,但如果你要将该TapBox给其它人使用,可能没有什么意义。 开发人员只会关心该框是否处于Active状态,而不在乎高亮显示是如何管理的,所以应该让TapBox内部处理这些细节。 全局状态管理 当应用中包括一些跨widget(甚至跨路由)的状态需要同步时,上面介绍的方法很难胜任了。比如,我们有一个设置页,里面可以设置应用语言,但是我们为了让设置实时生效,我们期望在语言状态发生改变时,我们的APP Widget能够重新build一下,但我们的APP Widget和设置页并不在一起。正确的做法是通过一个全局状态管理器来处理这种“相距较远”的widget之间的通信。目前主要有两种办法: 实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在APP Widget所在的父widgetinitState 方法中订阅语言改变的事件,当用户在设置页切换语言后,我们触发语言改变事件,然后APP Widget那边就会收到通知,然后重新build一下即可。 使用redux这样的全局状态包,读者可以在pub上查看其详细信息。 本书后面事件处理一章中会实现一个全局事件总线。 Flutter widget库介绍 Flutter提供了一套丰富、强大的基础widget,在基础widget库之上Flutter又提供了一套Material风格(Android默认的视觉风格)和一套Cupertino风格(iOS视觉风格)的widget库。要使用基础widget库,需要先导入: import 'package:flutter/widgets.dart'; 下面我们介绍一下常用的widget。 基础widget Text:该 widget 可让您创建一个带格式的文本。 Row、 Column: 这些具有弹性空间的布局类Widget可让您在水平(Row)和垂直(Column)方向上创建灵活的布局。其设计是基于web开发中的Flexbox布局模型。 Stack: 取代线性布局 (译者语:和Android中的FrameLayout相似),Stack允许子 widget 堆叠, 你可以使用 Positioned 来定位他们相对于Stack的上下左右四条边的位置。Stacks是基于Web开发中的绝对定位(absolute positioning )布局模型设计的。 Container: Container 可让您创建矩形视觉元素。container 可以装饰一个BoxDecoration, 如 background、一个边框、或者一个阴影。 Container 也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外, Container可以使用矩阵在三维空间中对其进行变换。 Material widget Flutter提供了一套丰富的Material widget,可帮助您构建遵循Material Design的应用程序。Material应用程序以MaterialApp widget开始, 该widget在应用程序的根部创建了一些有用的widget,比如一个Theme,它配置了应用的主题。 是否使用MaterialApp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个Material widget了,如:Scaffold、AppBar、FlatButton等。要使用Material widget,需要先引入它: import 'package:flutter/material.dart'; Cupertino widget Flutter也提供了一套丰富的Cupertino风格的widget,尽管目前还没有Material widget那么丰富,但也在不断的完善中。值得一提的是在Material widget库中,有一些widget可以根据实际运行平台来切换表现风格,比如MaterialPageRoute,在路由切换时,如果是Android系统,它将会使用Android系统默认的页面切换动画(从底向上),如果是iOS系统时,它会使用iOS系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有Cupertino widget的示例,我们实现一个简单的Cupertino页面: //导入cupertino widget库 import 'package:flutter/cupertino.dart'; class CupertinoTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text(\"Cupertino Demo\"), ), child: Center( child: CupertinoButton( color: CupertinoColors.activeBlue, child: Text(\"Press\"), onPressed: () {} ), ), ); } } 下面是在iPhoneX上页面效果截图: 总结 Flutter提供了丰富的widget,在实际的开发中你可以随意使用它们,不要怕引入过多widget库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于Material和Cupertino都是在基础widget库之上的,所以如果你的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。 "},"chapter3/text.html":{"url":"chapter3/text.html","title":"文本、字体样式","keywords":"","body":"文本及样式 Text Text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下: Text(\"Hello world\", textAlign: TextAlign.center, ); Text(\"Hello world! I'm Jack. \"*4, maxLines: 1, overflow: TextOverflow.ellipsis, ); Text(\"Hello world\", textScaleFactor: 1.5, ); 运行效果如下: textAlign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有Text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串: Text(\"Hello world \"*6, //字符串重复六次 textAlign: TextAlign.center, ); 运行效果如下: ​ 字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。 maxLines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式TextOverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;TextOverflow的其它截断方式请参考SDK文档。 textScaleFactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。 TextStyle TextStyle用于指定文本显示的样式如颜色、字体、粗细、背景等。我们看一个示例: Text(\"Hello world\", style: TextStyle( color: Colors.blue, fontSize: 18.0, height: 1.2, fontFamily: \"Courier\", background: new Paint()..color=Colors.yellow, decoration:TextDecoration.underline, decorationStyle: TextDecorationStyle.dashed ), ); 效果如下: 此示例只展示了TextStyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅SDK文档。值得注意的是: height:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height。 fontFamily :由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。 fontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两给主要区别: fontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。 textScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本。 TextSpan 在上面的例子中,Text的所有文本内容只能按同一种样式,如果我们需要对一个Text内容的不同部分按照不同的样式显示,这时就可以使用TextSpan,它代表文本的一个“片段”。我们看看TextSpan的定义: const TextSpan({ TextStyle style, Sting text, List children, GestureRecognizer recognizer, }); 其中style 和 text属性代表该文本片段的样式和内容。 children是一个TextSpan的数组,也就是说TextSpan可以包括其他TextSpan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果,然后用TextSpan实现它。 源码: Text.rich(TextSpan( children: [ TextSpan( text: \"Home: \" ), TextSpan( text: \"https://flutterchina.club\", style: TextStyle( color: Colors.blue ), recognizer: _tapRecognizer ), ] )) 上面代码中,我们通过TextSpan实现了一个基础文本片段和一个链接片段,然后通过Text.rich 方法将TextSpan 添加到Text中,之所以可以这样做,是因为Text其实就是RichText的一个包装,而RichText是可以显示多种样式(富文本)的widget。 _tapRecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。 DefaultTextStyle 在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而DefaultTextStyle正是用于设置默认文本样式的。下面我们看一个例子: DefaultTextStyle( //1.设置文本默认样式 style: TextStyle( color:Colors.red, fontSize: 20.0, ), textAlign: TextAlign.start, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(\"hello world\"), Text(\"I am Jack\"), Text(\"I am Jack\", style: TextStyle( inherit: false, //2.不继承默认样式 color: Colors.grey ), ), ], ), ); 上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过DefaultTextStyle 设置给了子树Column节点处,这样一来Column的所有子孙Text默认都会继承该样式,除非Text显示指定不继承样式,如代码中注释2。示例运行效果如下: 使用字体 可以在Flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如Google Fonts中的字体。本节将介绍如何为Flutter应用配置字体,并在渲染文本时使用它们。 在Flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过TextStyle属性使用字体。 在asset中声明 要将字体打文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如: flutter: fonts: - family: Raleway fonts: - asset: assets/fonts/Raleway-Regular.ttf - asset: assets/fonts/Raleway-Medium.ttf weight: 500 - asset: assets/fonts/Raleway-SemiBold.ttf weight: 600 - family: AbrilFatface fonts: - asset: assets/fonts/abrilfatface/AbrilFatface-Regular.ttf 使用字体 // 声明文本样式 const textStyle = const TextStyle( fontFamily: 'Raleway', ); // 使用文本样式 var buttonText = const Text( \"Use the font for this text\", style: textStyle, ); Package中的字体 要使用Package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建TextStyle的过程如下: const textStyle = const TextStyle( fontFamily: 'Raleway', package: 'my_package', //指定包名 ); 如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。 一个包也可以只提供字体文件而不需要在pubspec.yaml中声明。 这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件: lib/fonts/Raleway-Medium.ttf 然后,应用程序可以声明一个字体,如下面的示例所示: flutter: fonts: - family: Raleway fonts: - asset: assets/fonts/Raleway-Regular.ttf - asset: packages/my_package/fonts/Raleway-Medium.ttf weight: 500 lib/是隐含的,所以它不应该包含在asset路径中。 在这种情况下,由于应用程序本地定义了字体,所以在创建TextStyle时可以不指定package参数: const textStyle = const TextStyle( fontFamily: 'Raleway', ); "},"chapter3/buttons.html":{"url":"chapter3/buttons.html","title":"按钮","keywords":"","body":"按钮 Material widget库中提供了多种按钮Widget如RaisedButton、FlatButton、OutlineButton等,它们都是直接或间接对RawMaterialButton的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有Material 库中的按钮都有如下相同点: 按下时都会有“水波动画”。 有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。 RaisedButton RaisedButton 即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如: 使用RaisedButton非常简单,如: RaisedButton( child: Text(\"normal\"), onPressed: () => {}, ); FlatButton FlatButton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色: 使用FlatButton也很简单,代码如下: FlatButton( child: Text(\"normal\"), onPressed: () => {}, ) OutlineButton OutlineButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱): 使用OutlineButton也很简单,代码如下: OutlineButton( child: Text(\"normal\"), onPressed: () => {}, ) IconButton IconButton是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景: 使用代码如下: IconButton( icon: Icon(Icons.thumb_up), onPressed: () => {}, ) 自定义按钮外观 按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以FlatButton为例,介绍一下常见的按钮属性,详细的信息可以查看API文档。 const FlatButton({ ... @required this.onPressed, //按钮点击回调 this.textColor, //按钮文字颜色 this.disabledTextColor, //按钮禁用时的文字颜色 this.color, //按钮背景颜色 this.disabledColor,//按钮禁用时的背景颜色 this.highlightColor, //按钮按下时的背景颜色 this.splashColor, //点击时,水波动画中水波的颜色 this.colorBrightness,//按钮主题,默认是浅色主题 this.padding, //按钮的填充 this.shape, //外形 @required this.child, //按钮的内容 }) 其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。 示例 定义一个背景蓝色,两边圆角的按钮。效果如下: 代码如下: FlatButton( color: Colors.blue, highlightColor: Colors.blue[700], colorBrightness: Brightness.dark, splashColor: Colors.grey, child: Text(\"Submit\"), shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)), onPressed: () => {}, ) 很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorBrightness为Brightness.dark,这是为了保证按钮文字颜色为浅色。 细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的FlatButton换成RaisedButton就行,其它代码不用改,换了之后我们看看效果: 是不是有质感了!之所以会这样,是因为RaisedButton默认有配置阴影: const RaisedButton({ ... this.elevation = 2.0, //正常状态下的阴影 this.highlightElevation = 8.0,//按下时的阴影 this.disabledElevation = 0.0,// 禁用时的阴影 ... } 值得注意的是,在Material widget库中,我们会在很多widget中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在Material设计风格中是一种很重要的表现形式,以后在介绍其它widget时,便不再赘述。 如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,本文将在后面介绍Container时来介绍如何实现。 "},"chapter3/img_and_icon.html":{"url":"chapter3/img_and_icon.html","title":"图片和Icon","keywords":"","body":"图片及ICON 图片 Flutter中,我们可以通过Image来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。 ImageProvider ImageProvider 是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvider ,如AssetImage是实现了从Asset中加载图片的ImageProvider,而NetworkImage实现了从网络加载图片的ImageProvider。 Image Image widget有一个必选的image参数,它对应一个ImageProvider。下面我们分别演示一下如何从asset和网络加载图片。 从asset中加载图片 在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。 在pubspec.yml中的flutter部分添加如下内容: assets: - images/avatar.png 加载该图片 Image( image: AssetImage(\"images/avatar.png\"), width: 100.0 ); Image也提供了一个快捷的构造函数Image.asset用于从asset中加载、显示图片: Image.asset(\"images/avatar.png\", width: 100.0, ) 从网络加载图片 Image( image: NetworkImage( \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"), width: 100.0, ) Image也提供了一个快捷的构造函数Image.network用于从网络加载、显示图片: Image.network( \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\", width: 100.0, ) 运行上面两个示例,图片加载成功后显示如下: 参数 Image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下Image的主要参数: const Image({ ... this.width, //图片的宽 this.height, //图片高度 this.color, //图片的混合色值 this.colorBlendMode, //混合模式 this.fit,//缩放模式 this.alignment = Alignment.center, //对齐方式 this.repeat = ImageRepeat.noRepeat, //重复方式 ... }) width、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。 fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在BoxFit中定义,它是一个枚举类型,有如下值: fill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。 cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。 contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。 fitWidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。 fitHeight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。 none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。 一图胜万言: color和 colorBlendMode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorBlendMode指定混合模式,下面是一个简单的示例: Image( image: AssetImage(\"images/avatar.png\"), width: 100.0, color: Colors.blue, colorBlendMode: BlendMode.difference, ); 运行效果如下(彩色): repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下: Image( image: AssetImage(\"images/avatar.png\"), width: 100.0, height: 200.0, repeat: ImageRepeat.repeatY , ) 运行后效果如下: ICON Flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。 在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。 在Flutter开发中,iconfont和图片相比有如下优势: 体积小:可以减小安装包大小。 矢量的:iconfont都是矢量图标,放大不会影响其清晰度。 可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。 可以通过TextSpan和文本混用。 使用Material Design字体图标 Flutter默认包含了一套Material Design的字体图标,在pubspec.yaml文件中的配置如下 flutter: uses-material-design: true Material Design所有图标可以在其官网查看:https://material.io/tools/icons/ 我们看一个简单的例子: String icons = \"\"; // accessible:  or 0xE914 or E914 icons += \"\\uE914\"; // error:  or 0xE000 or E000 icons += \" \\uE000\"; // fingerprint:  or 0xE90D or E90D icons += \" \\uE90D\"; Text(icons, style: TextStyle( fontFamily: \"MaterialIcons\", fontSize: 24.0, color: Colors.green ), ); 运行效果如下: 通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,Flutter封装了一个IconData和Icon来专门显示字体图标,上面的例子也可以用如下方式实现: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.accessible,color: Colors.green,), Icon(Icons.error,color: Colors.green,), Icon(Icons.fingerprint,color: Colors.green,), ], ) Icons类中包含了所有Material Design图标的IconData静态变量定义。 使用自定义字体图标 我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在Flutter中,我们使用ttf格式即可。 假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入: 导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\": fonts: - family: myIcon #指定一个字体名 fonts: - asset: fonts/iconfont.ttf 为了使用方便,我们定义一个MyIcons类,功能和Icons类一样:将字体文件中的所有图标都定义成静态变量: class MyIcons{ // book 图标 static const IconData book = const IconData( 0xe614, fontFamily: 'myIcon', matchTextDirection: true ); // 微信图标 static const IconData wechat = const IconData( 0xec7d, fontFamily: 'myIcon', matchTextDirection: true ); } 使用 Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(MyIcons.book,color: Colors.purple,), Icon(MyIcons.wechat,color: Colors.green,), ], ) 运行后效果如下: "},"chapter3/radio_and_checkbox.html":{"url":"chapter3/radio_and_checkbox.html","title":"单选框和复选框","keywords":"","body":"单选开关和复选框 Material widgets库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击Switch或Checkbox时,它们会触发onChanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例: class SwitchAndCheckBoxTestRoute extends StatefulWidget { @override _SwitchAndCheckBoxTestRouteState createState() => new _SwitchAndCheckBoxTestRouteState(); } class _SwitchAndCheckBoxTestRouteState extends State { bool _switchSelected=true; //维护单选开关状态 bool _checkboxSelected=true;//维护复选框状态 @override Widget build(BuildContext context) { return Column( children: [ Switch( value: _switchSelected,//当前状态 onChanged:(value){ //重新构建页面 setState(() { _switchSelected=value; }); }, ), Checkbox( value: _checkboxSelected, activeColor: Colors.red, //选中时的颜色 onChanged:(value){ setState(() { _checkboxSelected=value; }); } , ) ], ); } } 上面代码中,由于要维护Switch和Checkbox状态,所以SwitchAndCheckBoxTestRoute继承自StatefulWidget 。在其build方法中分别构建了一个Switch和Checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setState()通知framework重新构建UI。 属性及外观 Switch和Checkbox属性比较简单,读者可以查看API文档,它们都有一个activeColor属性,用于设置激活态的颜色。至于大小,到目前为止,Checkbox的大小是固定的,无法自定义,而Switch只能定义宽度,高度也是固定的。值得一提的是Checkbox有一个属性tristate ,表示是否为三态,其默认值为false ,这时Checkbox有两种状态即“选中”和“不选中”,对应的value值为true和false ;如果其值为true时,value的值会增加一个状态null,读者可以自行了解。 总结 通过Switch和Checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父widget来管理状态,然后当用户点击时,再通过事件通知给父widget,这样是合理的,因为Switch和Checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义widget时也应该思考一下哪种状态的管理方式最为合理。 "},"chapter3/input_and_form.html":{"url":"chapter3/input_and_form.html","title":"输入框和表单","keywords":"","body":"输入框及表单 Material widget库中提供了丰富的输入框及表单Widget。下面我们分别介绍一下。 TextField TextField用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。 const TextField({ ... TextEditingController controller, FocusNode focusNode, InputDecoration decoration = const InputDecoration(), TextInputType keyboardType, TextInputAction textInputAction, TextStyle style, TextAlign textAlign = TextAlign.start, bool autofocus = false, bool obscureText = false, int maxLines = 1, int maxLength, bool maxLengthEnforced = true, ValueChanged onChanged, VoidCallback onEditingComplete, ValueChanged onSubmitted, List inputFormatters, bool enabled, this.cursorWidth = 2.0, this.cursorRadius, this.cursorColor, ... }) controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则TextField内部会自动创建一个。 focusNode:用于控制TextField是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。 InputDecoration:用于控制TextField的外观显示,如提示文本、背景颜色、边框等。 keyboardType:用于设置该输入框默认的键盘输入类型,取值如下: | TextInputType枚举值 | 含义 | | ------------------- | --------------------------------------------------- | | text | 文本输入键盘 | | multiline | 多行文本,需和maxLines配合使用(设为null或大于1) | | number | 数字;会弹出数字键盘 | | phone | 优化后的电话号码输入键盘;会弹出数字键盘并显示\"* #\" | | datetime | 优化后的日期输入键盘;Android上会显示“: -” | | emailAddress | 优化后的电子邮件地址;会显示“@ .” | | url | 优化后的url输入键盘; 会显示“/ .” | textInputAction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看API文档,下面是当值为TextInputAction.search时,原生Android系统下键盘样式: style:正在编辑的文本样式。 textAlign: 输入框内编辑文本在水平方向的对齐方式。 autofocus: 是否自动获取焦点。 obscureText:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。 maxLines:输入框的最大行数,默认为1;如果为null,则无行数限制。 maxLength和maxLengthEnforced :maxLength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxLengthEnforced决定当输入文本长度超过maxLength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。 onChange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。 onEditingComplete和onSubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onSubmitted回调是ValueChanged类型,它接收当前输入内容做为参数,而onEditingComplete不接收参数。 inputFormatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。 enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。 cursorWidth、cursorRadius和cursorColor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。 示例:登录输入框 布局 Column( children: [ TextField( autofocus: true, decoration: InputDecoration( labelText: \"用户名\", hintText: \"用户名或邮箱\", prefixIcon: Icon(Icons.person) ), ), TextField( decoration: InputDecoration( labelText: \"密码\", hintText: \"您的登录密码\", prefixIcon: Icon(Icons.lock) ), obscureText: true, ), ], ); 获取输入内容 获取输入内容有两种方式: 定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。 通过controller直接获取。 第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例: 定义一个controller: //定义一个controller TextEditingController _unameController=new TextEditingController(); 然后设置输入框controller: TextField( autofocus: true, controller: _unameController, //设置controller ... ) 通过controller获取输入框内容 print(_unameController.text) 监听文本变化 监听文本变化也有两种方式: 设置onChange回调,如: TextField( autofocus: true, onChanged: (v) { print(\"onChange: $v\"); } ) 通过controller监听,如: @override void initState() { //监听输入改变 _unameController.addListener((){ print(_unameController.text); }); } 两种方式相比,onChanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子: 创建一个controller: TextEditingController _selectionController = new TextEditingController(); 设置默认值,并从第三个字符开始选中后面的字符 _selectionController.text=\"hello world!\"; _selectionController.selection=TextSelection( baseOffset: 2, extentOffset: _selectionController.text.length ); 设置controller: TextField( controller: _selectionController, ) 运行效果如下: 控制焦点 焦点可以通过FocusNode和FocusScopeNode来控制,默认情况下,焦点由FocusScope来管理,它代表焦点控制范围,可以在这个范围内可以通过FocusScopeNode在输入框之间移动焦点、设置默认焦点等。我们可以通过FocusScope.of(context) 来获取widget树中默认的FocusScopeNode。下面看一个示例,在此示例中创建两个TextField,第一个自动获取焦点,然后创建两个按钮: 点击第一个按钮可以将焦点从第一个TextField挪到第二个TextField。 点击第二个按钮可以关闭键盘。 界面如下: 代码如下: class FocusTestRoute extends StatefulWidget { @override _FocusTestRouteState createState() => new _FocusTestRouteState(); } class _FocusTestRouteState extends State { FocusNode focusNode1 = new FocusNode(); FocusNode focusNode2 = new FocusNode(); FocusScopeNode focusScopeNode; @override Widget build(BuildContext context) { return Padding( padding: EdgeInsets.all(16.0), child: Column( children: [ TextField( autofocus: true, focusNode: focusNode1,//关联focusNode1 decoration: InputDecoration( labelText: \"input1\" ), ), TextField( focusNode: focusNode2,//关联focusNode2 decoration: InputDecoration( labelText: \"input2\" ), ), Builder(builder: (ctx) { return Column( children: [ RaisedButton( child: Text(\"移动焦点\"), onPressed: () { //将焦点从第一个TextField移到第二个TextField // 这是一种写法 FocusScope.of(context).requestFocus(focusNode2); // 这是第二种写法 if(null == focusScopeNode){ focusScopeNode = FocusScope.of(context); } focusScopeNode.requestFocus(focusNode2); }, ), RaisedButton( child: Text(\"隐藏键盘\"), onPressed: () { // 当所有编辑框都失去焦点时键盘就会收起 focusNode1.unfocus(); focusNode2.unfocus(); }, ), ], ); }, ), ], ), ); } } FocusNode和FocusScopeNode还有一些其它的方法,详情可以查看API文档。 监听焦点状态改变事件 FocusNode继承自ChangeNotifier,通过FocusNode可以监听焦点的改变事件,如: ... // 创建 focusNode FocusNode focusNode = new FocusNode(); ... // focusNode绑定输入框 TextField(focusNode: focusNode); ... // 监听焦点变化 focusNode.addListener((){ print(focusNode.hasFocus); }); 获得焦点时focusNode.hasFocus值为true,失去焦点时为false。 自定义样式 虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果: TextField( ... decoration: InputDecoration( border: UnderlineInputBorder( //下面代码没有效果 borderSide: BorderSide( color: Colors.red, width: 5.0 )), prefixIcon: Icon(Icons.person) ), ), 之所以如此,是由于TextField在绘制下划线时使用的颜色是主题色里面的hintColor,但提示文本颜色也是用的hintColor, 如果我们直接修改hintColor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintStyle,它可以覆盖hintColor,并且主题中可以通过inputDecorationTheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下: Theme( data: Theme.of(context).copyWith( hintColor: Colors.grey[200], //定义下划线颜色 inputDecorationTheme: InputDecorationTheme( labelStyle: TextStyle(color: Colors.grey),//定义label字体样式 hintStyle: TextStyle(color: Colors.grey, fontSize: 14.0)//定义提示文本样式 ) ), child: Column( children: [ TextField( decoration: InputDecoration( labelText: \"用户名\", hintText: \"用户名或邮箱\", prefixIcon: Icon(Icons.person) ), ), TextField( decoration: InputDecoration( prefixIcon: Icon(Icons.lock), labelText: \"密码\", hintText: \"您的登录密码\", hintStyle: TextStyle(color: Colors.grey, fontSize: 13.0) ), obscureText: true, ) ], ) ) 运行效果如下: 我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labelText不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉TextField本身的下划线,然后通过Container去嵌套定义样式,如: Container( child: TextField( keyboardType: TextInputType.emailAddress, decoration: InputDecoration( labelText: \"Email\", hintText: \"电子邮件地址\", prefixIcon: Icon(Icons.email), border: InputBorder.none //隐藏下划线 ) ), decoration: BoxDecoration( // 下滑线浅灰色,宽度1像素 border: Border(bottom: BorderSide(color: Colors.grey[200], width: 1.0)) ), ) 运行效果: 通过这种widget组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。 思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢? 表单Form 实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form widget,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。 Form Form继承自StatefulWidget对象,它对应的状态类为FormState。我们先看看Form类的定义: Form({ @required Widget child, bool autovalidate = false, WillPopCallback onWillPop, VoidCallback onChanged, }) autovalidate:是否自动校验输入内容;当为true时,每一个子FormField内容发生变化时都会自动校验合法性,并直接显示错误信息。否则,需要通过调用FormState.validate()来手动校验。 onWillPop:决定Form所在的路由是否可以直接返回(如点击返回按钮),该回调返回一个Future对象,如果Future的最终结果是false,则当前路由不会返回;如果为true,则会返回到上一个路由。此属性通常用于拦截返回按钮。 onChanged:Form的任意一个子FormField内容发生变化时会触发此回调。 FormField Form的子孙元素必须是FormField类型,FormField是一个抽象类,定义几个属性,FormState内部通过它们来完成操作,FormField部分定义如下: const FormField({ ... FormFieldSetter onSaved, //保存回调 FormFieldValidator validator, //验证回调 T initialValue, //初始值 bool autovalidate = false, //是否自动校验。 }) 为了方便使用,Flutter提供了一个TextFormField widget,它继承自FormField类,也是TextField的一个包装类,所以除了FormField定义的属性之外,它还包括TextField的属性。 FormState FormState为Form的State类,可以通过Form.of()或GlobalKey获得。我们可以通过它来对Form的子孙FormField进行统一操作。我们看看其常用的三个方法: FormState.validate():调用此方法后,会调用Form子孙FormField的validate回调,如果有一个校验失败,则返回false,所有校验失败项都会返回用户返回的错误提示。 FormState.save():调用此方法后,会调用Form子孙FormField的save回调,用于保存表单内容 FormState.reset():调用此方法后,会将子孙FormField的内容清空。 示例 我们修改一下上面用户登录的示例,在提交之前校验: 用户名不能为空,如果为空则提示“用户名不能为空”。 密码不能小于6位,如果小于6为则提示“密码不能少于6位”。 完整代码: class FormTestRoute extends StatefulWidget { @override _FormTestRouteState createState() => new _FormTestRouteState(); } class _FormTestRouteState extends State { TextEditingController _unameController = new TextEditingController(); TextEditingController _pwdController = new TextEditingController(); GlobalKey _formKey= new GlobalKey(); @override Widget build(BuildContext context) { return PageScaffold( title: \"Form Test\", body: Padding( padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 24.0), child: Form( key: _formKey, //设置globalKey,用于后面获取FormState autovalidate: true, //开启自动校验 child: Column( children: [ TextFormField( autofocus: true, controller: _unameController, decoration: InputDecoration( labelText: \"用户名\", hintText: \"用户名或邮箱\", icon: Icon(Icons.person) ), // 校验用户名 validator: (v) { return v .trim() .length > 0 ? null : \"用户名不能为空\"; } ), TextFormField( controller: _pwdController, decoration: InputDecoration( labelText: \"密码\", hintText: \"您的登录密码\", icon: Icon(Icons.lock) ), obscureText: true, //校验密码 validator: (v) { return v .trim() .length > 5 ? null : \"密码不能少于6位\"; } ), // 登录按钮 Padding( padding: const EdgeInsets.only(top: 28.0), child: Row( children: [ Expanded( child: RaisedButton( padding: EdgeInsets.all(15.0), child: Text(\"登录\"), color: Theme .of(context) .primaryColor, textColor: Colors.white, onPressed: () { //在这里不能通过此方式获取FormState,context不对 //print(Form.of(context)); // 通过_formKey.currentState 获取FormState后, // 调用validate()方法校验用户名密码是否合法,校验 // 通过后再提交数据。 if((_formKey.currentState as FormState).validate()){ //验证通过提交数据 } }, ), ), ], ), ) ], ), ), ), ); } } 运行后: 注意,登录按钮的onPressed方法中不能通过Form.of(context)来获取,原因是,此处的context为FormTestRoute的context,而Form.of(context)是根据所指定context向根去查找,而FormState是在FormTestRoute的子树中,所以不行。正确的做法是通过Builder来构建登录按钮,Builder会将widget节点的context作为回调参数: Expanded( // 通过Builder来获取RaisedButton所在widget树的真正context(Element) child:Builder(builder: (context){ return RaisedButton( ... onPressed: () { //由于本widget也是Form的子代widget,所以可以通过下面方式获取FormState if(Form.of(context).validate()){ //验证通过提交数据 } }, ); }) ) 其实context正是操作Widget所对应的Element的一个接口,由于Widget树对应的Element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。Flutter中有很多“of(context)”这种方法,在使用时读者一定要注意context是否正确。 "},"chapter4/":{"url":"chapter4/","title":"布局类Widgets","keywords":"","body":"本章目录 布局类Widgets简介 线性布局Row、Column 弹性布局Flex 流式布局Wrap、Flow 层叠布局Stack、Positioned "},"chapter4/intro.html":{"url":"chapter4/intro.html","title":"布局类Widgets简介","keywords":"","body":"布局类Widget 简介 布局类Widget都会包含一个或多个子widget,不同的布局类Widget对子widget排版(layout)方式不同。我们在前面说过Element树才是最终的绘制树,Element树是通过widget树来创建的(通过Widget.createElement()),widget其实就是Element的配置数据。Flutter中,根据Widget是否需要包含子节点将Widget分为了三类,分别对应三种Element,如下表: Widget 对应的Element 用途 LeafRenderObjectWidget LeafRenderObjectElement Widget树的叶子节点,用于没有子节点的widget,通常基础widget都属于这一类,如Text、Image。 SingleChildRenderObjectWidget SingleChildRenderObjectElement 包含一个子Widget,如:ConstrainedBox、DecoratedBox等 MultiChildRenderObjectWidget MultiChildRenderObjectElement 包含多个子Widget,一般都有一个children参数,接受一个Widget数组。如Row、Column、Stack等 注意,Flutter中的很多Widget是直接继承自StatelessWidget或StatefulWidget,然后在build()方法中构建真正的RenderObjectWidget,如Text,它其实是继承自StatelessWidget,然后在build()方法中通过RichText来构建其子树,而RichText才是继承自LeafRenderObjectWidget。所以为了方便叙述,我们也可以直接说Text属于LeafRenderObjectWidget(其它widget也可以这么描述),这才是本质。读到这里我们也会发现,其实StatelessWidget和StatefulWidget就是两个用于组合Widget的基类,它们本身并不关联最终的渲染对象(RenderObjectWidget)。 布局类Widget就是指直接或间接继承(包含)MultiChildRenderObjectWidget的Widget,它们一般都会有一个children属性用于接收子Widget。我们看一下继承关系 Widget > RenderObjectWidget > (Leaf/SingleChild/MultiChild)RenderObjectWidget 。RenderObjectWidget类中定义了创建、更新RenderObject的方法,子类必须实现他们,关于RenderObject我们现在只需要知道它是最终布局、渲染UI界面的对象即可,也就是说,对于布局类Widget来说,其布局算法都是通过对应的RenderObject对象来实现的,所以读者如果对接下来介绍的某个布局类Widget原理感兴趣,可以查看其RenderObject的实现,而在本章中,为了让读者对布局类Widget有个快速的认识,所以我们不会深入到RenderObject的细节中区。在学习本章时,读者的重点是掌握不同布局类Widget的布局特点,具体原理和细节我们会在后面高级部分介绍。 "},"chapter4/row_and_column.html":{"url":"chapter4/row_and_column.html","title":"线性布局Row、Column","keywords":"","body":"线性布局Row和Column 所谓线性布局,即指沿水平或垂直方向排布子Widget。Flutter中通过Row和Column来实现线性布局,类似于Android中的LinearLayout控件。Row和Column都继承自Flex,我们将在弹性布局一节中详细介绍Flex。 主轴和纵轴 对于线性布局,有主轴和纵轴之分,如果布局是沿水平方,那么主轴就指是水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类MainAxisAlignment和CrossAxisAlignment,分别代表主轴对齐和纵轴对齐。 Row Row可以在水平方向排列其子widget。定义如下: Row({ ... TextDirection textDirection, MainAxisSize mainAxisSize = MainAxisSize.max, MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, VerticalDirection verticalDirection = VerticalDirection.down, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, List children = const [], }) textDirection:表示水平方向子widget的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。 mainAxisSize:表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则Row的实际宽度等于所有子widgets占用的的水平空间; mainAxisAlignment:表示子Widgets在Row所占用的水平空间内对齐方式,如果mainAxisSize值为MainAxisSize.min,则此属性无意义,因为子widgets的宽度等于Row的宽度。只有当mainAxisSize的值为MainAxisSize.max时,此属性才有意义,MainAxisAlignment.start表示沿textDirection的初始方向对齐,如textDirection取值为TextDirection.ltr时,则MainAxisAlignment.start表示左对齐,textDirection取值为TextDirection.rtl时表示从右对齐。而MainAxisAlignment.end和MainAxisAlignment.start正好相反;MainAxisAlignment.center表示居中对齐。读者可以这么理解:textDirection是mainAxisAlignment的参考系。 verticalDirection:表示Row纵轴(垂直)的对齐方向,默认是VerticalDirection.down,表示从上到下。 crossAxisAlignment:表示子Widgets在纵轴方向的对齐方式,Row的高度等于子Widgets中最高的子元素高度,它的取值和MainAxisAlignment一样(包含start、end、 center三个值),不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为VerticalDirection.down时crossAxisAlignment.start指顶部对齐,verticalDirection值为VerticalDirection.up时,crossAxisAlignment.start指底部对齐;而crossAxisAlignment.end和crossAxisAlignment.start正好相反; children :子Widgets数组。 示例 请阅读下面代码,想象一下运行的结果: Column( //测试Row对齐方式,排除Column默认居中对齐的干扰 crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Text(\" hello world \"), Text(\" I am Jack \"), ], ), Row( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ Text(\" hello world \"), Text(\" I am Jack \"), ], ), Row( mainAxisAlignment: MainAxisAlignment.end, textDirection: TextDirection.rtl, children: [ Text(\" hello world \"), Text(\" I am Jack \"), ], ), Row( crossAxisAlignment: CrossAxisAlignment.start, verticalDirection: VerticalDirection.up, children: [ Text(\" hello world \", style: TextStyle(fontSize: 30.0),), Text(\" I am Jack \"), ], ), ], ); 运行结果: 解释:第一个Row很简单,默认为居中对齐;第二个Row,由于mainAxisSize值为MainAxisSize.min,Row的宽度等于两个Text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个Row设置textDirection值为TextDirection.rtl,所以子widget会从右向左的顺序排列,而此时MainAxisAlignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个Row测试的是纵轴的对齐方式,由于两个子Text字体不一样,所以其高度也不同,我们指定了verticalDirection值为VerticalDirection.up,即从低向顶排列,而此时crossAxisAlignment值为CrossAxisAlignment.start表示底对齐。 Column Column可以在垂直方向排列其子widget。参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比Row来理解,在此不再赘述。 特殊情况 如果Row里面嵌套Row,或者Column里面再嵌套Column,那么只有对最外面的Row或Column会占用尽可能大的空间,里面Row或Column所占用的空间为实际大小,下面以Column为例说明: Container( color: Colors.green, child: Padding( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.max, //有效,外层Colum高度为整个屏幕 children: [ Container( color: Colors.red, child: Column( mainAxisSize: MainAxisSize.max,//无效,内层Colum高度为实际高度 children: [ Text(\"hello world \"), Text(\"I am Jack \"), ], ), ) ], ), ), ); 运行结果: 如果要让里面的Colum占满外部Colum,可以使用Expanded widget: Expanded( child: Container( color: Colors.red, child: Column( mainAxisAlignment: MainAxisAlignment.center, //垂直方向居中对齐 children: [ Text(\"hello world \"), Text(\"I am Jack \"), ], ), ), ) 运行效果: 我们将在介绍弹性布局时详细介绍Expanded。 "},"chapter4/flex.html":{"url":"chapter4/flex.html","title":"弹性布局Flex","keywords":"","body":"弹性布局 弹性布局允许子widget按照一定比例来分配父容器空间,弹性布局的概念在其UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout。Flutter中的弹性布局主要通过Flex和Expanded来配合实现。 Flex Flex可以沿着水平或垂直方向排列子widget,如果你知道主轴方向,使用Row或Column会方便一些,因为Row和Column都继承自Flex,参数基本相同,所以能使用Flex的地方一定可以使用Row或Column。Flex本身功能是很强大的,它也可以和Expanded配合实现弹性布局,接下来我们只讨论Flex和弹性布局相关的属性(其它属性已经在介绍Row和Column时介绍过了)。 Flex({ ... @required this.direction, //弹性布局的方向, Row默认为水平方向,Column默认为垂直方向 List children = const [], }) Flex继承自MultiChildRenderObjectWidget,对应的RenderObject为RenderFlex,RenderFlex中实现了其布局算法。 Expanded 可以按比例“扩伸”Row、Column和Flex子widget所占用的空间。 const Expanded({ int flex = 1, @required Widget child, }) flex为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的Expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子: class FlexLayoutTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Column( children: [ //Flex的两个子widget按1:2来占据水平空间 Flex( direction: Axis.horizontal, children: [ Expanded( flex: 1, child: Container( height: 30.0, color: Colors.red, ), ), Expanded( flex: 2, child: Container( height: 30.0, color: Colors.green, ), ), ], ), Padding( padding: const EdgeInsets.only(top: 20.0), child: SizedBox( height: 100.0, //Flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间 child: Flex( direction: Axis.vertical, children: [ Expanded( flex: 2, child: Container( height: 30.0, color: Colors.red, ), ), Spacer( flex: 1, ), Expanded( flex: 1, child: Container( height: 30.0, color: Colors.green, ), ), ], ), ), ), ], ); } } 运行效果如下: 示例中的Spacer的功能是占用指定比例的空间,实际上它只是Expanded的一个包装: new Expanded( flex: flex, child: const SizedBox( height: 0.0, width: 0.0, ), ); "},"chapter4/wrap_and_flow.html":{"url":"chapter4/wrap_and_flow.html","title":"流式布局Wrap、Flow","keywords":"","body":"流式布局 Wrap 在介绍Row和Colum时,如果子widget超出屏幕范围,则会报溢出错误,如: Row( children: [ Text(\"xxx\"*100) ], ); 运行: 可以看到,右边溢出部分报错。这是因为Row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局,将上例中的Row换成Wrap后溢出部分则会自动折行。下面是Wrap的定义: Wrap({ ... this.direction = Axis.horizontal, this.alignment = WrapAlignment.start, this.spacing = 0.0, this.runAlignment = WrapAlignment.start, this.runSpacing = 0.0, this.crossAxisAlignment = WrapCrossAlignment.start, this.textDirection, this.verticalDirection = VerticalDirection.down, List children = const [], }) 我们可以看到Wrap的很多属性在Row(包括Flex和Column)中也有,如direction、crossAxisAlignment、textDirection、verticalDirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍Row的部分。读者可以认为Wrap和Flex(包括Row和Column)除了超出显示范围后Wrap会折行外,其它行为基本相同。下面我们看一下Wrap特有的几个属性: spacing:主轴方向子widget的间距 runSpacing:纵轴方向的间距 runAlignment:纵轴方向的对齐方式 下面看一个示例子: Wrap( spacing: 8.0, // 主轴(水平)方向间距 runSpacing: 4.0, // 纵轴(垂直)方向间距 alignment: WrapAlignment.center, //沿主轴方向居中 children: [ new Chip( avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('A')), label: new Text('Hamilton'), ), new Chip( avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('M')), label: new Text('Lafayette'), ), new Chip( avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('H')), label: new Text('Mulligan'), ), new Chip( avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('J')), label: new Text('Laurens'), ), ], ) 运行效果: Flow 我们一般很少会使用Flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是Wrap是否满足需求。Flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。Flow有如下优点: 性能好;Flow是一个对child尺寸以及位置调整非常高效的控件,Flow用转换矩阵(transformation matrices)在对child进行位置调整的时候进行了优化:在Flow定位过后,如果child的尺寸或者位置发生了变化,在FlowDelegate中的paintChildren()方法中调用context.paintChild 进行重绘,而context.paintChild在重绘时使用了转换矩阵(transformation matrices),并没有实际调整Widget位置。 灵活;由于我们需要自己实现FlowDelegate的paintChildren()方法,所以我们需要自己计算每一个widget的位置,因此,可以自定义布局策略。 缺点: 使用复杂. 不能自适应子widget大小,必须通过指定父容器大小或实现TestFlowDelegate的getSize返回固定大小。 示例: 我们对六个色块进行自定义流式布局: Flow( delegate: TestFlowDelegate(margin: EdgeInsets.all(10.0)), children: [ new Container(width: 80.0, height:80.0, color: Colors.red,), new Container(width: 80.0, height:80.0, color: Colors.green,), new Container(width: 80.0, height:80.0, color: Colors.blue,), new Container(width: 80.0, height:80.0, color: Colors.yellow,), new Container(width: 80.0, height:80.0, color: Colors.brown,), new Container(width: 80.0, height:80.0, color: Colors.purple,), ], ) 实现TestFlowDelegate: class TestFlowDelegate extends FlowDelegate { EdgeInsets margin = EdgeInsets.zero; TestFlowDelegate({this.margin}); @override void paintChildren(FlowPaintingContext context) { var x = margin.left; var y = margin.top; //计算每一个子widget的位置 for (int i = 0; i 效果: 可以看到我们主要的任务就是实现paintChildren,它的主要任务是确定每个子widget位置。由于Flow不能自适应子widget的大小,我们通过在getSize返回一个固定大小来指定Flow的大小。 "},"chapter4/stack.html":{"url":"chapter4/stack.html","title":"层叠布局Stack、Positioned","keywords":"","body":"层叠布局 层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子widget可以根据到父容器四个角的位置来确定本身的位置。绝对定位允许子widget堆叠(按照代码中声明的顺序)。Flutter中使用Stack和Positioned来实现绝对定位,Stack允许子widget堆叠,而Positioned可以给子widget定位(根据Stack的四个角)。 Stack Stack({ this.alignment = AlignmentDirectional.topStart, this.textDirection, this.fit = StackFit.loose, this.overflow = Overflow.clip, List children = const [], }) alignment:此参数决定如何去对齐没有定位(没有使用Positioned)或部分定位的子widget。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。 textDirection:和Row、Wrap的textDirection功能一样,都用于决定alignment对齐的参考系即:textDirection的值为TextDirection.ltr,则alignment的start代表左,end代表右;textDirection的值为TextDirection.rtl,则alignment的start代表右,end代表左。 fit:此参数用于决定没有定位的子widget如何去适应Stack的大小。StackFit.loose表示使用子widget的大小,StackFit.expand表示扩伸到Stack的大小。 overflow:此属性决定如何显示超出Stack显示空间的子widget,值为Overflow.clip时,超出部分会被剪裁(隐藏),值为Overflow.visible 时则不会。 Positioned const Positioned({ Key key, this.left, this.top, this.right, this.bottom, this.width, this.height, @required Widget child, }) left、top 、right、 bottom分别代表离Stack左、上、右、底四边的距离。width和height用于指定定位元素的宽度和高度,注意,此处的width、height 和其它地方的意义稍微有点区别,此处用于配合left、top 、right、 bottom来定位widget,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。 示例 //通过ConstrainedBox来确保Stack占满屏幕 ConstrainedBox( constraints: BoxConstraints.expand(), child: Stack( alignment:Alignment.center , //指定未定位或部分定位widget的对齐方式 children: [ Container(child: Text(\"Hello world\",style: TextStyle(color: Colors.white)), color: Colors.red, ), Positioned( left: 18.0, child: Text(\"I am Jack\"), ), Positioned( top: 18.0, child: Text(\"Your friend\"), ) ], ), ); 运行效果如下: 由于第一个子widget Text(\"Hello world\")没有指定定位,并且alignment值为Alignment.center,所以,它会居中显示。第二个子widget Text(\"I am Jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子widget Text(\"Your friend\"),和第二个Text原理一样,只不过是水平方向没有定位,则水平方向居中。 我们给上例中的Stack指定一个fit属性,然后将三个子widget的顺序调整一下: Stack( alignment:Alignment.center , fit: StackFit.expand, //未定位widget占满Stack整个空间 children: [ Positioned( left: 18.0, child: Text(\"I am Jack\"), ), Container(child: Text(\"Hello world\",style: TextStyle(color: Colors.white)), color: Colors.red, ), Positioned( top: 18.0, child: Text(\"Your friend\"), ) ], ), 显示效果如下: 可以看到,由于第二个子widget没有定位,所以fit属性会对它起作用,就会占满Stack。有Stack子元素是堆叠的,所以第一个子Widget被第二个遮住了,而第三个在最上层,所以可以正常显示。 "},"chapter5/":{"url":"chapter5/","title":"容器类Widgets","keywords":"","body":"容器类Widget 容器类Widget和布局类Widget都作用于其子Widget,不同的是: 布局类Widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)MultiChildRenderObjectWidget ;而容器类Widget一般只需要接受一个子Widget(child),他们直接或间接继承自(或包含)SingleChildRenderObjectWidget。 布局类Widget是按照一定的排列方式来对其子Widget进行排列;而容器类Widget一般只是包装其子Widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。 注意,Flutter官方并没有对Widget进行官方分类,我们对其分类主要是为了方便讨论和对Widget功能的区分记忆。 本章目录 Padding 布局限制类容器ConstrainedBox、SizeBox 装饰容器DecoratedBox 变换Transform Container容器 Scaffold、TabBar、底部导航 "},"chapter5/padding.html":{"url":"chapter5/padding.html","title":"Padding","keywords":"","body":"Padding Padding可以给其子节点添加补白(填充),我们在前面很多示例中都已经使用过它了,现在来看看它的定义: Padding({ ... EdgeInsetsGeometry padding, Widget child, }) EdgeInsetsGeometry是一个抽象类,开发中,我们一般都使用EdgeInsets,它是EdgeInsetsGeometry的一个子类,定义了一些设置补白的便捷方法。 EdgeInsets 我们看看EdgeInsets提供的便捷方法: fromLTRB(double left, double top, double right, double bottom):分别指定四个方向的补白。 all(double value) : 所有方向均使用相同数值的补白。 only({left, top, right ,bottom }):可以设置具体某个方向的补白(可以同时指定多个方向)。 symmetric({ vertical, horizontal }):用于设置对称方向的补白,vertical指top和bottom,horizontal指left和right。 示例 class PaddingTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( //上下左右各添加16像素补白 padding: EdgeInsets.all(16.0), child: Column( //显式指定对齐方式为左对齐,排除对齐干扰 crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( //左边添加8像素补白 padding: const EdgeInsets.only(left: 8.0), child: Text(\"Hello world\"), ), Padding( //上下各添加8像素补白 padding: const EdgeInsets.symmetric(vertical: 8.0), child: Text(\"I am Jack\"), ), Padding( // 分别指定四个方向的补白 padding: const EdgeInsets.fromLTRB(20.0,.0,20.0,20.0), child: Text(\"Your friend\"), ) ], ), ); } } "},"chapter5/constrainedbox_and_sizebox.html":{"url":"chapter5/constrainedbox_and_sizebox.html","title":"布局限制类容器ConstrainedBox、SizeBox","keywords":"","body":"ConstrainedBox和SizedBox ConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的。SizedBox只是ConstrainedBox一个定制,本节把他们放在一起讨论。 ConstrainedBox ConstrainedBox用于对齐子widget添加额外的约束。例如,如果你想让子widget的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子widget的约束。 示例 我们先定义一个redBox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度: Widget redBox=DecoratedBox( decoration: BoxDecoration(color: Colors.red), ); 我们实现一个最小高度为50,宽度尽可能大的红色容器。 ConstrainedBox( constraints: BoxConstraints( minWidth: double.infinity, //宽度尽可能大 minHeight: 50.0 //最小高度为50像素 ), child: Container( height: 5.0, child: redBox ), ) 显示效果: 可以看到,我们虽然将Container的高度设置为5像素,但是最终却是50像素,这正是ConstrainedBox的最小高度限制生效了。如果将Container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,ConstrainedBox只限制了最小高度,并未限制最大高度。 BoxConstraints BoxConstraints用于设置限制条件,它的定义如下: const BoxConstraints({ this.minWidth = 0.0, //最小宽度 this.maxWidth = double.infinity, //最大宽度 this.minHeight = 0.0, //最小高度 this.maxHeight = double.infinity //最大高度 }) BoxConstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的BoxConstraints,如BoxConstraints.tight(Size size),它可以生成给定大小的限制;const BoxConstraints.expand()可以生成一个尽可能大的用以填充另一个容器的BoxConstraints。除此之外还有一些其它的便捷函数,读者可以查看API文档。 SizedBox SizedBox用于给子widget指定固定的宽高,如: SizedBox( width: 80.0, height: 80.0, child: redBox ) 运行效果如下: 实际上SizedBox和只是ConstrainedBox一个定制,上面代码等价于: ConstrainedBox( constraints: BoxConstraints.tightFor(width: 80.0,height: 80.0), child: redBox, ) 而BoxConstraints.tightFor(width: 80.0,height: 80.0)等价于: BoxConstraints(minHeight: 80.0,maxHeight: 80.0,minWidth: 80.0,maxWidth: 80.0) 而实际上ConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的,我们可以看到ConstrainedBox和SizedBox的createRenderObject()方法都返回的是一个RenderConstrainedBox对象: @override RenderConstrainedBox createRenderObject(BuildContext context) { return new RenderConstrainedBox( additionalConstraints: ..., ); } 多重限制 如果某一个widget有多个父ConstrainedBox限制,那么最终会是哪个生效?我们看一个例子: ConstrainedBox( constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0), //父 child: ConstrainedBox( constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子 child: redBox, ) ) 上面我们有父子两个ConstrainedBox,他们的限制条件不同,运行后效果如下: 最终显示效果是宽90,高60,也就是说是子ConstrainedBox的minWidth生效,而minHeight是父ConstrainedBox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下: ConstrainedBox( constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0), child: ConstrainedBox( constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0), child: redBox, ) ) 最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minWidth生效的是父ConstrainedBox,而minHeight是子ConstrainedBox生效。 通过上面示例,我们发现有多重限制时,对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。 思考题:对于maxWidth和maxHeight,多重限制的策略是什么样的呢? UnconstrainedBox UnconstrainedBox不会对子Widget产生任何限制,它允许其子Widget按照其本身大小绘制。一般情况下,我们会很少直接使用此widget,但在\"去除\"多重限制的时候也许会有帮助,我们看一下面的代码: ConstrainedBox( constraints: BoxConstraints(minWidth: 60.0, minHeight: 100.0), //父 child: UnconstrainedBox( //“去除”父级限制 child: ConstrainedBox( constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子 child: redBox, ), ) ) 上面代码中,如果没有中间的UnconstrainedBox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于 UnconstrainedBox “去除”了父ConstrainedBox的限制,则最终会按照子ConstrainedBox的限制来绘制redBox,即90×20: 但是,读者请注意,UnconstrainedBox对父限制的“去除”并非是真正的去除,上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minHeight(100.0)仍然是生效的,只不过它不影响最终子元素的大小,但仍然还是占有相应的空间,可以认为此时的父ConstrainedBox是作用于子ConstrainedBox上,而redBox只受子ConstrainedBox限制,这一点请读者务必注意。 那么有什么方法可以彻底去除父BoxConstraints的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的widget时,如果对子widget指定限制时一定要注意,因为一旦指定限制条件,子widget如果要进行相关自定义大小时将可能非常困难,因为子widget在不更改父widget的代码的情况下无法彻底去除其限制条件。 "},"chapter5/decoratedbox.html":{"url":"chapter5/decoratedbox.html","title":"装饰容器DecoratedBox","keywords":"","body":"DecoratedBox DecoratedBox可以在其子widget绘制前(或后)绘制一个装饰Decoration(如背景、边框、渐变等)。DecoratedBox定义如下: const DecoratedBox({ Decoration decoration, DecorationPosition position = DecorationPosition.background, Widget child }) decoration:代表将要绘制的装饰,它类型为Decoration,Decoration是一个抽象类,它定义了一个接口 createBoxPainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。 position:此属性决定在哪里绘制Decoration,它接收DecorationPosition的枚举类型,该枚举类两个值: background:在子widget之后绘制,即背景装饰。 foreground:在子widget之上绘制,即前景。 BoxDecoration 我们通常会直接使用BoxDecoration,它是一个Decoration的子类,实现了常用的装饰元素的绘制。 BoxDecoration({ Color color, //颜色 DecorationImage image,//图片 BoxBorder border, //边框 BorderRadiusGeometry borderRadius, //圆角 List boxShadow, //阴影,可以指定多个 Gradient gradient, //渐变 BlendMode backgroundBlendMode, //背景混合模式 BoxShape shape = BoxShape.rectangle, //形状 }) 各个属性名都是自解释的,详情读者可以查看API文档,我们看一个示例: DecoratedBox( decoration: BoxDecoration( gradient: LinearGradient(colors:[Colors.red,Colors.orange[700]]), //背景渐变 borderRadius: BorderRadius.circular(3.0), //3像素圆角 boxShadow: [ //阴影 BoxShadow( color:Colors.black54, offset: Offset(2.0,2.0), blurRadius: 4.0 ) ] ), child: Padding(padding: EdgeInsets.symmetric(horizontal: 80.0, vertical: 18.0), child: Text(\"Login\", style: TextStyle(color: Colors.white),), ) ) 效果如下: 怎么样,通过BoxDecoration,我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在本章末尾来实现一个完整的GradientButton。 "},"chapter5/transform.html":{"url":"chapter5/transform.html","title":"变换Transform","keywords":"","body":"Transform变换 Transform可以在其子Widget绘制时对其应用一个矩阵变换(transformation),Matrix4是一个4D矩阵,通过它我们可以实现各种矩阵操作。下面是一个例子: Container( color: Colors.black, child: new Transform( alignment: Alignment.topRight, //相对于坐标系原点的对齐方式 transform: new Matrix4.skewY(0.3), //沿Y轴倾斜0.3弧度 child: new Container( padding: const EdgeInsets.all(8.0), color: Colors.deepOrange, child: const Text('Apartment for rent!'), ), ), ); 关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在Flutter中一些常见的变换效果上。 平移 Transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子widget平移指定的距离。 DecoratedBox( decoration:BoxDecoration(color: Colors.red), //默认原点为左上角,左移20像素,向上平移5像素 child: Transform.translate(offset: Offset(-20.0, -5.0), child: Text(\"Hello world\"), ), ) 效果: 旋转 Transform.rotate可以对子widget进行旋转变换,如: DecoratedBox( decoration:BoxDecoration(color: Colors.red), child: Transform.rotate( //旋转90度 angle:math.pi/2 , child: Text(\"Hello world\"), ), ); 注意:要使用math.pi需先进行如下导包。 import 'dart:math' as math; 效果: 缩放 Transform.scale可以对子Widget进行缩小或放大,如: DecoratedBox( decoration:BoxDecoration(color: Colors.red), child: Transform.scale( scale: 1.5, //放大到1.5倍 child: Text(\"Hello world\") ) ); 效果: 注意 Transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子widget应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ DecoratedBox( decoration:BoxDecoration(color: Colors.red), child: Transform.scale(scale: 1.5, child: Text(\"Hello world\") ) ), Text(\"你好\", style: TextStyle(color: Colors.green, fontSize: 18.0),) ], ) 显示效果: 由于第一个Text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字有重合部分。 由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上的UI改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的Flow widget,它内部就是用矩阵变换来更新UI,除此之外,Flutter的动画widget中也大量使用了Transform以提高性能。 RotatedBox RotatedBox和Transform.rotate功能相似,它们都可以对子widget进行旋转变换,但是有一点不同:RotatedBox的变换是在layout阶段,会影响在子widget的位置和大小。我们将上面介绍Transform.rotate时的示例改一下: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ DecoratedBox( decoration: BoxDecoration(color: Colors.red), //将Transform.rotate换成RotatedBox child: RotatedBox( quarterTurns: 1, //旋转90度(1/4圈) child: Text(\"Hello world\"), ), ), Text(\"你好\", style: TextStyle(color: Colors.green, fontSize: 18.0),) ], ), 效果: 由于RotatedBox是作用于layout阶段,所以widget会旋转90度(而不只是绘制的内容),decoration会作用到widget所占用的实际空间上,所以就是上图的效果。读者可以和前面Transform.rotate示例对比理解。 "},"chapter5/container.html":{"url":"chapter5/container.html","title":"Container容器","keywords":"","body":"Container Container是我们要介绍的最后一个容器类widget,它本身不对应具体的RenderObject,它是DecoratedBox、ConstrainedBox、Transform、Padding、Align等widget的一个组合widget。所以我们只需通过一个Container可以实现同时需要装饰、变换、限制的场景。下面是Container的定义: Container({ this.alignment, this.padding, //容器内补白,属于decoration的装饰范围 Color color, // 背景色 Decoration decoration, // 背景装饰 Decoration foregroundDecoration, //前景装饰 double width,//容器的宽度 double height, //容器的高度 BoxConstraints constraints, //容器大小的限制条件 this.margin,//容器外补白,不属于decoration的装饰范围 this.transform, //变换 this.child, }) 大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明: 容器的大小可以通过width、height属性来指定,也可以通过constraints来指定,如果同时存在时,width、height优先。实际上Container内部会根据width、height来生成一个constraints。 color和decoration是互斥的,实际上,当指定color时,Container内会自动创建一个decoration。 实例 我们通过Container来实现如下的卡片: 代码: Container( margin: EdgeInsets.only(top: 50.0, left: 120.0), //容器外补白 constraints: BoxConstraints.tightFor(width: 200.0, height: 150.0), //卡片大小 decoration: BoxDecoration(//背景装饰 gradient: RadialGradient( //背景径向渐变 colors: [Colors.red, Colors.orange], center: Alignment.topLeft, radius: .98 ), boxShadow: [ //卡片阴影 BoxShadow( color: Colors.black54, offset: Offset(2.0, 2.0), blurRadius: 4.0 ) ] ), transform: Matrix4.rotationZ(.2), //卡片倾斜变换 alignment: Alignment.center, //卡片内文字居中 child: Text( //卡片文字 \"5.20\", style: TextStyle(color: Colors.white, fontSize: 40.0), ), ); 可以看到Container通过组合多种widget来实现复杂强大的功能,在Flutter中,这也正是组合优先于继承的实例。 Padding和Margin 接下来我们看看Container的margin和padding属性的区别: ... Container( margin: EdgeInsets.all(20.0), //容器外补白 color: Colors.orange, child: Text(\"Hello world!\"), ), Container( padding: EdgeInsets.all(20.0), //容器内补白 color: Colors.orange, child: Text(\"Hello world!\"), ), ... 可以发现,直观的感觉就是margin的补白是在容器外部,而padding的补白是在容器内部,读者需要记住这个差异。事实上,Container内margin和padding都是通过Padding widget来实现的,上面的示例代码实际上等价于: ... Padding( padding: EdgeInsets.all(20.0), child: DecoratedBox( decoration: BoxDecoration(color: Colors.orange), child: Text(\"Hello world!\"), ), ), DecoratedBox( decoration: BoxDecoration(color: Colors.orange), child: Padding( padding: const EdgeInsets.all(20.0), child: Text(\"Hello world!\"), ), ), ... "},"chapter5/material_scaffold.html":{"url":"chapter5/material_scaffold.html","title":"Scaffold、TabBar、底部导航","keywords":"","body":"Scaffold、TabBar、底部导航 Material库提供了很多Widget,本节介绍一些常用的Widget,其余的读者可以查看文档或Flutter Gallery中Material组件部分的示例。注意,笔者强烈建议用户将Flutter Gallery示例跑起来,它是一个很全面的Flutter示例,是非常好的参考Demo。 Scaffold 大多数路由页都会包含一个导航栏,有些路由页可能会有抽屉菜单(Drawer)以及底部Tab导航菜单等。如果每个页面都需要开发者自己手动去实现,这会是一件非常无聊的事。幸运的是,我们前面提到过,Flutter Material库提供了一个Scaffold Widget,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。 示例 我们实现一个页面,它包含: 一个导航栏 导航栏右边有一个分享按钮 有一个抽屉菜单 有一个底部导航 右下角有一个悬浮的动作按钮 最终效果如下: 实现代码如下: class ScaffoldRoute extends StatefulWidget { @override _ScaffoldRouteState createState() => _ScaffoldRouteState(); } class _ScaffoldRouteState extends State { int _selectedIndex = 1; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( //导航栏 title: Text(\"App Name\"), actions: [ //导航栏右侧菜单 IconButton(icon: Icon(Icons.share), onPressed: () {}), ], ), drawer: new MyDrawer(), //抽屉 bottomNavigationBar: BottomNavigationBar( // 底部导航 items: [ BottomNavigationBarItem(icon: Icon(Icons.home), title: Text('Home')), BottomNavigationBarItem(icon: Icon(Icons.business), title: Text('Business')), BottomNavigationBarItem(icon: Icon(Icons.school), title: Text('School')), ], currentIndex: _selectedIndex, fixedColor: Colors.blue, onTap: _onItemTapped, ), floatingActionButton: FloatingActionButton( //悬浮按钮 child: Icon(Icons.add), onPressed:_onAdd ), ); } void _onItemTapped(int index) { setState(() { _selectedIndex = index; }); } void _onAdd(){ } } 上面代码中我们用到了另外几个Widget,下面我们来分别介绍一下: AppBar AppBar是一个Material风格的导航栏,它可以设置标题、导航栏菜单、底部Tab等。下面我们看看AppBar的定义: AppBar({ Key key, this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮。 this.automaticallyImplyLeading = true, //如果leading为null,是否自动实现默认的leading按钮 this.title,// 页面标题 this.actions, // 导航栏右侧菜单 this.bottom, // 导航栏底部菜单,通常为Tab按钮组 this.elevation = 4.0, // 导航栏阴影 this.centerTitle, //标题是否居中 this.backgroundColor, ... //其它属性见源码注释 }) 如果给Scaffold添加了抽屉菜单,默认情况下Scaffold会自动将AppBar的leading设置为菜单按钮(如上面截图所示)。如果我们想自定义菜单图标,可以手动来设置leading,如: Scaffold( appBar: AppBar( title: Text(\"App Name\"), leading: Builder(builder: (context) { return IconButton( icon: Icon(Icons.dashboard, color: Colors.white), //自定义图标 onPressed: () { // 打开抽屉菜单 Scaffold.of(context).openDrawer(); }, ); }), ... ) 代码运行效果: 可以看到左侧菜单已经替换成功。 代码中打开抽屉菜单的方法在ScaffoldState中,通过Scaffold.of(context)可以获取父级最近的Scaffold Widget的State对象,原理可以参考本书后面“Element与BuildContext” 一章。Flutter还有一种通用的获取StatefulWidget对象State的方法:通过GlobalKey来获取! 步骤有两步: 给目标StatefulWidget添加GlobalKey //定义一个globalKey, 由于GlobalKey要保持全局唯一性,我们使用静态变量存储 static GlobalKey _globalKey= new GlobalKey(); ... Scaffold( key: _globalKey , //设置key ... ) 通过GlobalKey来获取State对象 _globalKey.currentState.openDrawer() TabBar 下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如下: Material组件库中提供了一个TabBar组件,它可以快速生成Tab菜单,下面是上图对应的源码: class _ScaffoldRouteState extends State with SingleTickerProviderStateMixin { TabController _tabController; //需要定义一个Controller List tabs = [\"新闻\", \"历史\", \"图片\"]; @override void initState() { super.initState(); // 创建Controller _tabController = TabController(length: tabs.length, vsync: this); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( ... //省略无关代码 bottom: TabBar( //生成Tab菜单 controller: _tabController, tabs: tabs.map((e) => Tab(text: e)).toList()), ), ... //省略无关代码 } 上面代码首先创建了一个TabController ,它是用于控制/监听Tab菜单切换。然后通过TabBar生成了一个底部菜单栏,TabBar的tabs属性接受一个Widget数组,表示每一个Tab子菜单,我们可以自定义,也可以像示例中一样直接使用Tab Widget,它也是Material组件库提供的Material风格的Tab菜单。 Tab Widget有三个可选参数,除了可以指定文字外,还可以指定Tab菜单图标,或者直接自定义Widget,定义如下: Tab({ Key key, this.text, // 菜单文本 this.icon, // 菜单图标 this.child, // 自定义Widget }) 开发者可以根据实际需求来定制。 TabBarView 通过TabBar我们只能生成一个静态的菜单,如果要实现Tab页,我们可以通过TabController去监听Tab菜单的切换去切换Tab页,代码如: _tabController.addListener((){ switch(_tabController.index){ case 1: ...; case 2: ... ; } }); 如果我们Tab页可以滑动切换的话,还需要在滑动过程中更新TabBar指示器的偏移。显然,要手动处理这些是很麻烦的,为此,Material库提供了一个TabBarView组件,它可以很轻松的配合TabBar来实现同步切换和滑动状态同步,示例如下: Scaffold( appBar: AppBar( ... //省略无关代码 bottom: TabBar( controller: _tabController, tabs: tabs.map((e) => Tab(text: e)).toList()), ), drawer: new MyDrawer(), body: TabBarView( controller: _tabController, children: tabs.map((e) { //创建3个Tab页 return Container( alignment: Alignment.center, child: Text(e, textScaleFactor: 5), ); }).toList(), ), ... // 省略无关代码 ) 运行后效果如下: 现在,无论是点击导航栏Tab菜单还是在页面上左右滑动,Tab页面都会切换,并且Tab菜单的状态和Tab页面始终保持同步。下面我们来看看代码,细心的读者可以发现,TabBar和TabBarView的controller是同一个!正是如此,TabBar和TabBarView正是通过同一个controller来实现菜单切换和滑动状态同步的。 另外,Material组件库也提供了一个PageView Widget,它和TabBarView功能相似,读者可以自行了解一下。 抽屉菜单Drawer Scaffold的drawer和endDrawer属性可以分别接受一个Widget作为页面的左、右抽屉菜单,如果开发者提供了抽屉菜单,那么当用户手指重屏幕左/右向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单MyDrawer,源码如下: class MyDrawer extends StatelessWidget { const MyDrawer({ Key key, }) : super(key: key); @override Widget build(BuildContext context) { return Drawer( child: MediaQuery.removePadding( context: context, // DrawerHeader consumes top MediaQuery padding. removeTop: true, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only(top: 38.0), child: Row( children: [ Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: ClipOval( child: Image.asset( \"imgs/avatar.png\", width: 80, ), ), ), Text( \"Wendux\", style: TextStyle(fontWeight: FontWeight.bold), ) ], ), ), Expanded( child: ListView( children: [ ListTile( leading: const Icon(Icons.add), title: const Text('Add account'), ), ListTile( leading: const Icon(Icons.settings), title: const Text('Manage accounts'), ), ], ), ), ], ), ), ); } } 抽屉菜单通常将Drawer作为根节点,它实现了Material风格的菜单面板,MediaQuery.removePadding可以移除抽Drawer内的一些指定空白,读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现,关于ListView我们将在后面“可滚动Widget”一节详细介绍。 FloatingActionButton FloatingActionButton是Material设计规范中的一种特殊Button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置,这个比较简单,不在赘述。 底部Tab导航栏 我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar和BottomNavigationBarItem两个Widget来实现Material风格的底部导航栏,可以看到代码非常简单,不在赘述。但是如果我们想实现如下效果的底部导航应该怎么做呢? Material组件库中提供了一个BottomAppBar Widget,可以和FloatingActionButton配合实现这种\"打洞\"效果。源码如下: bottomNavigationBar: BottomAppBar( color: Colors.white, shape: CircularNotchedRectangle(), // 底部导航栏打一个圆形的洞 child: Row( children: [ IconButton(icon: Icon(Icons.home)), SizedBox(), //中间位置空出 IconButton(icon: Icon(Icons.business)), ], mainAxisAlignment: MainAxisAlignment.spaceAround, //均分底部导航栏横向空间 ), ) 可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于FloatingActionButton的位置,上面FloatingActionButton的位置为: floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, BottomAppBar的shape属性决定洞的外形,CircularNotchedRectangle实现了一个圆形的外形,我们也可以自定义外形,比如,Flutter Gallery示例中就有一个”钻石“形状的实现,读者感兴趣可以自行查看。 "},"chapter6/":{"url":"chapter6/","title":"可滚动Widgets","keywords":"","body":"本章目录 可滚动Widgets简介 SingleChildScrollView ListView GridView CustomScrollView 滚动监听及控制ScrollController "},"chapter6/intro.html":{"url":"chapter6/intro.html","title":"可滚动Widgets简介","keywords":"","body":"可滚动Widget简介 当内容超过显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动widget(Scrollable Widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动widget(如ListView、GridView等),然后介绍一下Scrollable与可滚动widget的原理。可滚动Widget都直接或间接包含一个Scrollable widget,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下: Scrollable({ ... this.axisDirection = AxisDirection.down, this.controller, this.physics, @required this.viewportBuilder, //后面介绍 }) axisDirection:滚动方向。 physics:此属性接受一个ScrollPhysics对象,它决定可滚动Widget如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,Flutter会根据具体平台分别使用不同的ScrollPhysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在iOS上会出现弹性效果,而在Android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定,Flutter SDK中包含了两个ScrollPhysics的子类可以直接使用: ClampingScrollPhysics:Android下微光效果。 BouncingScrollPhysics:iOS下弹性效果。 controller:此属性接受一个ScrollController对象。ScrollController的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的PrimaryScrollController,如果子树中的可滚动widget没有显式的指定controller并且primary属性值为true时(默认就为true),可滚动widget会使用这个默认的PrimaryScrollController,这种机制带来的好处是父widget可以控制子树中可滚动widget的滚动,例如,Scaffold使用这种机制在iOS中实现了\"回到顶部\"的手势。我们将在本章后面“滚动控制”一节详细介绍ScrollController。 Scrollbar Scrollbar是一个Material风格的滚动指示器(滚动条),如果要给可滚动widget添加滚动条,只需将Scrollbar作为可滚动widget的父widget即可,如: Scrollbar( child: SingleChildScrollView( ... ), ); Scrollbar和CupertinoScrollbar都是通过ScrollController来监听滚动事件来确定滚动条位置,关于ScrollController详细的内容我们将在后面专门一节介绍。 CupertinoScrollbar CupertinoScrollbar是iOS风格的滚动条,如果你使用的是Scrollbar,那么在iOS平台它会自动切换为CupertinoScrollbar。 ViewPort视口 在很多布局系统中都有ViewPort的概念,在Flutter中,术语ViewPort(视口),如无特别说明,则是指一个Widget的实际显示区域。例如,一个ListView的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其ViewPort仍然是800像素。 主轴和纵轴 在可滚动widget的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动widget的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。 "},"chapter6/single_child_scrollview.html":{"url":"chapter6/single_child_scrollview.html","title":"SingleChildScrollView","keywords":"","body":"SingleChildScrollView SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子Widget。定义如下: SingleChildScrollView({ this.scrollDirection = Axis.vertical, //滚动方向,默认是垂直方向 this.reverse = false, this.padding, bool primary, this.physics, this.controller, this.child, }) 除了通用属性,我们重点看一下reverse和primary两个属性: reverse:该属性API文档解释是:是否按照阅读方向相反的方向滑动,如:scrollDirection值为Axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左),reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动widget的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。 primary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且controller没有指定时,primary默认为true. 示例 下面是一个将大写字母A-Z沿垂直方向显示的例子,由于垂直方向空间不够,所以使用SingleChildScrollView。: class SingleChildScrollViewTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { String str = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"; return Scrollbar( child: SingleChildScrollView( padding: EdgeInsets.all(16.0), child: Center( child: Column( //动态创建一个List children: str.split(\"\") //每一个字母都用一个Text显示,字体为原来的两倍 .map((c) => Text(c, textScaleFactor: 2.0,)) .toList(), ), ), ), ); } } 效果: "},"chapter6/listview.html":{"url":"chapter6/listview.html","title":"ListView","keywords":"","body":"ListView ListView是最常用的可滚动widget,它可以沿一个方向线性排布所有子widget。我们看看ListView的默认构造函数定义: ListView({ ... //可滚动widget公共参数 Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController controller, bool primary, ScrollPhysics physics, EdgeInsetsGeometry padding, //ListView各个构造函数的共同参数 double itemExtent, bool shrinkWrap = false, bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, double cacheExtent, //子widget列表 List children = const [], }) 上面参数分为两组:第一组是可滚动widget公共参数,前面已经介绍过,不再赘述;第二组是ListView各个构造函数(ListView有多个构造函数)的共同参数,我们重点来看看这些参数,: itemExtent:该参数如果不为null,则会强制children的\"长度\"为itemExtent的值;这里的\"长度\"是指滚动方向上子widget的长度,即如果滚动方向是垂直方向,则itemExtent代表子widget的高度,如果滚动方向为水平方向,则itemExtent代表子widget的长度。在ListView中,指定itemExtent比让子widget自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而不是总是动态去计算,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。 shrinkWrap:该属性表示是否根据子widget的总长度来设置ListView的长度,默认值为false 。默认情况下,ListView的会在滚动方向尽可能多的占用空间。当ListView在一个无边界(滚动方向上)的容器中时,shrinkWrap必须为true。 addAutomaticKeepAlives:该属性表示是否将列表项(子widget)包裹在AutomaticKeepAlive widget中;典型地,在一个懒加载列表中,如果将列表项包裹在AutomaticKeepAlive中,在该列表项滑出视口时该列表项不会被GC,它会使用KeepAliveNotification来保存其状态。如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。 addRepaintBoundaries:该属性表示是否将列表项(子widget)包裹在RepaintBoundary中。当可滚动widget滚动时,将列表项包裹在RepaintBoundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加RepaintBoundary反而会更高效。和addAutomaticKeepAlive一样,如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。 注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动widget也可能会拥有这些参数,它们的含义是相同的。 默认构造函数 默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量的子widget的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建。实际上通过此方式创建的ListView和使用SingleChildScrollView+Column的方式没有本质的区别。下面是一个例子: ListView( shrinkWrap: true, padding: const EdgeInsets.all(20.0), children: [ const Text('I\\'m dedicating every day to you'), const Text('Domestic life was never quite my style'), const Text('When you smile, you knock me out, I fall apart'), const Text('And I thought I was so smart'), ], ); 注意:可滚动widget通过一个List来作为其children属性时,只适用于子widget较少的情况,这是一个通用规律,并非ListView自己的特性,像GridView也是如此。 ListView.builder ListView.builder适合列表项比较多(或者无限)的情况,因为只有当子Widget真正显示的时候才会被创建。下面看一下ListView.builder的核心参数列表: ListView.builder({ // ListView公共参数已省略 ... @required IndexedWidgetBuilder itemBuilder, int itemCount, ... }) itemBuilder:它是列表项的构建器,类型为IndexedWidgetBuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。 itemCount:列表项的数量,如果为null,则为无限列表。 看一个例子: ListView.builder( itemCount: 100, itemExtent: 50.0, //强制高度为50.0 itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); } ); ListView.separated ListView.separated可以生成列表项之间的分割器,它除了比ListView.builder多了一个separatorBuilder参数,该参数是一个分割器生成器。下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。 class ListView3 extends StatelessWidget { @override Widget build(BuildContext context) { //下划线widget预定义以供复用。 Widget divider1=Divider(color: Colors.blue,); Widget divider2=Divider(color: Colors.green); return ListView.separated( itemCount: 100, //列表项构造器 itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }, //分割器构造器 separatorBuilder: (BuildContext context, int index) { return index%2==0?divider1:divider2; }, ); } } 实例:无限加载列表 假设我们要从数据源异步分批拉取一些数据,然后用ListView显示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下: class InfiniteListView extends StatefulWidget { @override _InfiniteListViewState createState() => new _InfiniteListViewState(); } class _InfiniteListViewState extends State { static const loadingTag = \"##loading##\"; //表尾标记 var _words = [loadingTag]; @override void initState() { _retrieveData(); } @override Widget build(BuildContext context) { return ListView.separated( itemCount: _words.length, itemBuilder: (context, index) { //如果到了表尾 if (_words[index] == loadingTag) { //不足100条,继续获取数据 if (_words.length - 1 Divider(height: .0), ); } void _retrieveData() { Future.delayed(Duration(seconds: 2)).then((e) { _words.insertAll(_words.length - 1, //每次生成20个单词 generateWordPairs().take(20).map((e) => e.asPascalCase).toList() ); setState(() { //重新构建列表 }); }); } } 代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrieveData()的功能是模拟从数据源异步获取数据,我们使用english_words包的generateWordPairs()方法每次生成20个单词。 添加固定表头 很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,效果如下: 我们按照之前经验,写出如下代码: @override Widget build(BuildContext context) { return Column(children: [ ListTile(title:Text(\"商品列表\")), ListView.builder(itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }), ]); } 然后运行,发现并没有出现我们期望的效果,相反触发了一个异常; Error caught by rendering library, thrown during performResize()。 Vertical viewport was given unbounded height ... 从异常信息中我们可到是因为ListView高度边界无法确定引起,所以解决的办法也很明显,我们需要给ListView指定边界,我们通过SizedBox指定一个列表高度看看是否生效: ... //省略无关代码 SizedBox( height: 400, //指定列表高度为400 child: ListView.builder(itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }), ), ... 运行效果如下: 可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白,那如果我们要实现列表铺满除过表头以外的屏幕空间呢?直观的方法是我们动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下: ... //省略无关代码 SizedBox( //Material设计规范中状态栏、导航栏、ListTile高度分别为24、56、56 height: MediaQuery.of(context).size.height-24-56-56, child: ListView.builder(itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }), ) ... 运行效果如下: 可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算,那么有什么方法可以自动拉升ListView以填充屏幕剩余空间的方法吗?当然有!答案就是Flex。前面已经介绍过在Flex布局中,可以使用Expanded自动拉伸组件大小的Widget,我们也说过Column是继承自Flex的,所以我们可以直接使用Column+Expanded来实现,代码如下: @override Widget build(BuildContext context) { return Column(children: [ ListTile(title:Text(\"商品列表\")), Expanded( child: ListView.builder(itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }), ), ]); } 总结 本节主要介绍了ListView的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过ListView.custom来自定义,它需要实现一个SliverChildDelegate用来给ListView生成列表项widget,更多详情请参考API文档。 "},"chapter6/gridview.html":{"url":"chapter6/gridview.html","title":"GridView","keywords":"","body":"GridView GridView可以构建一个二维网格列表,其默认构造函数定义如下: GridView({ Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController controller, bool primary, ScrollPhysics physics, bool shrinkWrap = false, EdgeInsetsGeometry padding, @required SliverGridDelegate gridDelegate, //控制子widget layout的委托 bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, double cacheExtent, List children = const [], }) 我们可以看到,GridView和ListView的大多数参数都是相同的,它们的含义也都相同,如有疑惑读者可以翻阅ListView一节,在此不再赘述。我们唯一需要关注的是gridDelegate参数,类型是SliverGridDelegate,它的作用是控制GridView子widget如何排列(layout),SliverGridDelegate是一个抽象类,定义了GridView Layout相关接口,子类需要通过实现它们来实现具体的布局算法,Flutter中提供了两个SliverGridDelegate的子类SliverGridDelegateWithFixedCrossAxisCount和SliverGridDelegateWithMaxCrossAxisExtent,下面我们分别介绍: SliverGridDelegateWithFixedCrossAxisCount 该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为: SliverGridDelegateWithFixedCrossAxisCount({ @required double crossAxisCount, double mainAxisSpacing = 0.0, double crossAxisSpacing = 0.0, double childAspectRatio = 1.0, }) crossAxisCount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即ViewPort横轴长度/crossAxisCount。 mainAxisSpacing:主轴方向的间距。 crossAxisSpacing:横轴方向子元素的间距。 childAspectRatio:子元素在横轴长度和主轴长度的比例。由于crossAxisCount指定后子元素横轴长度就确定了,然后通过此参数值就可以确定子元素在主轴的长度。 可以发现,子元素的大小是通过crossAxisCount和childAspectRatio两个参数共同决定的。注意,这里的子元素指的是子widget的最大显示空间,注意确保子widget的实际大小不要超出子元素的空间。 下面看一个例子: GridView( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, //横轴三个子widget childAspectRatio: 1.0 //宽高比为1时,子widget ), children:[ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach_access), Icon(Icons.cake), Icon(Icons.free_breakfast) ] ); GridView.count GridView.count构造函数内部使用了SliverGridDelegateWithFixedCrossAxisCount,我们通过它可以快速的创建横轴固定数量子元素的GridView,上面的示例代码等价于: GridView.count( crossAxisCount: 3, childAspectRatio: 1.0, children: [ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach_access), Icon(Icons.cake), Icon(Icons.free_breakfast), ], ); SliverGridDelegateWithMaxCrossAxisExtent 该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为: SliverGridDelegateWithMaxCrossAxisExtent({ double maxCrossAxisExtent, double mainAxisSpacing = 0.0, double crossAxisSpacing = 0.0, double childAspectRatio = 1.0, }) maxCrossAxisExtent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果ViewPort的横轴长度是450,那么当maxCrossAxisExtent的值在区间(450/4,450/3]内的话,子元素最终实际长度都为150,而childAspectRatio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和SliverGridDelegateWithFixedCrossAxisCount相同。 下面我们看一个例子: GridView( padding: EdgeInsets.zero, gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent( maxCrossAxisExtent: 120.0, childAspectRatio: 2.0 //宽高比为2 ), children: [ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach_access), Icon(Icons.cake), Icon(Icons.free_breakfast), ], ); GridView.extent GridView.extent构造函数内部使用了SliverGridDelegateWithMaxCrossAxisExtent,我们通过它可以快速的创建纵轴子元素为固定最大长度的的GridView,上面的示例代码等价于: GridView.extent( maxCrossAxisExtent: 120.0, childAspectRatio: 2.0, children: [ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach_access), Icon(Icons.cake), Icon(Icons.free_breakfast), ], ); GridView.builder 上面我们介绍的GridView都需要一个Widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子Widget数量比较少时,当子widget比较多时,我们可以通过GridView.builder来动态创建子Widget。GridView.builder 必须指定的参数有两个: GridView.builder( ... @required SliverGridDelegate gridDelegate, @required IndexedWidgetBuilder itemBuilder, ) 其中itemBuilder为子widget构建器。 示例 假设我们需要从一个异步数据源(如网络)分批获取一些Icon,然后用GridView来展示: class InfiniteGridView extends StatefulWidget { @override _InfiniteGridViewState createState() => new _InfiniteGridViewState(); } class _InfiniteGridViewState extends State { List _icons = []; //保存Icon数据 @override void initState() { // 初始化数据 _retrieveIcons(); } @override Widget build(BuildContext context) { return GridView.builder( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, //每行三列 childAspectRatio: 1.0 //显示区域宽高相等 ), itemCount: _icons.length, itemBuilder: (context, index) { //如果显示到最后一个并且Icon总数小于200时继续获取数据 if (index == _icons.length - 1 && _icons.length _retrieveIcons():在此方法中我们通过Future.delayed来模拟从异步数据源获取数据,每次获取数据需要200毫秒,获取成功后将新数据添加到_icons,然后调用setState重新构建。 在itemBuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个Icon。 更多 Flutter的GridView默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局: Pub上有一个包“flutter_staggered_grid_view” ,它实现了一个交错GridView的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。 "},"chapter6/custom_scrollview.html":{"url":"chapter6/custom_scrollview.html","title":"CustomScrollView","keywords":"","body":"CustomScrollView CustomScrollView是可以使用sliver来自定义滚动模型(效果)的widget。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个GridView,底部需要一个ListView,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体,如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动widget(Sliver)\"粘\"起来,而CustomScrollView的功能就相当于“胶水”。 Sliver Sliver有细片、小片之意,在Flutter中,Sliver通常指具有特定滚动效果的可滚动块。可滚动widget,如ListView、GridView等都有对应的Sliver实现如SliverList、SliverGrid等。对于大多数Sliver来说,它们和可滚动Widget最主要的区别是Sliver不会包含Scrollable Widget,也就是说Sliver本身不包含滚动交互模型 ,正因如此,CustomScrollView才可以将多个Sliver\"粘\"在一起,这些Sliver共用CustomScrollView的Scrollable,最终实现统一的滑动效果。 Sliver系列Widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“Sliver都和可滚动Widget对应,是由于还有一些如SliverPadding、SliverAppBar等是和可滚动Widget无关的,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView的子widget必须都是Sliver。 示例 import 'package:flutter/material.dart'; class CustomScrollViewTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { //因为本路由没有使用Scaffold,为了让子级Widget(如Text)使用 //Material Design 默认的样式风格,我们使用Material作为本路由的根。 return Material( child: CustomScrollView( slivers: [ //AppBar,包含一个导航栏 SliverAppBar( pinned: true, expandedHeight: 250.0, flexibleSpace: FlexibleSpaceBar( title: const Text('Demo'), background: Image.asset( \"./images/avatar.png\", fit: BoxFit.cover,), ), ), SliverPadding( padding: const EdgeInsets.all(8.0), sliver: new SliverGrid( //Grid gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, //Grid按两列显示 mainAxisSpacing: 10.0, crossAxisSpacing: 10.0, childAspectRatio: 4.0, ), delegate: new SliverChildBuilderDelegate( (BuildContext context, int index) { //创建子widget return new Container( alignment: Alignment.center, color: Colors.cyan[100 * (index % 9)], child: new Text('grid item $index'), ); }, childCount: 20, ), ), ), //List new SliverFixedExtentList( itemExtent: 50.0, delegate: new SliverChildBuilderDelegate( (BuildContext context, int index) { //创建列表项 return new Container( alignment: Alignment.center, color: Colors.lightBlue[100 * (index % 9)], child: new Text('list item $index'), ); }, childCount: 50 //50个列表项 ), ), ], ), ); } } 代码分为三部分: 头部SliverAppBar:SliverAppBar对应AppBar,两者不同之处在于SliverAppBar可以集成到CustomScrollView。SliverAppBar可以结合FlexibleSpaceBar实现Material Design中头部伸缩的模型,具体效果,读者可以运行该示例查看。 中间的SliverGrid:它用SliverPadding包裹以给SliverGrid添加补白。SliverGrid是一个两列,宽高比为4的网格,它有20个子widget。 底部SliverFixedExtentList:它是一个所有子元素高度都为50像素的列表。 运行效果: "},"chapter6/scroll_controller.html":{"url":"chapter6/scroll_controller.html","title":"滚动监听及控制ScrollController","keywords":"","body":"滚动监听及控制 在前几节中,我们介绍了Flutter中常用的可滚动Widget,也说过可以用ScrollController来控制可滚动widget的滚动位置,本节先介绍一下ScrollController,然后以ListView为例,展示一下ScrollController的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。 ScrollController 构造函数: ScrollController({ double initialScrollOffset = 0.0, //初始滚动位置 this.keepScrollOffset = true,//是否保存滚动位置 ... }) 我们介绍一下ScrollController常用的属性和方法: offset:可滚动Widget当前滚动的位置。 jumpTo(double offset)、animateTo(double offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。 ScrollController还有一些属性和方法,我们将在后面原理部分解释。 滚动监听 ScrollController间接继承自Listenable,我们可以根据ScrollController来监听滚动事件。如: controller.addListener(()=>print(controller.offset)) 示例 我们创建一个ListView,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使ListView恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下: class ScrollControllerTestRoute extends StatefulWidget { @override ScrollControllerTestRouteState createState() { return new ScrollControllerTestRouteState(); } } class ScrollControllerTestRouteState extends State { ScrollController _controller = new ScrollController(); bool showToTopBtn = false; //是否显示“返回到顶部”按钮 @override void initState() { //监听滚动事件,打印滚动位置 _controller.addListener(() { print(_controller.offset); //打印滚动位置 if (_controller.offset = 1000 && showToTopBtn == false) { setState(() { showToTopBtn = true; }); } }); } @override void dispose() { //为了避免内存泄露,需要调用_controller.dispose _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(\"滚动控制\")), body: Scrollbar( child: ListView.builder( itemCount: 100, itemExtent: 50.0, //列表项高度固定时,显式指定高度是一个好习惯(性能消耗小) controller: _controller, itemBuilder: (context, index) { return ListTile(title: Text(\"$index\"),); } ), ), floatingActionButton: !showToTopBtn ? null : FloatingActionButton( child: Icon(Icons.arrow_upward), onPressed: () { //返回到顶部时执行动画 _controller.animateTo(.0, duration: Duration(milliseconds: 200), curve: Curves.ease ); } ), ); } } 代码说明已经包含在注释里,下面我们看看运行效果: 由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,ListView会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是Curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。 滚动位置恢复 PageStorage是一个用于保存页面(路由)相关数据的Widget,它并不会影响子树的UI外观,其实,PageStorage是一个功能型Widget,它拥有一个存储桶(bucket),子树中的Widget可以通过指定不同的PageStorageKey来存储各自的数据或状态。 每次滚动结束,Scrollable Widget都会将滚动位置offset存储到PageStorage中,当Scrollable Widget 重新创建时再恢复。如果ScrollController.keepScrollOffset为false,则滚动位置将不会被存储,Scrollable Widget重新创建时会使用ScrollController.initialScrollOffset;ScrollController.keepScrollOffset为true时,Scrollable Widget在第一次创建时,会滚动到initialScrollOffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialScrollOffset会被忽略。 当一个路由中包含多个Scrollable Widget时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定PageStorageKey来分别跟踪不同Scrollable Widget的位置,如: ListView(key: PageStorageKey(1), ... ); ... ListView(key: PageStorageKey(2), ... ); 不同的PageStorageKey,需要不同的值,这样才可以区分为不同Scrollable Widget保存的滚动位置。 注意:一个路由中包含多个Scrollable Widget时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供PageStorageKey。这是因为Scrollable本身是一个StatefulWidget,它的状态中也会保存当前滚动位置,所以,只要Scrollable Widget本身没有被从树上detach掉,那么其State就不会销毁(dispose),滚动位置就不会丢失。只有当Widget发生结构变化,导致Scrollable Widget的State销毁或重新构建时才会丢失状态,这种情况就需要显式指定PageStorageKey,通过PageStorage来存储滚动位置,一个典型的场景是在使用TabBarView时,在Tab发生切换时,Tab页中的Scrollable Widget的State就会销毁,这时如果想恢复滚动位置就需要指定PageStorageKey。 ScrollPosition 一个ScrollController可以同时被多个Scrollable Widget使用,ScrollController会为每一个Scrollable Widget创建一个ScrollPosition对象,这些ScrollPosition保存在ScrollController的positions属性中(List)。ScrollPosition是真正保存滑动位置信息的对象,offset只是一个便捷属性: double get offset => position.pixels; 一个ScrollController虽然可以对应多个Scrollable Widget,但是有一些操作,如读取滚动位置offset,则需要一对一,但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个ScrollController同时被两个Scrollable Widget使用,那么我们可以通过如下方式分别读取他们的滚动位置: ... controller.positions.elementAt(0).pixels controller.positions.elementAt(1).pixels ... 我们可以通过controller.positions.length来确定controller被几个Scrollable Widget使用。 方法 ScrollPosition有两个常用方法:animateTo() 和 jumpTo(),它们是真正来控制跳转滚动位置的方法,ScrollController的这两个同名方法,内部最终都会调用ScrollPosition的。 ScrollController控制原理 我们来介绍一下ScrollController的另外三个方法: ScrollPosition createScrollPosition( ScrollPhysics physics, ScrollContext context, ScrollPosition oldPosition); void attach(ScrollPosition position) ; void detach(ScrollPosition position) ; 当ScrollController和Scrollable Widget关联时,Scrollable Widget首先会调用ScrollController的createScrollPosition()方法来创建一个ScrollPosition来存储滚动位置信息,接着,Scrollable Widget会调用attach()方法,将创建的ScrollPosition添加到ScrollController的positions属性中,这一步称为“注册位置”,只有注册后animateTo() 和 jumpTo()才可以被调用。当Scrollable Widget销毁时,会调用ScrollController的detach()方法,将其ScrollPosition对象从ScrollController的positions属性中移除,这一步称为“注销位置”,注销后animateTo() 和 jumpTo() 将不能再被调用。 需要注意的是,ScrollController的animateTo() 和 jumpTo()内部会调用所有ScrollPosition的animateTo() 和 jumpTo(),以实现所有和该ScrollController关联的Scrollable Widget都滚动到指定的位置。 滚动监听 Flutter Widget树中子Widget可以通过发送通知(Notification)与父(包括祖先)Widget通信。父Widget可以通过NotificationListener Widget来监听自己关注的通知,这种通信方式类似于Web开发中浏览器的事件冒泡,我们在Flutter中沿用“冒泡”这个术语。Scrollable Widget在滚动时会发送ScrollNotification类型的通知,ScrollBar正是通过监听滚动通知来实现的。通过NotificationListener监听滚动事件和通过ScrollController有两个主要的不同: 通过NotificationListener可以在从Scrollable Widget到Widget树根之间任意位置都能监听。而ScrollController只能和具体的Scrollable Widget关联后才可以。 收到滚动事件后获得的信息不同;NotificationListener在收到滚动事件时,通知中会携带当前滚动位置和ViewPort的一些信息,而ScrollController只能获取当前滚动位置。 NotificationListener NotificationListener是一个Widget,模板参数T是想监听的通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型的通知会被监听。NotificationListener需要一个onNotification回调函数,用于实现监听处理逻辑,该回调可以返回一个布尔值,代表是否阻止该事件继续向上冒泡,如果为true时,则冒泡终止,事件停止向上传播,如果不返回或者返回值为false 时,则冒泡继续。 示例 下面,我们监听ListView的滚动通知,然后显示当前滚动进度百分比: import 'package:flutter/material.dart'; class ScrollNotificationTestRoute extends StatefulWidget { @override _ScrollNotificationTestRouteState createState() => new _ScrollNotificationTestRouteState(); } class _ScrollNotificationTestRouteState extends State { String _progress = \"0%\"; //保存进度百分比 @override Widget build(BuildContext context) { return Scrollbar( //进度条 // 监听滚动通知 child: NotificationListener( onNotification: (ScrollNotification notification) { double progress = notification.metrics.pixels / notification.metrics.maxScrollExtent; //重新构建 setState(() { _progress = \"${(progress * 100).toInt()}%\"; }); print(\"BottomEdge: ${notification.metrics.extentAfter == 0}\"); //return true; //放开此行注释后,进度条将失效 }, child: Stack( alignment: Alignment.center, children: [ ListView.builder( itemCount: 100, itemExtent: 50.0, itemBuilder: (context, index) { return ListTile(title: Text(\"$index\")); } ), CircleAvatar( //显示进度百分比 radius: 30.0, child: Text(_progress), backgroundColor: Colors.black54, ) ], ), ), ); } } 我们看一看运行结果: 在接收到滚动事件时,参数类型为ScrollNotification,它包括一个metrics属性,它的类型是ScrollMetrics,该属性包含当前ViewPort及滚动位置等信息: pixels:当前滚动位置。 maxScrollExtent:最大可滚动长度。 extentBefore:滑出ViewPort顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。 extentInside:ViewPort内部长度;此示例中屏幕显示的列表部分的长度。 extentAfter:列表中未滑入ViewPort部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。 atEdge:是否滑到了Scrollable Widget的边界(此示例中相当于列表顶或底部)。 ScrollMetrics还有一些其它属性,读者可以自行查阅API文档。 "},"chapter7/":{"url":"chapter7/","title":"功能型Widgets","keywords":"","body":"功能型Widget简介 功能型Widget指的是不会影响UI布局及外观的Widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的FocusScope(焦点控制)、PageStorage(数据存储)、NotificationListener(事件监听)都属于功能型Widget。由于Widget是Flutter的一等公民,功能型Widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型Widget。 本章目录 导航返回拦截-WillPopScope 数据共享-InheritedWidget 主题-Theme "},"chapter7/willpopscope.html":{"url":"chapter7/willpopscope.html","title":"导航返回拦截-WillPopScope","keywords":"","body":"导航返回拦截WillPopScope 为了避免用户误触返回按钮而导致APP退出,在很多APP中都拦截了用户点击返回键的按钮,当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。Flutter中可以通过WillPopScope来实现返回按钮拦截,我们看看WillPopScope的默认构造函数: const WillPopScope({ ... @required WillPopCallback onWillPop, @required Widget child }) onWillPop是一个回调函数,当用户点击返回按钮时调用(包括导航返回按钮及Android物理返回按钮),该回调需要返回一个Future对象,如果返回的Future最终值为false时,则当前路由不出栈(不会返回),最终值为true时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。 示例 为了防止用户误触返回键退出,我们拦截返回事件,当用户在1秒内点击两次返回按钮时,则退出,如果间隔超过1秒则不退出,并重新记时。代码如下: import 'package:flutter/material.dart'; class WillPopScopeTestRoute extends StatefulWidget { @override WillPopScopeTestRouteState createState() { return new WillPopScopeTestRouteState(); } } class WillPopScopeTestRouteState extends State { DateTime _lastPressedAt; //上次点击时间 @override Widget build(BuildContext context) { return new WillPopScope( onWillPop: () async { if (_lastPressedAt == null || DateTime.now().difference(_lastPressedAt) > Duration(seconds: 1)) { //两次点击间隔超过1秒则重新计时 _lastPressedAt = DateTime.now(); return false; } return true; }, child: Container( alignment: Alignment.center, child: Text(\"1秒内连续按两次返回键退出\"), ) ); } } 读者可以运行示例看看效果。 "},"chapter7/inherited_widget.html":{"url":"chapter7/inherited_widget.html","title":"数据共享-InheritedWidget","keywords":"","body":"InheritedWidget InheritedWidget是Flutter中非常重要的一个功能型Widget,它可以高效的将数据在Widget树中向下传递、共享,这在一些需要在Widget树中共享数据的场景中非常方便,如Flutter中,正是通过InheritedWidget来共享应用主题(Theme)和Locale(当前语言环境)信息的。 InheritedWidget和React中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。InheritedWidget的在Widget树中数据传递方向是从上到下的,这和Notification的传递方向正好相反。 didChangeDependencies 在介绍StatefulWidget时,我们提到State对象有一个回调didChangeDependencies,它会在“依赖”发生变化时被Flutter Framework调用。而这个“依赖”指的就是是否使用了父widget中InheritedWidget的数据,如果使用了,则代表有依赖,如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的主题、locale等发生变化时有机会来做一些事情。 我们看一下之前“计数器”示例应用程序的InheritedWidget版本,需要说明的是,本例主要是为了演示InheritedWidget的功能特性,并不是计数器的推荐实现方式。 首先,我们通过继承InheritedWidget,将当前计数器点击次数保存在ShareDataWidget的data属性中: class ShareDataWidget extends InheritedWidget { ShareDataWidget({ @required this.data, Widget child }) :super(child: child); int data; //需要在子树中共享的数据,保存点击次数 //定义一个便捷方法,方便子树中的widget获取共享数据 static ShareDataWidget of(BuildContext context) { return context.inheritFromWidgetOfExactType(ShareDataWidget); } //该回调决定当data发生变化时,是否通知子树中依赖data的Widget @override bool updateShouldNotify(ShareDataWidget old) { //如果返回false,则子树中依赖(build函数中有调用)本widget //的子widget的`state.didChangeDependencies`会被调用 return old.data != data; } } 然后我们实现一个子widget _TestWidget,在其build方法中引用ShareDataWidget中的数据;同时,在其didChangeDependencies() 回调中打印日志: class _TestWidget extends StatefulWidget { @override __TestWidgetState createState() => new __TestWidgetState(); } class __TestWidgetState extends State { @override Widget build(BuildContext context) { //使用InheritedWidget中的共享数据 return Text(ShareDataWidget .of(context) .data .toString()); } @override void didChangeDependencies() { super.didChangeDependencies(); //父或祖先widget中的InheritedWidget改变(updateShouldNotify返回true)时会被调用。 //如果build中没有依赖InheritedWidget,则此回调不会被调用。 print(\"Dependencies change\"); } } 最后,我们创建一个按钮,每点击一次,就将ShareDataWidget的值自增: class InheritedWidgetTestRoute extends StatefulWidget { @override _InheritedWidgetTestRouteState createState() => new _InheritedWidgetTestRouteState(); } class _InheritedWidgetTestRouteState extends State { int count = 0; @override Widget build(BuildContext context) { return Center( child: ShareDataWidget( //使用ShareDataWidget data: count, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Padding( padding: const EdgeInsets.only(bottom: 20.0), child: _TestWidget(),//子widget中依赖ShareDataWidget ), RaisedButton( child: Text(\"Increment\"), //每点击一次,将count自增,然后重新build,ShareDataWidget的data将被更新 onPressed: () => setState(() => ++count), ) ], ), ), ); } } 运行后界面如下: 每点击一次按钮,计数器就会自增,控制台就会打印一句日志: I/flutter ( 8513): Dependencies change 可见依赖发生变化后,其didChangeDependencies()会被调用。但是读者要注意,如果_TestWidget的build方法中没有使用ShareDataWidget的数据,那么它的didChangeDependencies()将不会被调用,因为它并没有依赖ShareDataWidget。 思考题:Flutter framework是怎么知道子widget有没有依赖InheritedWidget的? 应该在didChangeDependencies()中做什么? 一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。 "},"chapter7/theme.html":{"url":"chapter7/theme.html","title":"主题-Theme","keywords":"","body":"主题 Theme Widget可以为Material APP定义主题数据(ThemeData),Material组件库里很多Widget都使用了主题数据,如导航栏颜色、标题字体、Icon样式等。Theme内会使用InheritedWidget来为其子树Widget共享样式数据。 ThemeData ThemeData是Material Design Widget库的主题数据,Material库的Widget需要遵守相应的设计规范,而这些规范可自定义部分都定义在ThemeData,所以我们可以通过ThemeData来自定义应用主题。我们可以通过Theme.of方法来获取当前的ThemeData。 注意,Material Design 设计规范中有些是不能自定义的,如导航栏高度,ThemeData只包含了可自定义部分。 我们看看ThemeData部分数据: ThemeData({ Brightness brightness, //深色还是浅色 MaterialColor primarySwatch, //主题颜色样本,见下面介绍 Color primaryColor, //主色,决定导航栏颜色 Color accentColor, //次级色,决定大多数Widget的颜色,如进度条、开关等。 Color cardColor, //卡片颜色 Color dividerColor, //分割线颜色 ButtonThemeData buttonTheme, //按钮主题 Color cursorColor, //输入框光标颜色 Color dialogBackgroundColor,//对话框背景颜色 String fontFamily, //文字字体 TextTheme textTheme,// 字体主题,包括标题、body等文字样式 IconThemeData iconTheme, // Icon的默认样式 TargetPlatform platform, //指定平台,应用特定平台控件风格 ... }) 上面只是ThemeData的一小部分属性,完整列表读者可以查看SDK定义。上面属性中需要说明的是primarySwatch,它是主题颜色的一个\"样本\",通过这个样本可以在一些条件下生成一些其它的属性,例如,如果没有指定primaryColor,并且当前主题不是深色主题,那么primaryColor就会默认为primarySwatch指定的颜色,还有一些相似的属性如accentColor 、indicatorColor等也会受primarySwatch影响。 示例 我们实现一个路由换肤功能: class ThemeTestRoute extends StatefulWidget { @override _ThemeTestRouteState createState() => new _ThemeTestRouteState(); } class _ThemeTestRouteState extends State { Color _themeColor = Colors.teal; //当前路由主题色 @override Widget build(BuildContext context) { ThemeData themeData = Theme.of(context); return Theme( data: ThemeData( primarySwatch: _themeColor, //用于导航栏、FloatingActionButton的背景色等 iconTheme: IconThemeData(color: _themeColor) //用于Icon颜色 ), child: Scaffold( appBar: AppBar(title: Text(\"主题测试\")), body: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ //第一行Icon使用主题中的iconTheme Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.favorite), Icon(Icons.airport_shuttle), Text(\" 颜色跟随主题\") ] ), //为第二行Icon自定义颜色(固定为黑色) Theme( data: themeData.copyWith( iconTheme: themeData.iconTheme.copyWith( color: Colors.black ), ), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.favorite), Icon(Icons.airport_shuttle), Text(\" 颜色固定黑色\") ] ), ), ], ), floatingActionButton: FloatingActionButton( onPressed: () => //切换主题 setState(() => _themeColor = _themeColor == Colors.teal ? Colors.blue : Colors.teal ), child: Icon(Icons.palette) ), ), ); } } 运行后点击右下角悬浮按钮则可以切换主题: 需要注意的有三点: 可以通过局部主题覆盖全局主题,正如代码中通过Theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,Flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为Widget中使用主题样式时是通过Theme.of(BuildContext context)来获取的,我们看看其简化后的代码: static ThemeData of(BuildContext context, { bool shadowThemeOnly = false }) { // 简化代码,并非源码 return context.inheritFromWidgetOfExactType(_InheritedTheme) } context.inheritFromWidgetOfExactType 会在widget树中从当前位置向上查找第一个类型为_InheritedTheme的Widget。所以当局部使用Theme后,其子树中Theme.of()找到的第一个_InheritedTheme便是该Theme的。 本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改MaterialApp的theme属性。 "},"chapter8/":{"url":"chapter8/","title":"事件处理与通知","keywords":"","body":"事件处理与通知 Flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。 第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下Flutter中重要的Notification机制。 本章目录 原始指针事件处理 手势识别 全局事件总线 通知Notification "},"chapter8/listener.html":{"url":"chapter8/listener.html","title":"原始指针事件处理","keywords":"","body":"Pointer事件处理 本节先来介绍一下原始指针事件(Pointer Event,在移动设备上通常为触摸事件),下一节再介绍手势处理。 在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。 当指针按下时,Flutter会对应用程序执行命中测试(Hit Test),以确定指针与屏幕接触的位置存在哪些widget, 指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的widget,然后从那里开始,事件会在widget树中向上冒泡,这些事件会从最内部的widget被分发到到widget根的路径上的所有Widget,这和Web开发中浏览器的事件冒泡机制相似, 但是Flutter中没有机制取消或停止冒泡过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的Widget才能触发事件。 Flutter中可以使用Listener widget来监听原始触摸事件,它也是一个功能性widget。 Listener({ Key key, this.onPointerDown, //手指按下回调 this.onPointerMove, //手指移动回调 this.onPointerUp,//手指抬起回调 this.onPointerCancel,//触摸事件取消回调 this.behavior = HitTestBehavior.deferToChild, //在命中测试期间如何表现 Widget child }) 我们先看一个示例,后面再单独讨论一下behavior属性。 ... //定义一个状态,保存当前指针位置 PointerEvent _event; ... Listener( child: Container( alignment: Alignment.center, color: Colors.blue, width: 300.0, height: 150.0, child: Text(_event?.toString()??\"\",style: TextStyle(color: Colors.white)), ), onPointerDown: (PointerDownEvent event) => setState(()=>_event=event), onPointerMove: (PointerMoveEvent event) => setState(()=>_event=event), onPointerUp: (PointerUpEvent event) => setState(()=>_event=event), ), 手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数PointerDownEvent、PointerMoveEvent、PointerUpEvent都是PointerEvent的一个子类,PointerEvent类中包括当前指针的一些信息,如: position:它是鼠标相对于当对于全局坐标的偏移。 delta:两次指针移动事件(PointerMoveEvent)的距离。 pressure:按压力度,如果手机屏幕支持压力传感器(如iPhone的3D Touch),此属性会更有意义,如果手机不支持,则始终为1。 orientation:指针移动方向,是一个角度值。 上面只是PointerEvent一些常用属性,除了这些它还有很多属性,读者可以查看API文档。 现在,我们重点来介绍一下behavior属性,它决定子Widget如何响应命中测试,它的值类型为HitTestBehavior,这是一个枚举类,有三个枚举值: deferToChild:子widget会一个接一个的进行命中测试,如果子Widget中有测试通过的,则当前Widget通过,这就意味着,如果指针事件作用于子Widget上时,其父(祖先)Widget也肯定可以收到该事件。 opaque:在命中测试时,将当前Widget当成不透明处理(即使本身是透明的),最终的效果相当于当前Widget的整个区域都是点击区域。举个例子: Listener( child: ConstrainedBox( constraints: BoxConstraints.tight(Size(300.0, 150.0)), child: Center(child: Text(\"Box A\")), ), //behavior: HitTestBehavior.opaque, onPointerDown: (event) => print(\"down A\") ), 上例中,只有点击文本内容区域才会触发点击事件,如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为HitTestBehavior.opaque。注意,该属性并不能用于在Widget树中拦截(忽略)事件,它只是决定命中测试时的Widget大小。 translucent:当点击Widget透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部widget透明区域时,顶部widget和底部widget都可以接收到事件,例如: Stack( children: [ Listener( child: ConstrainedBox( constraints: BoxConstraints.tight(Size(300.0, 200.0)), child: DecoratedBox( decoration: BoxDecoration(color: Colors.blue)), ), onPointerDown: (event) => print(\"down0\"), ), Listener( child: ConstrainedBox( constraints: BoxConstraints.tight(Size(200.0, 100.0)), child: Center(child: Text(\"左上角200*100范围内非文本区域点击\")), ), onPointerDown: (event) => print(\"down1\"), //behavior: HitTestBehavior.translucent, //放开此行注释后可以\"点透\" ) ], ) 上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部Widget透明区域),控制台只会打印“down0”,也就是说顶部widget没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印: I/flutter ( 3039): down1 I/flutter ( 3039): down0 如果behavior值改为HitTestBehavior.opaque,则只会打印\"down1\"。 忽略PointerEvent 假如我们不想让某个子树响应PointerEvent的话,我们可以使用IgnorePointer和AbsorbPointer,这两个Widget都能阻止子树接收指针事件,不同之处在于AbsorbPointer本身会参与命中测试,而IgnorePointer本身不会参与,这就意味着AbsorbPointer本身是可以接收指针事件的(但其子树不行),而IgnorePointer不可以。一个简单的例子如下: Listener( child: AbsorbPointer( child: Listener( child: Container( color: Colors.red, width: 200.0, height: 100.0, ), onPointerDown: (event)=>print(\"in\"), ), ), onPointerDown: (event)=>print(\"up\"), ) 点击Container时,由于它在AbsorbPointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但AbsorbPointer本身是可以接收指针事件的,所以会输出\"up\"。如果将AbsorbPointer换成IgnorePointer,那么两个都不会输出。 "},"chapter8/gesture.html":{"url":"chapter8/gesture.html","title":"手势识别","keywords":"","body":"手势识别GestureDetector GestureDetector是一个用于手势识别的功能性Widget,我们通过它可以来识别各种手势,它是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别: 点击、双击、长按 我们通过GestureDetector对Container进行手势识别,触发相应事件后,在Container上显示事件名,为了增大点击区域,将Container设置为200×100,代码如下: class GestureDetectorTestRoute extends StatefulWidget { @override _GestureDetectorTestRouteState createState() => new _GestureDetectorTestRouteState(); } class _GestureDetectorTestRouteState extends State { String _operation = \"No Gesture detected!\"; //保存事件名 @override Widget build(BuildContext context) { return Center( child: GestureDetector( child: Container( alignment: Alignment.center, color: Colors.blue, width: 200.0, height: 100.0, child: Text(_operation, style: TextStyle(color: Colors.white), ), ), onTap: () => updateText(\"Tap\"),//点击 onDoubleTap: () => updateText(\"DoubleTap\"), //双击 onLongPress: () => updateText(\"LongPress\"), //长按 ), ); } void updateText(String text) { //更新显示的事件名 setState(() { _operation = text; }); } } 运行效果: 注意: 当同时监听onTap和onDoubleTap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以GestureDetector会等一断时间来确定是否为双击事件。如果用户只监听了onTap(没有监听onDoubleTap)事件时,则没有延时。 拖动、滑动 一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。GestureDetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。GestureDetector会将要监听的widget的原点(左上角)作为本次手势的原点,当用户在监听的widget上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母A的示例: class _Drag extends StatefulWidget { @override _DragState createState() => new _DragState(); } class _DragState extends State with SingleTickerProviderStateMixin { double _top = 0.0; //距顶部的偏移 double _left = 0.0;//距左边的偏移 @override Widget build(BuildContext context) { return Stack( children: [ Positioned( top: _top, left: _left, child: GestureDetector( child: CircleAvatar(child: Text(\"A\")), //手指按下时会触发此回调 onPanDown: (DragDownDetails e) { //打印手指按下的位置(相对于屏幕) print(\"用户手指按下:${e.globalPosition}\"); }, //手指滑动时会触发此回调 onPanUpdate: (DragUpdateDetails e) { //用户手指滑动时,更新偏移,重新构建 setState(() { _left += e.delta.dx; _top += e.delta.dy; }); }, onPanEnd: (DragEndDetails e){ //打印滑动结束时在x、y轴上的速度 print(e.velocity); }, ), ) ], ); } } 运行后,就可以在任意方向拖动了: 日志: I/flutter ( 8513): 用户手指按下:Offset(26.3, 101.8) I/flutter ( 8513): Velocity(235.5, 125.8) 代码解释: DragDownDetails.globalPosition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父widget)原点(左上角)的偏移。 DragUpdateDetails.delta:当用户在屏幕上滑动时,会触发多次Update事件,delta指一次Update事件的滑动的偏移量。 DragEndDetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。 单一方向拖动 在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,GestureDetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动: class _DragVertical extends StatefulWidget { @override _DragVerticalState createState() => new _DragVerticalState(); } class _DragVerticalState extends State { double _top = 0.0; @override Widget build(BuildContext context) { return Stack( children: [ Positioned( top: _top, child: GestureDetector( child: CircleAvatar(child: Text(\"A\")), //垂直方向拖动事件 onVerticalDragUpdate: (DragUpdateDetails details) { setState(() { _top += details.delta.dy; }); } ), ) ], ); } } 这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。 缩放 GestureDetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果: class _ScaleTestRouteState extends State { double _width = 200.0; //通过修改图片宽度来达到缩放效果 @override Widget build(BuildContext context) { return Center( child: GestureDetector( //指定宽度,高度自适应 child: Image.asset(\"./images/sea.png\", width: _width), onScaleUpdate: (ScaleUpdateDetails details) { setState(() { //缩放倍数在0.8到10倍之间 _width=200*details.scale.clamp(.8, 10.0); }); }, ), ); } } 运行效果: 现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,我们将在后面“动画”一章中实现一个完整的缩放Widget。 GestureRecognizer GestureDetector内部是使用一个或多个GestureRecognizer来识别各种手势的,而GestureRecognizer的作用就是通过Listener来将原始指针事件转换为语义手势,GestureDetector直接可以接收一个子Widget。GestureRecognizer是一个抽象类,一种手势的识别器对应一个GestureRecognizer的子类,Flutter实现了丰富的手势识别器,我们可以直接使用。 示例 假设我们要给一段富文本(RichText)的不同部分分别添加点击事件处理器,但是TextSpan并不是一个Widget,这时我们不能用GestureDetector,但TextSpan有一个recognizer属性,它可以接收一个GestureRecognizer,假设我们在点击时给文本变色: import 'package:flutter/gestures.dart'; class _GestureRecognizerTestRouteState extends State { TapGestureRecognizer _tapGestureRecognizer = new TapGestureRecognizer(); bool _toggle = false; //变色开关 @override void dispose() { //用到GestureRecognizer的话一定要调用其dispose方法释放资源 _tapGestureRecognizer.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Center( child: Text.rich( TextSpan( children: [ TextSpan(text: \"你好世界\"), TextSpan( text: \"点我变色\", style: TextStyle( fontSize: 30.0, color: _toggle ? Colors.blue : Colors.red ), recognizer: _tapGestureRecognizer ..onTap = () { setState(() { _toggle = !_toggle; }); }, ), TextSpan(text: \"你好世界\"), ] ) ), ); } } 运行效果: 注意:使用GestureRecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。 手势竞争与冲突 竞争 如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上Flutter中的手势识别引入了一个Arena的概念,Arena直译为“竞技场”的意思,每一个手势识别器(GestureRecognizer)都是一个“竞争者”(GestureArenaMember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个ListView,它的第一个子Widget也是ListView,如果现在滑动这个子ListView,父ListView会动吗?答案是否定的,这时只有子Widget会动,因为这时子Widget会胜出而获得滑动事件的处理权。 示例 我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下: import 'package:flutter/material.dart'; class BothDirectionTestRoute extends StatefulWidget { @override BothDirectionTestRouteState createState() => new BothDirectionTestRouteState(); } class BothDirectionTestRouteState extends State { double _top = 0.0; double _left = 0.0; @override Widget build(BuildContext context) { return Stack( children: [ Positioned( top: _top, left: _left, child: GestureDetector( child: CircleAvatar(child: Text(\"A\")), //垂直方向拖动事件 onVerticalDragUpdate: (DragUpdateDetails details) { setState(() { _top += details.delta.dy; }); }, onHorizontalDragUpdate: (DragUpdateDetails details) { setState(() { _left += details.delta.dx; }); }, ), ) ], ); } } 此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。 手势冲突 由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下: class GestureConflictTestRouteState extends State { double _left = 0.0; @override Widget build(BuildContext context) { return Stack( children: [ Positioned( left: _left, child: GestureDetector( child: CircleAvatar(child: Text(\"A\")), //要拖动和点击的widget onHorizontalDragUpdate: (DragUpdateDetails details) { setState(() { _left += details.delta.dx; }); }, onHorizontalDragEnd: (details){ print(\"onHorizontalDragEnd\"); }, onTapDown: (details){ print(\"down\"); }, onTapUp: (details){ print(\"up\"); }, ), ) ], ); } } 现在我们按住圆形“A”拖动然后抬起手指,控制台日志如下: I/flutter (17539): down I/flutter (17539): onHorizontalDragEnd 我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时TapDown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onHorizontalDragEnd 和 onTapUp发生了冲突,但是因为是在拖动的语义中,所以onHorizontalDragEnd胜出,所以就会打印 “onHorizontalDragEnd”。如果我们的代码逻辑中,对于手指按下和抬起是强依赖的,比如在一个轮播图组件中,我们希望手指按下时,暂停轮播,而抬起时恢复轮播,但是由于轮播图组件中本身可能已经处理了拖动手势(支持手动滑动切换),甚至可能也支持了缩放手势,这时我们如果在外部再用onTapDown、onTapUp来监听的话是不行的。这时我们应该怎么做?其实很简单,通过Listener监听原始指针事件就行: Positioned( top:80.0, left: _leftB, child: Listener( onPointerDown: (details) { print(\"down\"); }, onPointerUp: (details) { //会触发 print(\"up\"); }, child: GestureDetector( child: CircleAvatar(child: Text(\"B\")), onHorizontalDragUpdate: (DragUpdateDetails details) { setState(() { _leftB += details.delta.dx; }); }, onHorizontalDragEnd: (details) { print(\"onHorizontalDragEnd\"); }, ), ), ) 总结: 手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过Listener直接识别原始指针事件来解决冲突。 "},"chapter8/eventbus.html":{"url":"chapter8/eventbus.html","title":"全局事件总线","keywords":"","body":"事件总线 在APP中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的APP中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下: //订阅者回调签名 typedef void EventCallback(arg); class EventBus { //私有构造函数 EventBus._internal(); //保存单例 static EventBus _singleton = new EventBus._internal(); //工厂构造函数 factory EventBus()=> _singleton; //保存事件订阅者队列,key:事件名(id),value: 对应事件的订阅者队列 var _emap = new Map>(); //添加订阅者 void on(eventName, EventCallback f) { if (eventName == null || f == null) return; _emap[eventName] ??= new List(); _emap[eventName].add(f); } //移除订阅者 void off(eventName, [EventCallback f]) { var list = _emap[eventName]; if (eventName == null || list == null) return; if (f == null) { _emap[eventName] = null; } else { list.remove(f); } } //触发事件,事件触发后该事件所有订阅者会被调用 void emit(eventName, [arg]) { var list = _emap[eventName]; if (list == null) return; int len = list.length - 1; //反向遍历,防止在订阅者在回调中移除自身带来的下标错位 for (var i = len; i > -1; --i) { list[i](arg); } } } //定义一个top-level变量,页面引入该文件后可以直接使用bus var bus = new EventBus(); 使用 //页面A中 ... //监听登录事件 bus.on(\"login\", (arg) { // do something }); //登录页B中 ... //登录成功后触发登录事件,页面A中订阅者会被调用 bus.emit(\"login\", userInfo); 注意:Dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new EventBus()始终返回都是同一个实例,读者应该理解并掌握这种方法。 事件总线通常用于Widget之间状态共享,但关于Widget之间状态共享也有一些专门的Package如redux,这和web框架Vue/React是一致的。通常情况下事件总线是足以满足业务需求的,如果你决定使用redux的话,一定要想清楚业务是否真的有必要用它,防止“化简为繁”、过度设计。 "},"chapter8/notification.html":{"url":"chapter8/notification.html","title":"通知Notification","keywords":"","body":"Notification Notification是Flutter中一个重要的机制,在Widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)向上传递,所有父节点都可以通过NotificationListener来监听通知,Flutter中称这种通知由子向父的传递为“通知冒泡”(Notification Bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。 Flutter中很多地方使用了通知,如可滚动(Scrollable) Widget中滑动时就会分发ScrollNotification,而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。除了ScrollNotification,Flutter中还有SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等。下面是一个监听Scrollable Widget滚动通知的例子: NotificationListener( onNotification: (notification){ //print(notification); switch (notification.runtimeType){ case ScrollStartNotification: print(\"开始滚动\"); break; case ScrollUpdateNotification: print(\"正在滚动\"); break; case ScrollEndNotification: print(\"滚动停止\"); break; case OverscrollNotification: print(\"滚动到边界\"); break; } }, child: ListView.builder( itemCount: 100, itemBuilder: (context, index) { return ListTile(title: Text(\"$index\"),); } ), ); 上例中的滚动通知如ScrollStartNotification、ScrollUpdateNotification等都是继承自ScrollNotification类,不同类型的通知子类会包含不同的信息,比如ScrollUpdateNotification有一个scrollDelta属性,它记录了移动的位移,其它通知属性读者可以自己查看SDK文档。 自定义通知 除了Flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知: 定义一个通知类,要继承自Notification类; class MyNotification extends Notification { MyNotification(this.msg); final String msg; } 分发通知。 Notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作Element的一个接口,它与Element树上的节点是对应的,通知会从context对应的Element节点向上冒泡。 下面我们看一个完整的例子: class NotificationRoute extends StatefulWidget { @override NotificationRouteState createState() { return new NotificationRouteState(); } } class NotificationRouteState extends State { String _msg=\"\"; @override Widget build(BuildContext context) { //监听通知 return NotificationListener( onNotification: (notification) { setState(() { _msg+=notification.msg+\" \"; }); }, child: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ // RaisedButton( // onPressed: () => MyNotification(\"Hi\").dispatch(context), // child: Text(\"Send Notification\"), // ), Builder( builder: (context) { return RaisedButton( //按钮点击时分发通知 onPressed: () => MyNotification(\"Hi\").dispatch(context), child: Text(\"Send Notification\"), ); }, ), Text(_msg) ], ), ), ); } } class MyNotification extends Notification { MyNotification(this.msg); final String msg; } 上面代码中,我们每点一次按钮就会分发一个MyNotification类型的通知,我们在Widget根上监听通知,收到通知后我们将通知通过Text显示在屏幕上。 注意:代码中注释的部分是不能正常工作的,因为这个context是根Context,而NotificationListener是监听的子树,所以我们通过Builder来构建RaisedButton,来获得按钮位置的context。 运行效果如下: "},"chapter9/":{"url":"chapter9/","title":"动画","keywords":"","body":"简介 精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。 Flutter可以轻松实现各种动画类型,对于许多widget,特别是Material Design widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍Flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。 本章目录 Flutter动画简介 动画结构 自定义路由过渡动画 Hero动画 交错动画 "},"chapter9/intro.html":{"url":"chapter9/intro.html","title":"Flutter动画简介","keywords":"","body":"动画 在任何系统的UI框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变UI外观,由于人眼会产生视觉暂留,最终看到的就是一个“连续”的动画,这和电影的原理是一样的,而UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(Frame Per Second),指每秒的动画帧数。很明显,帧率越高则动画就会越流畅。一般情况下,对于人眼来说,动画帧率超过16FPS,就比较流畅了,超过32FPS就会非常的细腻平滑,而超过32FPS基本就感受不到差别了。由于动画的每一帧都是要改变UI输出,所以在一个时间段内连续的改变UI输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在UI系统中,动画的平均帧率是重要的性能指标,而在Flutter中,理想情况下是可以实现60FPS的,这和原生应用动画基本是持平的。 Flutter中动画抽象 为了方便开发者创建动画,不同的UI系统对动画都进行了一些抽象,比如在Android中可以通过XML来描述一个动画然后设置给View。Flutter中也对动画进行了抽象,主要涉及Tween、Animation、Curve、Controller这些角色。 Animation Animation对象本身和UI渲染没有任何关系。Animation是一个抽象类,它用于保存动画的插值和状态;其中一个比较常用的Animation类是Animation。Animation对象是一个在一段时间内依次生成一个区间(Tween)之间值的类。Animation对象的输出值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数。 根据Animation对象的控制方式,动画可以反向运行,甚至可以在中间切换方向。Animation还可以生成除double之外的其他类型值,如:Animation\\ 或 Animation\\。可以通过Animation对象的value属性获取动画的当前值。 动画通知 我们可以通过Animation来监听动画的帧和状态变化: addListener()可以给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。 addStatusListener()可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用StatusListener。 在后面的章节中我们将会举例说明。 Curve 动画过程可以是匀速的、加速的或者先加速后减速等。Flutter中通过Curve(曲线)来描述动画过程,Curve可以是线性的(Curves.linear),也可以是非线性的。 CurvedAnimation 将动画过程定义为一个非线性曲线. final CurvedAnimation curve = new CurvedAnimation(parent: controller, curve: Curves.easeIn); 注: Curves 类类定义了许多常用的曲线,也可以创建自己的,例如: class ShakeCurve extends Curve { @override double transform(double t) { return math.sin(t * math.PI * 2); } } CurvedAnimation和AnimationController(下面介绍)都是Animation类型。CurvedAnimation可以通过包装AnimationController和Curve生成一个新的动画对象 。 AnimationController AnimationController用于控制动画,它包含动画的启动forward()、停止stop() 、反向播放 reverse()等方法。AnimationController会在动画的每一帧,就会生成一个新的值。默认情况下,AnimationController在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。 例如,下面代码创建一个Animation对象,但不会启动它运行: final AnimationController controller = new AnimationController( duration: const Duration(milliseconds: 2000), vsync: this); AnimationController生成数字的区间可以通过lowerBound和upperBound来指定,如: final AnimationController controller = new AnimationController( duration: const Duration(milliseconds: 2000), lowerBound: 10.0, upperBound: 20.0, vsync: this ); AnimationController派生自Animation,因此可以在需要Animation对象的任何地方使用。 但是,AnimationController具有控制动画的其他方法,例如forward()方法可以启动动画。数字的产生与屏幕刷新有关,因此每秒钟通常会产生60个数字(即60fps),在动画的每一帧,生成新的数字后,每个Animation对象会调用其Listener对象回调,等动画状态发生改变时(如动画结束)会调用StatusListeners监听器。 duration表示动画执行的时长,通过它我们可以控制动画的速度。 注意: 在某些情况下,动画值可能会超出AnimationController的0.0-1.0的范围。例如,fling()函数允许您提供速度(velocity)、力量(force)等,因此可以在0.0到1.0范围之外。 CurvedAnimation生成的值也可以超出0.0到1.0的范围。根据选择的曲线,CurvedAnimation的输出可以具有比输入更大的范围。例如,Curves.elasticIn等弹性曲线会生成大于或小于默认范围的值。 Ticker 当创建一个AnimationController时,需要传递一个vsync参数,它接收一个TickerProvider类型的对象,它的主要职责是创建Ticker,定义如下: abstract class TickerProvider { //通过一个回调创建一个Ticker Ticker createTicker(TickerCallback onTick); } Flutter应用在启动时都会绑定一个SchedulerBinding,通过SchedulerBinding可以给每一次屏幕刷新添加回调,而Ticker就是通过SchedulerBinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用TickerCallback。使用Ticker(而不是Timer)来驱动动画会防止屏幕外动画(动画的UI不在当前屏幕时,如锁屏时)消耗不必要的资源,因为Flutter中屏幕刷新时会通知到绑定的SchedulerBinding,而Ticker是受SchedulerBinding驱动的,由于锁屏后屏幕会停止刷新,所以Ticker就不会再触发。 通过将SingleTickerProviderStateMixin添加到State的定义中,然后将State对象作为vsync的值,这在后面的例子中可以见到。 Tween 默认情况下,AnimationController对象值的范围是0.0到1.0。如果我们需要不同的范围或不同的数据类型,则可以使用Tween来配置动画以生成不同的范围或数据类型的值。例如,像下面示例,Tween生成从-200.0到0.0的值: final Tween doubleTween = new Tween(begin: -200.0, end: 0.0); Tween构造函数需要begin和end两个参数。Tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为0.0到1.0,但这不是必须的,我们可以自定义需要的范围。 Tween继承自Animatable,而不是继承自Animation。Animatable与Animation相似,不是必须输出double值。例如,ColorTween指定两种颜色之间的过渡。 final Tween colorTween = new ColorTween(begin: Colors.transparent, end: Colors.black54); Tween对象不存储任何状态,相反,它提供了evaluate(Animation animation)方法,它可以获取动画当前值。 Animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。 Tween.animate 要使用Tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。 final AnimationController controller = new AnimationController( duration: const Duration(milliseconds: 500), vsync: this); Animation alpha = new IntTween(begin: 0, end: 255).animate(controller); 注意animate()返回的是一个Animation,而不是一个Animatable。 以下示例构建了一个控制器、一条曲线和一个Tween: final AnimationController controller = new AnimationController( duration: const Duration(milliseconds: 500), vsync: this); final Animation curve = new CurvedAnimation(parent: controller, curve: Curves.easeOut); Animation alpha = new IntTween(begin: 0, end: 255).animate(curve); "},"chapter9/animation_structure.html":{"url":"chapter9/animation_structure.html","title":"动画结构","keywords":"","body":"动画基本结构 我们通过实现一个图片逐渐放大的示例来演示一下Flutter中动画的基本结构: class ScaleAnimationRoute extends StatefulWidget { @override _ScaleAnimationRouteState createState() => new _ScaleAnimationRouteState(); } //需要继承TickerProvider,如果有多个AnimationController,则应该使用TickerProviderStateMixin。 class _ScaleAnimationRouteState extends State with SingleTickerProviderStateMixin{ Animation animation; AnimationController controller; initState() { super.initState(); controller = new AnimationController( duration: const Duration(seconds: 3), vsync: this); //图片宽高从0变到300 animation = new Tween(begin: 0.0, end: 300.0).animate(controller) ..addListener(() { setState(()=>{}); }); //启动动画(正向执行) controller.forward(); } @override Widget build(BuildContext context) { return new Center( child: Image.asset(\"images/avatar.png\", width: animation.value, height: animation.value ), ); } dispose() { //路由销毁时需要释放动画资源 controller.dispose(); super.dispose(); } } 上面代码中addListener()函数调用了setState(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变Image的宽高,因为它的高度和宽度现在使用的是animation.value ,所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。 上面的例子中并没有指定Curve,所以放大的过程是线性的(匀速),下面我们指定一个Curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initState中的代码改为下面这样即可: initState() { super.initState(); controller = new AnimationController( duration: const Duration(seconds: 3), vsync: this); //使用弹性曲线 animation=CurvedAnimation(parent: controller, curve: Curves.bounceIn); //图片宽高从0变到300 animation = new Tween(begin: 0.0, end: 300.0).animate(animation) ..addListener(() { setState(() { }); }); //启动动画 controller.forward(); } 使用AnimatedWidget简化 细心的读者可能已经发现上面示例中通过addListener()和setState() 来更新UI这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。AnimatedWidget类封装了调用setState()的细节,并允许我们将Widget分离出来,重构后的代码如下: class AnimatedImage extends AnimatedWidget { AnimatedImage({Key key, Animation animation}) : super(key: key, listenable: animation); Widget build(BuildContext context) { final Animation animation = listenable; return new Center( child: Image.asset(\"images/avatar.png\", width: animation.value, height: animation.value ), ); } } class ScaleAnimationRoute extends StatefulWidget { @override _ScaleAnimationRouteState createState() => new _ScaleAnimationRouteState(); } class _ScaleAnimationRouteState extends State with SingleTickerProviderStateMixin { Animation animation; AnimationController controller; initState() { super.initState(); controller = new AnimationController( duration: const Duration(seconds: 3), vsync: this); //图片宽高从0变到300 animation = new Tween(begin: 0.0, end: 300.0).animate(controller); //启动动画 controller.forward(); } @override Widget build(BuildContext context) { return AnimatedImage(animation: animation,); } dispose() { //路由销毁时需要释放动画资源 controller.dispose(); super.dispose(); } } 用AnimatedBuilder重构 用AnimatedWidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在AnimatedWidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个AnimatedWidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而AnimatedBuilder正是将渲染逻辑分离出来, 上面的build方法中的代码可以改为: @override Widget build(BuildContext context) { //return AnimatedImage(animation: animation,); return AnimatedBuilder( animation: animation, child: Image.asset(\"images/avatar.png\"), builder: (BuildContext ctx, Widget child) { return new Center( child: Container( height: animation.value, width: animation.value, child: child, ), ); }, ); } 上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给AnimatedBuilder后AnimatedBuilder再将其传递给匿名构造器, 然后将该对象用作其子对象。最终的结果是AnimatedBuilder返回的对象插入到Widget树中。 也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处: 不用显式的去添加帧监听器,然后再调用setState() 了,这个好处和AnimatedWidget是一样的。 动画构建的范围缩小了,如果没有builder,setState()将会在父widget上下文调用,这将会导致父widget的build方法重新调用,而有了builder之后,只会导致动画widget的build重新调用,这在复杂布局下性能会提高。 通过AnimatedBuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个GrowTransition来说明,它可以对子widget实现放大动画: class GrowTransition extends StatelessWidget { GrowTransition({this.child, this.animation}); final Widget child; final Animation animation; Widget build(BuildContext context) { return new Center( child: new AnimatedBuilder( animation: animation, builder: (BuildContext context, Widget child) { return new Container( height: animation.value, width: animation.value, child: child ); }, child: child ), ); } } 这样,最初的示例就可以改为: ... Widget build(BuildContext context) { return GrowTransition( child: Image.asset(\"images/avatar.png\"), animation: animation, ); } Flutter中正是通过这种方式封装了很多动画,如:FadeTransition、ScaleTransition、SizeTransition、FractionalTranslation等,很多时候都可以复用这些预置的过渡类。 动画状态监听 上面说过,我们可以通过Animation的addStatusListener()方法来添加动画状态改变监听器。Flutter中,有四种动画状态,在AnimationStatus枚举类中定义,下面我们逐个说明: 枚举值 含义 dismissed 动画在起始点停止 forward 动画正在正向执行 reverse 动画正在反向执行 completed 动画在终点停止 示例 我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下: initState() { super.initState(); controller = new AnimationController( duration: const Duration(seconds: 1), vsync: this); //图片宽高从0变到300 animation = new Tween(begin: 0.0, end: 300.0).animate(controller); animation.addStatusListener((status) { if (status == AnimationStatus.completed) { //动画执行结束时反向执行动画 controller.reverse(); } else if (status == AnimationStatus.dismissed) { //动画恢复到初始状态时执行动画(正向) controller.forward(); } }); //启动动画(正向) controller.forward(); } "},"chapter9/route_transition.html":{"url":"chapter9/route_transition.html","title":"自定义路由过渡动画","keywords":"","body":"自定义路由切换动画 Material库中提供了一个MaterialPageRoute,它可以使用和平台风格一致的路由切换动画,如在iOS上会左右滑动切换,而在Android上会上下滑动切换。如果在Android上也想使用左右切换风格,可以直接使用CupertinoPageRoute, 如: Navigator.push(context, CupertinoPageRoute( builder: (context){ return PageB(); //路由B } )); 如果想自定义路由切换动画,可以使用PageRouteBuilder,例如我们想以渐隐渐入动画来实现路由过渡: Navigator.push(context, PageRouteBuilder( transitionDuration: Duration(milliseconds: 500), //动画时间为500毫秒 pageBuilder: (BuildContext context, Animation animation, Animation secondaryAnimation) { return new FadeTransition( //使用渐隐渐入过渡, opacity: animation, child: PageB(); //路由B ); })); }), 我们可以看到pageBuilder 有一个animation参数,这是Flutter路由管理器提供的,在路由切换时pageBuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。 无论是MaterialPageRoute、CupertinoPageRoute,还是PageRouteBuilder,它们都继承自PageRoute类,而PageRouteBuilder其实只是PageRoute的一个包装,我们可以直接继承PageRoute类来实现自定义路由,上面的例子可以通过如下方式实现: 定义一个路由类FadeRoute class FadeRoute extends PageRoute { FadeRoute({ @required this.builder, this.transitionDuration = const Duration(milliseconds: 300), this.opaque = true, this.barrierDismissible = false, this.barrierColor, this.barrierLabel, this.maintainState = true, }); final WidgetBuilder builder; @override final Duration transitionDuration; @override final bool opaque; @override final bool barrierDismissible; @override final Color barrierColor; @override final String barrierLabel; @override final bool maintainState; @override Widget buildPage(BuildContext context, Animation animation, Animation secondaryAnimation) => builder(context); @override Widget buildTransitions(BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) { return FadeTransition( opacity: animation, child: builder(context), ); } } 使用FadeRoute Navigator.push(context, FadeRoute(builder: (context) { return PageB(); })); 虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应考虑优先使用PageRouteBuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候PageRouteBuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承PageRoute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isActive属性是否为true,代码如下: @override Widget buildTransitions(BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) { //当前路由被激活,是打开新路由 if(isActive) { return FadeTransition( opacity: animation, child: builder(context), ); }else{ //是返回,则不应用过渡动画 return Padding(padding: EdgeInsets.zero); } } 关于路由参数的详细信息读者可以自行查阅API文档,比较简单,不再赘述。 "},"chapter9/hero.html":{"url":"chapter9/hero.html","title":"Hero动画","keywords":"","body":"Hero动画 Hero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的Widget可以在新旧路由间切换,由于共享的Widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会逐渐过渡,这样就会产生一个Hero动画。 你可能多次看到过 hero 动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。 在Flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为 共享元素转换。下面我们通过一个示例来体验一下hero 动画。 示例 假设有两个路由A和B,他们的内容交互如下: A:包含一个用户头像,圆形,点击后跳到B路由,可以查看大图。 B:显示用户头像原图,矩形; 在AB两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析: // 路由A class HeroAnimationRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Container( alignment: Alignment.topCenter, child: InkWell( child: Hero( tag: \"avatar\", //唯一标记,前后两个路由页Hero的tag必须相同 child: ClipOval( child: Image.asset(\"images/avatar.png\", width: 50.0, ), ), ), onTap: () { //打开B路由 Navigator.push(context, PageRouteBuilder( pageBuilder: (BuildContext context, Animation animation, Animation secondaryAnimation) { return new FadeTransition( opacity: animation, child: PageScaffold( title: \"原图\", body: HeroAnimationRouteB(), ), ); }) ); }, ), ); } } 路由B: class HeroAnimationRouteB extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: Hero( tag: \"avatar\", //唯一标记,前后两个路由页Hero的tag必须相同 child: Image.asset(\"images/avatar.png\"), ), ); } } 我们可以看到,实现Hero动画只需要用Hero Widget将要共享的Widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是Flutter Framework自动完成的。必须要注意, 前后路由页的共享Hero的tag必须是相同的,Flutter Framework内部正式通过tag来对应新旧路由页Widget的对应关系的。 Hero动画的原理比较简单,Flutter Framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值即可,幸运的是,这些事情Flutter已经帮我们做了。 "},"chapter9/stagger_animation.html":{"url":"chapter9/stagger_animation.html","title":"交错动画","keywords":"","body":"交错动画 有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。这时我们就需要使用交错动画(Stagger Animation)。交错动画需要注意以下几点: 要创建交错动画,需要使用多个动画对象 一个AnimationController控制所有动画 给每一个动画对象指定间隔(Interval) 所有动画都由同一个AnimationController驱动,无论动画实时持续多长时间,控制器的值必须介于0.0和1.0之间,而每个动画的间隔(Interval)介于0.0和1.0之间。对于在间隔中设置动画的每个属性,请创建一个Tween。 Tween指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定起始点和终止点来决定它们的开始时间和终止时间。 示例 下面我们看一个例子,实现一个柱状图增长的动画: 开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。 高度增长到300后,开始沿X轴向右平移100像素;这个过程占用整个动画时间的40%。 我们将执行动画的Widget分离出来: class StaggerAnimation extends StatelessWidget { StaggerAnimation({ Key key, this.controller }): super(key: key){ //高度动画 height = Tween( begin:.0 , end: 300.0, ).animate( CurvedAnimation( parent: controller, curve: Interval( 0.0, 0.6, //间隔,前60%的动画时间 curve: Curves.ease, ), ), ); color = ColorTween( begin:Colors.green , end:Colors.red, ).animate( CurvedAnimation( parent: controller, curve: Interval( 0.0, 0.6,//间隔,前60%的动画时间 curve: Curves.ease, ), ), ); padding = Tween( begin:EdgeInsets.only(left: .0), end:EdgeInsets.only(left: 100.0), ).animate( CurvedAnimation( parent: controller, curve: Interval( 0.6, 1.0, //间隔,后40%的动画时间 curve: Curves.ease, ), ), ); } final Animation controller; Animation height; Animation padding; Animation color; Widget _buildAnimation(BuildContext context, Widget child) { return Container( alignment: Alignment.bottomCenter, padding:padding.value , child: Container( color: color.value, width: 50.0, height: height.value, ), ); } @override Widget build(BuildContext context) { return AnimatedBuilder( builder: _buildAnimation, animation: controller, ); } } StaggerAnimation中定义了三个动画,分别是对Container的height、color、padding属性设置的动画,然后通过Interval来为每个动画指定在整个动画过程的起始点和终点。 下面我们来实现启动动画的路由: class StaggerDemo extends StatefulWidget { @override _StaggerDemoState createState() => _StaggerDemoState(); } class _StaggerDemoState extends State with TickerProviderStateMixin { AnimationController _controller; @override void initState() { super.initState(); _controller = AnimationController( duration: const Duration(milliseconds: 2000), vsync: this ); } Future _playAnimation() async { try { //先正向执行动画 await _controller.forward().orCancel; //再反向执行动画 await _controller.reverse().orCancel; } on TickerCanceled { // the animation got canceled, probably because we were disposed } } @override Widget build(BuildContext context) { return GestureDetector( behavior: HitTestBehavior.opaque, onTap: () { _playAnimation(); }, child: Center( child: Container( width: 300.0, height: 300.0, decoration: BoxDecoration( color: Colors.black.withOpacity(0.1), border: Border.all( color: Colors.black.withOpacity(0.5), ), ), //调用我们定义的交错动画Widget child: StaggerAnimation( controller: _controller ), ), ), ); } } 执行效果如下,点击灰色矩形,就可以看到整个动画效果: "},"chapter13/":{"url":"chapter13/","title":"自定义Widget","keywords":"","body":"本章目录 自定义Widget方法简介 通过组合现有Widget实现 实例:TurnBox CustomPaint与Canvas 实例:圆形渐变进度条 "},"chapter13/intro.html":{"url":"chapter13/intro.html","title":"自定义Widget方法简介","keywords":"","body":"自定义Widget方法简介 当Flutter提供的现有Widget无法满足我们的需求,或者我们为了共享代码需要封装一些通用Widget,这时我们就需要自定义Widget。在Flutter中自定义Widget有三种方式:通过组合其它Widget、自绘和实现RenderObject,本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。 组合其它Widget 这种方式是通过拼装其它低级别的Widget来组合成一个高级别的Widget,例如我们之前介绍的Container就是一个组合Widget,它是由DecoratedBox、ConstrainedBox、Transform、Padding、Align等组成。 在Flutter中,组合的思想非常重要,Flutter提供了非常多的基础Widget,而我们的界面开发都是按照需要组合这些Widget来实现各种不同的布局。 自绘 如果遇到无法通过系统提供的现有Widget实现的UI时,如我们需要一个渐变圆形进度条,而Flutter提供的CircularProgressIndicator并不支持在显示精确进度时对进度条应用渐变色(其valueColor 属性只支持执行旋转动画时变化Indicator的颜色),这时最好的方法就是通过自定义Widget绘制逻辑来画出我们期望的外观。Flutter中提供了CustomPaint和Canvas供我们自绘UI外观。 实现RenderObject Flutter提供的任何具有UI外观的Widget,如文本Text、Image都是通过相应的RenderObject渲染出来的,如Text是由RenderParagraph渲染,而Image是由RenderImage渲染。RenderObject是一个抽象类,它定义了一个抽象方法paint(...): void paint(PaintingContext context, Offset offset) PaintingContext代表Widget的绘制上下文,通过PaintingContext.canvas可以获得Canvas,绘制逻辑主要是通过Canvas API来实现。子类需要实现此方法以实现自身的绘制逻辑,如RenderParagraph需要实现文本绘制逻辑,而RenderImage需要实现图片绘制逻辑。 可以发现,RenderObject中最终也是通过Canvas来绘制的,那么通过实现RenderObject的方式和上面介绍的通过CustomPaint和Canvas自绘的方式有什么区别?其实答案很简单,CustomPaint只是为了方便开发者封装的一个代理类,它直接继承自SingleChildRenderObjectWidget,通过RenderCustomPaint的paint方法将Canvas和画笔Painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在Painter中)。 总结 组合是自定义组件最简单的方法,在任何需要自定义的场景下,都应该优先考虑是否能够通过组合来实现。而自绘和通过实现RenderObject的方法本质上是一样的,都需要开发者调用Canvas API手动去绘制UI,缺点是必须了解Canvas API,并且得自己去实现绘制逻辑,而优点是强大灵活,理论上可以实现任何外观的UI。 在本章接下来的小节中,我们将通过一些实例来详细介绍自定义UI的过程,由于后两种方法本质是相同的,后续我们只介绍CustomPaint和Canvas的方式,读者如果对自定义RenderObject的方法好奇,可以查看RenderParagraph或RenderImage源码。 "},"chapter13/combine.html":{"url":"chapter13/combine.html","title":"通过组合现有Widget实现","keywords":"","body":"通过组合现有Widget实现自定义Widget 在Flutter中页面UI通常都是由一些低阶别的Widget组合而成,当我们需要封装一些通用Widget时,应该首先考虑是否可以通过组合其它Widget来实现,如果可以则应优先使用组合,因为直接通过现有Widget拼装会非常方便、简单、高效。 示例:自定义渐变按钮 Flutter Widget库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个GradientButton Widget。我们先来看看效果: 我们看看GradientButton实现: import 'package:flutter/material.dart'; class GradientButton extends StatelessWidget { GradientButton({ this.colors, this.width, this.height, this.onTap, @required this.child, }); // 渐变色数组 final List colors; // 按钮宽高 final double width; final double height; final Widget child; //点击回调 final GestureTapCallback onTap; @override Widget build(BuildContext context) { ThemeData theme = Theme.of(context); //确保colors数组不空 List _colors = colors ?? [theme.primaryColor, theme.primaryColorDark ?? theme.primaryColor]; return DecoratedBox( decoration: BoxDecoration( gradient: LinearGradient(colors: _colors), ), child: Material( type: MaterialType.transparency, child: InkWell( splashColor: colors.last, highlightColor: Colors.transparent, onTap: onTap, child: ConstrainedBox( constraints: BoxConstraints.tightFor(height: height, width: width), child: Center( child: Padding( padding: const EdgeInsets.all(8.0), child: DefaultTextStyle( style: TextStyle(fontWeight: FontWeight.bold), child: child), ), ), ), ), ), ); } } 可以看到GradientButton是由Padding、Center、InkWell等Widget组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态、不能定义圆角等,读者可以根据实际需要来完善。 使用GradientButton class GradientButtonRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Container( child: Column( children: [ GradientButton( colors: [Colors.orange,Colors.red], height: 50.0, child: Text(\"Submit\"), onTap:onTap , ), GradientButton( height: 50.0, colors: [Colors.lightGreen, Colors.green[700]], child: Text(\"Submit\"), onTap: onTap, ), GradientButton( height: 50.0, colors: [Colors.lightBlue[300], Colors.blueAccent], child: Text(\"Submit\"), onTap: onTap, ), ], ), ); } onTap(){ print(\"button click\"); } } 总结 通过组合的方式定义Widget和我们之前写界面并无差异,不过在抽离出单独的Widget时我们要考虑代码规范性,如必要参数要用@required 标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解Widget的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用Widget时能够兼容或报错提示(使用assert断言函数)。 "},"chapter13/turn_box.html":{"url":"chapter13/turn_box.html","title":"实例:TurnBox","keywords":"","body":"实例:TurnBox 我们之前已经介绍过RotatedBox,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转,二是当旋转的角度发生变化时,旋转角度更新过程没有动画。 本节我们将实现一个TurnBox,它可以以任意角度来旋转其子节点,并且在角度发生变化时可以执行一个动画过渡到新状态,同时,我们可以手动指定动画速度。 TurnBox的完整代码如下: import 'package:flutter/widgets.dart'; class TurnBox extends StatefulWidget { const TurnBox({ Key key, this.turns = .0, //旋转的“圈”数,一圈为360度,如0.25圈即90度 this.speed = 200, //过渡动画执行的总时长 this.child }) :super(key: key); final double turns; final int speed; final Widget child; @override _TurnBoxState createState() => new _TurnBoxState(); } class _TurnBoxState extends State with SingleTickerProviderStateMixin { AnimationController _controller; @override void initState() { super.initState(); _controller = new AnimationController( vsync: this, lowerBound: -double.infinity, upperBound: double.infinity ); _controller.value = widget.turns; } @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return RotationTransition( turns: _controller, child: widget.child, ); } @override void didUpdateWidget(TurnBox oldWidget) { super.didUpdateWidget(oldWidget); //旋转角度发生变化时执行过渡动画 if (oldWidget.turns != widget.turns) { _controller.animateTo( widget.turns, duration: Duration(milliseconds: widget.speed??200), curve: Curves.easeOut, ); } } } 代码比较简单,我们主要是通过包装(组合)RotationTransition来实现的。 下面我们测试一下TurnBox的功能,测试代码如下: import 'package:flutter/material.dart'; import '../widgets/index.dart'; class TurnBoxRoute extends StatefulWidget { @override _TurnBoxRouteState createState() => new _TurnBoxRouteState(); } class _TurnBoxRouteState extends State { double _turns = .0; @override Widget build(BuildContext context) { return Center( child: Column( children: [ TurnBox( turns: _turns, speed: 500, child: Icon(Icons.refresh, size: 50,), ), TurnBox( turns: _turns, speed: 1000, child: Icon(Icons.refresh, size: 150.0,), ), RaisedButton( child: Text(\"顺时针旋转1/5圈\"), onPressed: () { setState(() { _turns += .2; }); }, ), RaisedButton( child: Text(\"逆时针旋转1/5圈\"), onPressed: () { setState(() { _turns -= .2; }); }, ) ], ), ); } } 测试代码运行后效果如下图: 当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。 "},"chapter13/custom_paint.html":{"url":"chapter13/custom_paint.html","title":"CustomPaint与Canvas","keywords":"","body":"CustomPaint与Canvas 对于一些复杂或不规则的UI,我们可能无法使用现有Widget组合的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等,当然有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片是实现不了的,比如要实现一个手写输入面板。这时,我们就需要来自己绘制UI外观。 几乎所有的UI系统都会提供一个自绘UI的接口,这个接口通常会提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。在Flutter中,提供了一个CustomPaint Widget,它可以结合一个画笔CustomPainter来实现绘制自定义图形。 CustomPaint 我们看看CustomPaint构造函数: const CustomPaint({ Key key, this.painter, this.foregroundPainter, this.size = Size.zero, this.isComplex = false, this.willChange = false, Widget child, //子节点,可以为空 }) painter: 背景画笔,会显示在子节点后面; foregroundPainter: 前景画笔,会显示在子节点前面 size:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用SizeBox包裹CustomPaint实现。 isComplex:是否复杂的绘制,如果是,Flutter会应用一些缓存策略来减少重复渲染的开销。 willChange:和isComplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。 可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承CustomPainter类,我们在画笔类中实现真正的绘制逻辑。 注意 如果CustomPaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在RepaintBoundary Widget中,这样会在绘制时创建一个新的绘制层(Layer),其子Widget将在新的Layer上绘制,而父Widget将在原来Layer上绘制,也就是说RepaintBoundary 子Widget的绘制将独立于父Widget的绘制,RepaintBoundary会隔离其子节点和CustomPaint本身的绘制边界。示例如下: CustomPaint( size: Size(300, 300), //指定画布大小 painter: MyPainter(), child: RepaintBoundary(child:...)), ) CustomPainter CustomPainter中提定义了一个虚函数paint: void paint(Canvas canvas, Size size); paint有两个参数: Canvas:一个画布,包括各种绘制方法,我们列出一下常用的方法: |API名称 | 功能 | | ---------- | ------ | | drawLine | 画线 | | drawPoint | 画点 | | drawPath | 画路径 | | drawImage | 画图像 | | drawRect | 画矩形 | | drawCircle | 画圆 | | drawOval | 画椭圆 | | drawArc | 画圆弧 | Size:当前绘制区域大小。 画笔Paint 现在画布有了,我们最后还缺一个画笔,Flutter提供了Paint类来实现画笔。在Paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如: var paint = Paint() //创建一个画笔并配置其属性 ..isAntiAlias = true //是否抗锯齿 ..style = PaintingStyle.fill //画笔样式:填充 ..color=Color(0x77cdb175);//画笔颜色 更多的配置属性读者可以参考Paint类定义。 示例:五子棋/盘 下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘UI的过程,首先我们看一下我们的目标结果: 代码: import 'package:flutter/material.dart'; import 'dart:math'; class CustomPaintRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: CustomPaint( size: Size(300, 300), //指定画布大小 painter: MyPainter(), ), ); } } class MyPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { double eWidth = size.width / 15; double eHeight = size.height / 15; //画棋盘背景 var paint = Paint() ..isAntiAlias = true ..style = PaintingStyle.fill //填充 ..color = Color(0x77cdb175); //背景为纸黄色 canvas.drawRect(Offset.zero & size, paint); //画棋盘网格 paint ..style = PaintingStyle.stroke //线 ..color = Colors.black87 ..strokeWidth = 1.0; for (int i = 0; i true; } 性能 绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议: 尽可能的利用好shouldRepaint返回值;在UI树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的UI不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的UI外观;如果绘制依赖外部状态,那么我们就应该在shouldRepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。 绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个Widget,并设置其shouldRepaint回调值为false,然后将棋盘Widget作为背景。然后将棋子的绘制放到另一个Widget中,这样落子时只需要绘制棋子。 总结 自绘控件非常强大,理论上可以实现任何2D图形外观,实际上Flutter提供的所有Widget最终都是调用Canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的Widget的源码,找到其对应的RenderObject对象,如Text Widget最终会通过RenderParagraph对象来通过Canvas实现文本绘制逻辑。 下一节我们再通过实现一个自绘的圆形渐变进度条的实例来帮助读者加深印象。 "},"chapter13/gradient_circular_progress_demo.html":{"url":"chapter13/gradient_circular_progress_demo.html","title":"实例:圆形渐变进度条(自绘)","keywords":"","body":"实例:圆形渐变进度条(自绘) 本节我们实现一个圆形渐变进度条,它支持: 支持多种渐变色。 任意弧度;整个进度可以不是整圆。 可以自定义粗细、两端是否圆角等样式。 可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现。 实现代码如下: import 'dart:math'; import 'package:flutter/material.dart'; class GradientCircularProgressIndicator extends StatelessWidget { GradientCircularProgressIndicator({ this.stokeWidth = 2.0, @required this.radius, @required this.colors, this.stops, this.strokeCapRound = false, this.backgroundColor = const Color(0xFFEEEEEE), this.totalAngle = 2 * pi, this.value }); ///粗细 final double stokeWidth; /// 圆的半径 final double radius; ///两端是否为圆角 final bool strokeCapRound; /// 当前进度,取值范围 [0.0-1.0] final double value; /// 进度条背景色 final Color backgroundColor; /// 进度条的总弧度,2*PI为整圆,小于2*PI则不是整圆 final double totalAngle; /// 渐变色数组 final List colors; /// 渐变色的终止点,对应colors属性 final List stops; @override Widget build(BuildContext context) { double _offset = .0; // 如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置 // 下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样 if (strokeCapRound) { _offset = asin(stokeWidth / (radius * 2 - stokeWidth)); } var _colors = colors; if (_colors == null) { Color color = Theme .of(context) .accentColor; _colors = [color, color]; } return Transform.rotate( angle: -pi / 2.0 - _offset, child: CustomPaint( size: Size.fromRadius(radius), painter: _GradientCircularProgressPainter( stokeWidth: stokeWidth, strokeCapRound: strokeCapRound, backgroundColor: backgroundColor, value: value, total: totalAngle, radius: radius, colors: _colors, ) ), ); } } //实现画笔 class _GradientCircularProgressPainter extends CustomPainter { _GradientCircularProgressPainter({ this.stokeWidth: 10.0, this.strokeCapRound: false, this.backgroundColor = const Color(0xFFEEEEEE), this.radius, this.total = 2 * pi, @required this.colors, this.stops, this.value }); final double stokeWidth; final bool strokeCapRound; final double value; final Color backgroundColor; final List colors; final double total; final double radius; final List stops; @override void paint(Canvas canvas, Size size) { if (radius != null) { size = Size.fromRadius(radius); } double _offset = stokeWidth / 2.0; double _value = (value ?? .0); _value = _value.clamp(.0, 1.0) * total; double _start = .0; if (strokeCapRound) { _start = asin(stokeWidth/ (size.width - stokeWidth)); } Rect rect = Offset(_offset, _offset) & Size( size.width - stokeWidth, size.height - stokeWidth ); var paint = Paint() ..strokeCap = strokeCapRound ? StrokeCap.round : StrokeCap.butt ..style = PaintingStyle.stroke ..isAntiAlias = true ..strokeWidth = stokeWidth; // 先画背景 if (backgroundColor != Colors.transparent) { paint.color = backgroundColor; canvas.drawArc( rect, _start, total, false, paint ); } // 再画前景,应用渐变 if (_value > 0) { paint.shader = SweepGradient( startAngle: 0.0, endAngle: _value, colors: colors, stops: stops, ).createShader(rect); canvas.drawArc( rect, _start, _value, false, paint ); } } @override bool shouldRepaint(CustomPainter oldDelegate) => true; } 下面我们来测试一下,为了尽可能多的展示GradientCircularProgressIndicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图: 完整的代码: import 'dart:math'; import 'package:flutter/material.dart'; import '../widgets/index.dart'; class GradientCircularProgressRoute extends StatefulWidget { @override GradientCircularProgressRouteState createState() { return new GradientCircularProgressRouteState(); } } class GradientCircularProgressRouteState extends State with TickerProviderStateMixin { AnimationController _animationController; @override void initState() { super.initState(); _animationController = new AnimationController(vsync: this, duration: Duration(seconds: 3)); bool isForward = true; _animationController.addStatusListener((status) { if (status == AnimationStatus.forward) { isForward = true; } else if (status == AnimationStatus.completed || status == AnimationStatus.dismissed) { if (isForward) { _animationController.reverse(); } else { _animationController.forward(); } } else if (status == AnimationStatus.reverse) { isForward = false; } }); _animationController.forward(); } @override void dispose() { _animationController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return SingleChildScrollView( child: Center( child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ AnimatedBuilder( animation: _animationController, builder: (BuildContext context, Widget child) { return Padding( padding: const EdgeInsets.symmetric(vertical: 16.0), child: Column( children: [ Wrap( spacing: 10.0, runSpacing: 16.0, children: [ GradientCircularProgressIndicator( // No gradient colors: [Colors.blue, Colors.blue], radius: 50.0, stokeWidth: 3.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange], radius: 50.0, stokeWidth: 3.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange, Colors.red], radius: 50.0, stokeWidth: 5.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.teal, Colors.cyan], radius: 50.0, stokeWidth: 5.0, strokeCapRound: true, value: CurvedAnimation( parent: _animationController, curve: Curves.decelerate) .value, ), TurnBox( turns: 1 / 8, child: GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange, Colors.red], radius: 50.0, stokeWidth: 5.0, strokeCapRound: true, backgroundColor: Colors.red[50], totalAngle: 1.5 * pi, value: CurvedAnimation( parent: _animationController, curve: Curves.ease) .value), ), RotatedBox( quarterTurns: 1, child: GradientCircularProgressIndicator( colors: [Colors.blue[700], Colors.blue[200]], radius: 50.0, stokeWidth: 3.0, strokeCapRound: true, backgroundColor: Colors.transparent, value: _animationController.value), ), GradientCircularProgressIndicator( colors: [ Colors.red, Colors.amber, Colors.cyan, Colors.green[200], Colors.blue, Colors.red ], radius: 50.0, stokeWidth: 5.0, strokeCapRound: true, value: _animationController.value, ), ], ), GradientCircularProgressIndicator( colors: [Colors.blue[700], Colors.blue[200]], radius: 100.0, stokeWidth: 20.0, value: _animationController.value, ), Padding( padding: const EdgeInsets.symmetric(vertical: 16.0), child: GradientCircularProgressIndicator( colors: [Colors.blue[700], Colors.blue[300]], radius: 100.0, stokeWidth: 20.0, value: _animationController.value, strokeCapRound: true, ), ), //剪裁半圆 ClipRect( child: Align( alignment: Alignment.topCenter, heightFactor: .5, child: Padding( padding: const EdgeInsets.only(bottom: 8.0), child: SizedBox( //width: 100.0, child: TurnBox( turns: .75, child: GradientCircularProgressIndicator( colors: [Colors.teal, Colors.cyan[500]], radius: 100.0, stokeWidth: 8.0, value: _animationController.value, totalAngle: pi, strokeCapRound: true, ), ), ), ), ), ), SizedBox( height: 104.0, width: 200.0, child: Stack( alignment: Alignment.center, children: [ Positioned( height: 200.0, top: .0, child: TurnBox( turns: .75, child: GradientCircularProgressIndicator( colors: [Colors.teal, Colors.cyan[500]], radius: 100.0, stokeWidth: 8.0, value: _animationController.value, totalAngle: pi, strokeCapRound: true, ), ), ), Padding( padding: const EdgeInsets.only(top: 10.0), child: Text( \"${(_animationController.value * 100).toInt()}%\", style: TextStyle( fontSize: 25.0, color: Colors.blueGrey, ), ), ) ], ), ), ], ), ); }, ), ], ), ), ); } } "},"chapter10/":{"url":"chapter10/","title":"文件操作与网络请求","keywords":"","body":"本章目录 文件操作 Http请求-HttpClient Http请求-Dio package WebSocket 使用Socket API Json转Model "},"chapter10/file_operation.html":{"url":"chapter10/file_operation.html","title":"文件操作","keywords":"","body":"文件操作 Dart的IO库包含了文件读写的相关类,它属于Dart语法标准的一部分,所以通过Dart IO库,无论是Dart VM下的脚本还是Flutter,都是通过Dart IO库来操作文件的,不过和Dart VM相比,Flutter有一个重要差异是文件系统路径不同,这是因为Dart VM是运行在PC或服务器操作系统下,而Flutter是运行在移动操作系统中,他们的文件系统会有一些差异。 APP目录 Android和iOS的应用存储目录不同,PathProvider 插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置: 临时目录: 可以使用 getTemporaryDirectory() 来获取临时目录; 系统可随时清除的临时目录(缓存)。在iOS上,这对应于NSTemporaryDirectory() 返回的值。在Android上,这是getCacheDir())返回的值。 文档目录: 可以使用getApplicationDocumentsDirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在iOS上,这对应于NSDocumentDirectory。在Android上,这是AppData目录。 外部存储目录:可以使用getExternalStorageDirectory()来获取外部存储目录,如SD卡;由于iOS不支持外部目录,所以在iOS下调用该方法会抛出UnsupportedError异常,而在Android下结果是android SDK中getExternalStorageDirectory的返回值。 一旦你的Flutter应用程序有一个文件位置的引用,你可以使用dart:ioAPI来执行对文件系统的读/写操作。有关使用Dart处理文件和目录的详细内容可以参考Dart语言文档,下面我们看一个简单的例子。 示例 我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。 这里,我们使用文件来保存数据: 引入PathProvider插件;在pubspec.yaml文件中添加如下声明: path_provider: ^0.4.1 添加后,执行flutter packages get 获取一下, 版本号可能随着时间推移会发生变化,读者可以使用最新版。 实现: import 'dart:io'; import 'dart:async'; import 'package:flutter/material.dart'; import 'package:path_provider/path_provider.dart'; class FileOperationRoute extends StatefulWidget { FileOperationRoute({Key key}) : super(key: key); @override _FileOperationRouteState createState() => new _FileOperationRouteState(); } class _FileOperationRouteState extends State { int _counter; @override void initState() { super.initState(); //从文件读取点击次数 _readCounter().then((int value) { setState(() { _counter = value; }); }); } Future _getLocalFile() async { // 获取应用目录 String dir = (await getApplicationDocumentsDirectory()).path; return new File('$dir/counter.txt'); } Future _readCounter() async { try { File file = await _getLocalFile(); // 读取点击次数(以字符串) String contents = await file.readAsString(); return int.parse(contents); } on FileSystemException { return 0; } } Future _incrementCounter() async { setState(() { _counter++; }); // 将点击次数以字符串类型写到文件中 await (await _getLocalFile()).writeAsString('$_counter'); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar(title: new Text('文件操作')), body: new Center( child: new Text('点击了 $_counter 次'), ), floatingActionButton: new FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: new Icon(Icons.add), ), ); } } 上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。 注意,Dart IO库操作文件的API非常丰富,但本书不是介绍Dart语言的,故不详细说明,读者需要的话可以自行学习。 "},"chapter10/http.html":{"url":"chapter10/http.html","title":"Http请求-HttpClient","keywords":"","body":"通过HttpClient发起HTTP请求 Dart IO库中提供了Http请求的一些类,我们可以直接使用HttpClient来发起请求。使用HttpClient发起请求分为五步: 创建一个HttpClient HttpClient httpClient = new HttpClient(); 打开Http连接,设置请求头 HttpClientRequest request = await httpClient.getUrl(uri); 这一步可以使用任意Http method,如httpClient.post(...)、httpClient.delete(...)等。如果包含Query参数,可以在构建uri时添加,如: Uri uri=Uri(scheme: \"https\", host: \"flutterchina.club\", queryParameters: { \"xx\":\"xx\", \"yy\":\"dd\" }); 通过HttpClientRequest可以设置请求header,如: request.headers.add(\"user-agent\", \"test\"); 如果是post或put等可以携带请求体方法,可以通过HttpClientRequest对象发送request body,如: String payload=\"...\"; request.add(utf8.encode(payload)); //request.addStream(_inputStream); //可以直接添加输入流 等待连接服务器 HttpClientResponse response = await request.close(); 这一步完成后,请求信息就已经发送给服务器了,返回一个HttpClientResponse对象,它包含响应头(header)和响应流(响应体的Stream),接下来就可以通过读取响应流来获取响应内容。 读取响应内容 String responseBody = await response.transform(utf8.decoder).join(); 我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。 请求结束,关闭HttpClient httpClient.close(); 关闭client后,通过该client发起的所有请求都会中止。 示例 我们实现一个获取百度首页html的例子,示例效果如下: ​ 点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下: import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; class HttpTestRoute extends StatefulWidget { @override _HttpTestRouteState createState() => new _HttpTestRouteState(); } class _HttpTestRouteState extends State { bool _loading = false; String _text = \"\"; @override Widget build(BuildContext context) { return ConstrainedBox( constraints: BoxConstraints.expand(), child: SingleChildScrollView( child: Column( children: [ RaisedButton( child: Text(\"获取百度首页\"), onPressed: _loading ? null : () async { setState(() { _loading = true; _text = \"正在请求...\"; }); try { //创建一个HttpClient HttpClient httpClient = new HttpClient(); //打开Http连接 HttpClientRequest request = await httpClient.getUrl( Uri.parse(\"https://www.baidu.com\")); //使用iPhone的UA request.headers.add(\"user-agent\", \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1\"); //等待连接服务器(会将请求信息发送给服务器) HttpClientResponse response = await request.close(); //读取响应内容 _text = await response.transform(utf8.decoder).join(); //输出响应头 print(response.headers); //关闭client后,通过该client发起的所有请求都会中止。 httpClient.close(); } catch (e) { _text = \"请求失败:$e\"; } finally { setState(() { _loading = false; }); } } ), Container( width: MediaQuery.of(context).size.width-50.0, child: Text(_text.replaceAll(new RegExp(r\"\\s\"), \"\")) ) ], ), ), ); } } 控制台输出: I/flutter (18545): connection: Keep-Alive I/flutter (18545): cache-control: no-cache I/flutter (18545): set-cookie: .... //有多个,省略... I/flutter (18545): transfer-encoding: chunked I/flutter (18545): date: Tue, 30 Oct 2018 10:00:52 GMT I/flutter (18545): content-encoding: gzip I/flutter (18545): vary: Accept-Encoding I/flutter (18545): strict-transport-security: max-age=172800 I/flutter (18545): content-type: text/html;charset=utf-8 I/flutter (18545): tracecode: 00525262401065761290103018, 00522983 HttpClient配置 HttpClient有很多属性可以配置,常用的属性列表如下: 属性 含义 idleTimeout 对应请求头中的keep-alive字段值,为了避免频繁建立连接,httpClient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。 connectionTimeout 和服务器建立连接的超时,如果超过这个值则会抛出SocketException异常。 maxConnectionsPerHost 同一个host,同时允许建立连接的最大数量。 autoUncompress 对应请求头中的Content-Encoding,如果设置为true,则请求头中Content-Encoding的值为当前HttpClient支持的压缩算法列表,目前只有\"gzip\" userAgent 对应请求头中的User-Agent字段。 可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过HttpClientRequest直接设置header,不同的是通过HttpClient设置的对整个httpClient都生效,而通过HttpClientRequest设置的只对当前请求生效。 HTTP请求认证 Http协议的认证(Authentication)机制可以用于保护非公开资源。如果Http服务器开启了认证,那么用户在发起请求时就需要携带用户凭据,如果你在浏览器中访问了启用Basic认证的资源时,浏览就会弹出一个登录框,如: 我们先看看Basic认证的基本过程: 客户端发送http请求给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话, 服务器会返回一个401 Unauthozied给客户端,并且在响应header中添加一个 “WWW-Authenticate” 字段,例如: WWW-Authenticate: Basic realm=\"admin\" 其中\"Basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。 客户端得到响应码后,将用户名和密码进行base64编码(格式为用户名:密码),设置请求头Authorization,继续访问 : Authorization: Basic YXXFISDJFISJFGIJIJG 服务器验证用户凭据,如果通过就返回资源内容。 注意,Http的方式除了Basic认证之外还有:Digest认证、Client认证、Form Based认证等,目前Flutter的HttpClient只支持Basic和Digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过Base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用Basic认证还是Digest认证,都应该在Https协议下,这样可以防止抓包和中间人攻击。 HttpClient关于Http认证的方法和属性: addCredentials(Uri url, String realm, HttpClientCredentials credentials) 该方法用于添加用户凭据,如: httpClient.addCredentials(_uri, \"admin\", new HttpClientBasicCredentials(\"username\",\"password\"), //Basic认证凭据 ); 如果是Digest认证,可以创建Digest认证凭据: HttpClientDigestCredentials(\"username\",\"password\") authenticate(Future f(Uri url, String scheme, String realm)) 这是一个setter,类型是一个回调,当服务器需要用户凭据且该用户凭据未被添加时,httpClient会调用此回调,在这个回调当中,一般会调用addCredential()来动态添加用户凭证,例如: httpClient.authenticate=(Uri url, String scheme, String realm) async{ if(url.host==\"xx.com\" && realm==\"admin\"){ httpClient.addCredentials(url, \"admin\", new HttpClientBasicCredentials(\"username\",\"pwd\"), ); return true; } return false; }; 一个建议是,如果所有请求都需要认证,那么应该在HttpClient初始化时就调用addCredentials()来添加全局凭证,而不是去动态添加。 代理 可以通过findProxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去: client.findProxy = (uri) { // 如果需要过滤uri,可以手动判断 return \"PROXY 192.168.1.2:8888\"; }; findProxy 回调返回值是一个遵循浏览器PAC脚本格式的字符串,详情可以查看API文档,如果不需要代理,返回\"DIRECT\"即可。 在APP开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。 有时代理服务器也启用了身份验证,这和http协议的认证是相似的,HttpClient提供了对应的Proxy认证方法和属性: set authenticateProxy( Future f(String host, int port, String scheme, String realm)); void addProxyCredentials( String host, int port, String realm, HttpClientCredentials credentials); 他们的使用方法和上面“HTTP请求认证”一节中介绍的addCredentials和authenticate 相同,故不再赘述。 证书校验 Https中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非CA颁发的证书进行校验。HttpClient对证书校验的逻辑如下: 如果请求的Https证书是可信CA颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。 如果第一步验证失败,但在创建HttpClient时,已经通过SecurityContext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。 如果1、2验证都失败了,如果用户提供了badCertificateCallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。 综上所述,我们的证书校验其实就是提供一个badCertificateCallback回调,下面通过一个示例来说明。 示例 假设我们的后台服务使用的是自签名证书,证书格式是PEM格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下: String PEM=\"XXXXX\";//可以从文件读取 ... httpClient.badCertificateCallback=(X509Certificate cert, String host, int port){ if(cert.pem==PEM){ return true; //证书一致,则允许发送数据 } return false; }; X509Certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。 对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badCertificateCallback回调中: SecurityContext sc=new SecurityContext(); //file为证书路径 sc.setTrustedCertificates(file); //创建一个HttpClient HttpClient httpClient = new HttpClient(context: sc); 注意,通过setTrustedCertificates()设置的证书格式必须为PEM或PKCS12,如果证书格式为PKCS12,则需将证书密码传入,这样则会在代码中暴露证书密码,所以客户端证书校验不建议使用PKCS12格式的证书。 总结 值得注意的是,HttpClient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,Http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。 "},"chapter10/dio.html":{"url":"chapter10/dio.html","title":"Http请求-Dio package","keywords":"","body":"网络操作 Dio http库 通过上一节介绍,我们可以发现直接使用HttpClient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、Cookie管理等就会非常繁琐。幸运的是,Dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。 dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等。 引入 引入dio: dependencies: dio: ^x.x.x #请使用pub上的最新版本 导入并创建dio实例: import 'package:dio/dio.dart'; Dio dio = new Dio(); 接下来就可以通过 dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,APP只有一个http数据源时,dio应该使用单例模式。 示例 发起 GET 请求 : Response response; response=await dio.get(\"/test?id=12&name=wendu\") print(response.data.toString()); 对于GET请求我们可以将query参数通过对象来传递,上面的代码等同于: response=await dio.get(\"/test\",data:{\"id\":12,\"name\":\"wendu\"}) print(response.data.toString()); 发起一个 POST 请求: response=await dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"}) 发起多个并发请求: response= await Future.wait([dio.post(\"/info\"),dio.get(\"/token\")]); 下载文件: response=await dio.download(\"https://www.google.com/\",_savePath); 发送 FormData: FormData formData = new FormData.from({ \"name\": \"wendux\", \"age\": 25, }); response = await dio.post(\"/info\", data: formData) 如果发送的数据是FormData,则dio会将请求header的contentType设为“multipart/form-data”。 通过FormData上传多个文件: FormData formData = new FormData.from({ \"name\": \"wendux\", \"age\": 25, \"file1\": new UploadFileInfo(new File(\"./upload.txt\"), \"upload1.txt\"), \"file2\": new UploadFileInfo(new File(\"./upload.txt\"), \"upload2.txt\"), // 支持文件数组上传 \"files\": [ new UploadFileInfo(new File(\"./example/upload.txt\"), \"upload.txt\"), new UploadFileInfo(new File(\"./example/upload.txt\"), \"upload.txt\") ] }); response = await dio.post(\"/info\", data: formData) 值得一提的是,dio内部仍然使用HttpClient发起的请求,所以代理、请求认证、证书校验等和HttpClient是相同的,我们可以在onHttpClientCreate回调中设置,例如: dio.onHttpClientCreate = (HttpClient client) { //设置代理 client.findProxy = (uri) { return \"PROXY 192.168.1.2:8888\"; }; //校验证书 httpClient.badCertificateCallback=(X509Certificate cert, String host, int port){ if(cert.pem==PEM){ return true; //证书一致,则允许发送数据 } return false; }; }; 注意,onHttpClientCreate会在当前dio实例内部需要创建HttpClient时调用,所以通过此回调配置HttpClient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。 怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio 。 "},"chapter10/websocket.html":{"url":"chapter10/websocket.html","title":"WebSocket","keywords":"","body":"使用WebSockets Http协议是无状态的,只能由客户端主动发起,服务端再被动响应,服务端无法向客户端主动推送内容,并且一旦服务器响应结束,链接就会断开(见注解部分),所以无法进行实时通信。WebSocket协议正是为解决客户端与服务端实时通信而产生的技术,现在已经被主流浏览器支持,所以对于Web开发者来说应该比较熟悉了,Flutter也提供了专门的包来支持WebSocket协议。 注意:Http协议中虽然可以通过keep-alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep-alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。 WebSocket协议本质上是一个基于tcp的协议,它是先通过HTTP协议发起一条特殊的http请求进行握手后,如果服务端支持WebSocket协议,则会进行协议升级。WebSocket会使用http协议握手后创建的tcp链接,和http协议不同的是,WebSocket的tcp链接是个长链接(不会断开),所以服务端与客户端就可以通过此TCP连接进行实时通信。有关WebSocket协议细节,读者可以看RFC文档,下面我们重点看看Flutter中如何使用WebSocket。 在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息! 步骤 连接到WebSocket服务器。 监听来自服务器的消息。 将数据发送到服务器。 关闭WebSocket连接。 1. 连接到WebSocket服务器 web_socket_channel package 提供了我们需要连接到WebSocket服务器的工具. 该package提供了一个WebSocketChannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。 在Flutter中,我们可以创建一个WebSocketChannel连接到一台服务器: final channel = new IOWebSocketChannel.connect('ws://echo.websocket.org'); 2. 监听来自服务器的消息 现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。 我们如何收取消息并显示它们?在这个例子中,我们将使用一个StreamBuilder Widget来监听新消息, 并用一个Text Widget来显示它们。 new StreamBuilder( stream: widget.channel.stream, builder: (context, snapshot) { return new Text(snapshot.hasData ? '${snapshot.data}' : ''); }, ); 工作原理 WebSocketChannel提供了一个来自服务器的消息Stream 。 该Stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与Future返回单个异步响应不同,Stream类可以随着时间推移传递很多事件。 该StreamBuilder Widget将连接到一个Stream, 并在每次收到消息时通知Flutter重新构建界面。 3. 将数据发送到服务器 为了将数据发送到服务器,我们会add消息给WebSocketChannel提供的sink。 channel.sink.add('Hello!'); 工作原理 WebSocketChannel提供了一个StreamSink,它将消息发给服务器。 StreamSink类提供了给数据源同步或异步添加事件的一般方法。 4. 关闭WebSocket连接 在我们使用WebSocket后,要关闭连接: channel.sink.close(); 完整的例子 import 'package:flutter/material.dart'; import 'package:web_socket_channel/io.dart'; class WebSocketRoute extends StatefulWidget { @override _WebSocketRouteState createState() => new _WebSocketRouteState(); } class _WebSocketRouteState extends State { TextEditingController _controller = new TextEditingController(); IOWebSocketChannel channel; String _text = \"\"; @override void initState() { //创建websocket连接 channel = new IOWebSocketChannel.connect('ws://echo.websocket.org'); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text(\"WebSocket(内容回显)\"), ), body: new Padding( padding: const EdgeInsets.all(20.0), child: new Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ new Form( child: new TextFormField( controller: _controller, decoration: new InputDecoration(labelText: 'Send a message'), ), ), new StreamBuilder( stream: channel.stream, builder: (context, snapshot) { //网络不通会走到这 if (snapshot.hasError) { _text = \"网络不通...\"; } else if (snapshot.hasData) { _text = \"echo: \"+snapshot.data; } return new Padding( padding: const EdgeInsets.symmetric(vertical: 24.0), child: new Text(_text), ); }, ) ], ), ), floatingActionButton: new FloatingActionButton( onPressed: _sendMessage, tooltip: 'Send message', child: new Icon(Icons.send), ), ); } void _sendMessage() { if (_controller.text.isNotEmpty) { channel.sink.add(_controller.text); } } @override void dispose() { channel.sink.close(); super.dispose(); } } 上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过WebSocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现StreamBuilder和Stream都没有指定接收类型的参数,并且在创建WebSocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用StreamBuilder,因为WebSocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过Opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,StreamBuilder的snapshot.data的类型就是List,是文本时,则为String。 "},"chapter10/socket.html":{"url":"chapter10/socket.html","title":"使用Socket API","keywords":"","body":"Socket 我们之前介绍的Http协议和WebSocket协议都属于应用层协议,除了它们,应用层协议还有很多如:SMTP、FTP等,它们都是通过Socket实现的。其实,操作系统中提供的原生网络请求API是标准的,在C语言的Socket库中,它主要提供了端到端建立链接和发送数据的基础API,而高级编程语言中的Socket库其实都是对操作系统的socket API的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的HttpClient不好用想重新实现一个,这时我们就需要使用Socket。Flutter的Socket API在dart io包中,下面我们看一个使用Socket实现简单http请求的示例,以请求百度首页为例: _request() async{ //建立连接 var socket=await Socket.connect(\"baidu.com\", 80); //根据http协议,发送请求头 socket.writeln(\"GET / HTTP/1.1\"); socket.writeln(\"Host:baidu.com\"); socket.writeln(\"Connection:close\"); socket.writeln(); await socket.flush(); //发送 //读取返回内容 _response =await socket.transform(utf8.decoder).join(); await socket.close(); } 可以看到,使用Socket需要我们自己实现Http协议细节,本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后如下: 可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user-agent)来看看输出的变化。 "},"chapter10/json_model.html":{"url":"chapter10/json_model.html","title":"Json转Model","keywords":"","body":"Json Model 在实战中,后台接口往往会返回一些结构化数据,如JSON、XML等,如之前我们请求Github API的示例,它返回的数据就是JSON格式的字符串,为了方便我们在代码中操作JSON,我们先将JSON格式的字符串转为Dart对象,这个可以通过dart:convert中内置的JSON解码器json.decode() 来实现,该方法可以根据JSON字符串具体内容将其转为List或Map,这样我们就可以通过他们来查找所需的值,如: //一个JSON格式的用户列表字符串 String jsonStr='[{\"name\":\"Jack\"},{\"name\":\"Rose\"}]'; //将JSON字符串转为Dart对象(此处是List) List items=json.decode(jsonStr); //输出第一个用户的姓名 print(items[0][\"name\"]); 通过json.decode() 将JSON字符串转为List/Map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下JSON: { \"name\": \"John Smith\", \"email\": \"john@example.com\" } 我们可以通过调用json.decode方法来解码JSON ,使用JSON字符串作为参数: Map user = json.decode(json); print('Howdy, ${user['name']}!'); print('We sent the verification link to ${user['email']}.'); 由于json.decode()仅返回一个Map,这意味着直到运行时我们才知道值的类型。 通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个JSON在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。 其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“Json Model化”,具体做法就是,通过预定义一些与Json结构对应的Model类,然后在请求到数据后再动态根据数据创建出Model类的实例。这样一来,在开发阶段我们使用的是Model类的实例,而不再是Map/List,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(Model class)来解决前面提到的问题,我们称之为User。在User类内部,我们有: 一个User.fromJson 构造函数, 用于从一个map构造出一个 User实例 map structure 一个toJson 方法, 将 User 实例转化为一个map. 这样,调用代码现在可以具有类型安全、自动补全字段(name和email)以及编译时异常。如果我们将拼写错误字段视为int类型而不是String, 那么我们的代码就不会通过编译,而不是在运行时崩溃。 user.dart class User { final String name; final String email; User(this.name, this.email); User.fromJson(Map json) : name = json['name'], email = json['email']; Map toJson() => { 'name': name, 'email': email, }; } 现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user. Map userMap = json.decode(json); var user = new User.fromJson(userMap); print('Howdy, ${user.name}!'); print('We sent the verification link to ${user.email}.'); 要序列化一个user,我们只是将该User对象传递给该json.encode方法。我们不需要手动调用toJson这个方法,因为`JSON.encode内部会自动调用。 String json = json.encode(user); 这样,调用代码就不用担心JSON序列化了,但是,Model类还是必须的。在实践中,User.fromJson和User.toJson方法都需要单元测试到位,以验证正确的行为。 另外,实际场景中,JSON对象很少会这么简单,嵌套的JSON对象并不罕见,如果有什么能为我们自动处理JSON序列化,那将会非常好。幸运的是,有! 自动生成Model 尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializable package包。 它是一个自动化的源代码生成器,可以在开发阶段为我们生成JSON序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生JSON序列化异常的风险降至最低。 在项目中设置json_serializable 要包含json_serializable到我们的项目中,我们需要一个常规和两个开发依赖项。简而言之,开发依赖项是不包含在我们的应用程序源代码中的依赖项,它是开发过程中的一些辅助工具、脚本,和node中的开发依赖项相似。 pubspec.yaml dependencies: # Your other regular dependencies here json_annotation: ^2.0.0 dev_dependencies: # Your other dev_dependencies here build_runner: ^1.0.0 json_serializable: ^2.0.0 在您的项目根文件夹中运行 flutter packages get (或者在编辑器中点击 “Packages Get”) 以在项目中使用这些新的依赖项. 以json_serializable的方式创建model类 让我们看看如何将我们的User类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化JSON model。 user.dart import 'package:json_annotation/json_annotation.dart'; // user.g.dart 将在我们运行生成命令后自动生成 part 'user.g.dart'; ///这个标注是告诉生成器,这个类是需要生成Model类的 @JsonSerializable() class User{ User(this.name, this.email); String name; String email; //不同的类使用不同的mixin即可 factory User.fromJson(Map json) => _$UserFromJson(json); Map toJson() => _$UserToJson(this); } 有了上面的设置,源码生成器将生成用于序列化name和email字段的JSON代码。 如果需要,自定义命名策略也很容易。例如,如果我们正在使用的API返回带有snake_case的对象,但我们想在我们的模型中使用lowerCamelCase, 那么我们可以使用@JsonKey标注: //显式关联JSON字段名与Model属性的对应关系 @JsonKey(name: 'registration_date_millis') final int registrationDateMillis; 运行代码生成程序 json_serializable第一次创建类时,您会看到与下图类似的错误。 这些错误是完全正常的,这是因为Model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法: 一次性生成 通过在我们的项目根目录下运行: flutter packages pub run build_runner build 这触发了一次性构建,我们可以在需要时为我们的Model生成json序列化代码,它通过我们的源文件,找出需要生成Model类的源文件(包含@JsonSerializable标注的)来生成对应的.g.dart文件。一个好的建议是将所有Model类放在一个单独的目录下,然后在该目录下执行命令。 虽然这非常方便,但如果我们不需要每次在Model类中进行更改时都要手动运行构建命令的话会更好。 持续生成 使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutter packages pub run build_runner watch在项目根目录下运行来启动watcher。只需启动一次观察器,然后它就会在后台运行,这是安全的。 自动化生成模板 上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据JSON文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将JSON转为Model类,下面我们看看怎么做: 定义一个\"模板的模板\",名为\"template.dart\": import 'package:json_annotation/json_annotation.dart'; %t part '%s.g.dart'; @JsonSerializable() class %s { %s(); %s factory %s.fromJson(Map json) => _$%sFromJson(json); Map toJson() => _$%sToJson(this); } 模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。 写一个自动生成模板的脚本(mo.dart),它可以根据指定的JSON目录,遍历生成模板,在生成时我们定义一些规则: 如果JSON文件名以下划线“_”开始,则忽略此JSON文件。 复杂的JSON对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。 脚本我们通过Dart来写,源码如下: import 'dart:convert'; import 'dart:io'; import 'package:path/path.dart' as path; const TAG=\"\\$\"; const SRC=\"./json\"; //JSON 目录 const DIST=\"lib/models/\"; //输出model目录 void walk() { //遍历JSON目录生成模板 var src = new Directory(SRC); var list = src.listSync(); var template=new File(\"./template.dart\").readAsStringSync(); File file; list.forEach((f) { if (FileSystemEntity.isFileSync(f.path)) { file = new File(f.path); var paths=path.basename(f.path).split(\".\"); String name=paths.first; if(paths.last.toLowerCase()!=\"json\"||name.startsWith(\"_\")) return ; if(name.startsWith(\"_\")) return; //下面生成模板 var map = json.decode(file.readAsStringSync()); //为了避免重复导入相同的包,我们用Set来保存生成的import语句。 var set= new Set(); StringBuffer attrs= new StringBuffer(); (map as Map).forEach((key, v) { if(key.startsWith(\"_\")) return ; attrs.write(getType(v,set,name)); attrs.write(\" \"); attrs.write(key); attrs.writeln(\";\"); attrs.write(\" \"); }); String className=name[0].toUpperCase()+name.substring(1); var dist=format(template,[name,className,className,attrs.toString(), className,className,className]); var _import=set.join(\";\\r\\n\"); _import+=_import.isEmpty?\"\":\";\"; dist=dist.replaceFirst(\"%t\",_import ); //将生成的模板输出 new File(\"$DIST$name.dart\").writeAsStringSync(dist); } }); } String changeFirstChar(String str, [bool upper=true] ){ return (upper?str[0].toUpperCase():str[0].toLowerCase())+str.substring(1); } //将JSON类型转为对应的dart类型 String getType(v,Set set,String current){ current=current.toLowerCase(); if(v is bool){ return \"bool\"; }else if(v is num){ return \"num\"; }else if(v is Map){ return \"Map\"; }else if(v is List){ return \"List\"; }else if(v is String){ //处理特殊标志 if(v.startsWith(\"$TAG[]\")){ var className=changeFirstChar(v.substring(3),false); if(className.toLowerCase()!=current) { set.add('import \"$className.dart\"'); } return \"List\"; }else if(v.startsWith(TAG)){ var fileName=changeFirstChar(v.substring(1),false); if(fileName.toLowerCase()!=current) { set.add('import \"$fileName.dart\"'); } return changeFirstChar(fileName); } return \"String\"; }else{ return \"String\"; } } //替换模板占位符 String format(String fmt, List params) { int matchIndex = 0; String replace(Match m) { if (matchIndex 写一个shell(mo.sh),将生成模板和生成model串起来: dart mo.dart flutter packages pub run build_runner build --delete-conflicting-outputs 至此,我们的脚本写好了,我们在根目录下新建一个json目录,然后把user.json移进去,然后在lib目录下创建一个models目录,用于保存最终生成的Model类。现在我们只需要一句命令即可生成Model类了: ./mo.sh 运行后,一切都将自动执行,现在好多了,不是吗? 嵌套JSON 我们定义一个person.json内容修改为: { \"name\": \"John Smith\", \"email\": \"john@example.com\", \"mother\":{ \"name\": \"Alice\", \"email\":\"alice@example.com\" }, \"friends\":[ { \"name\": \"Jack\", \"email\":\"Jack@example.com\" }, { \"name\": \"Nancy\", \"email\":\"Nancy@example.com\" } ] } 每个Person都有name 、email 、 mother和friends四个字段,由于mother也是一个Person,朋友是多个Person(数组),所以我们期望生成的Model是下面这样: import 'package:json_annotation/json_annotation.dart'; part 'person.g.dart'; @JsonSerializable() class Person { Person(); String name; String email; Person mother; List friends; factory Person.fromJson(Map json) => _$PersonFromJson(json); Map toJson() => _$PersonToJson(this); } 这时,我们只需要简单修改一下JSON,添加一些特殊标志,重新运行mo.sh即可: { \"name\": \"John Smith\", \"email\": \"john@example.com\", \"mother\":\"$person\", \"friends\":\"$[]person\" } 我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的TAG常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给User添加一个Person类型的 boss字段: { \"name\": \"John Smith\", \"email\": \"john@example.com\", \"boss\":\"$person\" } 重新运行mo.sh,生成的user.dart如下: import 'package:json_annotation/json_annotation.dart'; import \"person.dart\"; part 'user.g.dart'; @JsonSerializable() class User { User(); String name; String email; Person boss; factory User.fromJson(Map json) => _$UserFromJson(json); Map toJson() => _$UserToJson(this); } 可以看到,boss字段已自动添加,并自动导入了“person.dart”。 使用IDE插件生成model 目前Android Studio(或IntelliJ)有一个插件,它可以自动将Json转为model,该插件会对嵌套Json也会生成model。这个特性在有些时候可能会引起重定义,如两个Json都内嵌了一个user的对象时,会导致user model在不同的文件中会被定义两次,需要开发者手动去重。 FAQ 很多人可能会问Flutter中有没有像Java开发中的Gson/Jackson一样的Json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰Dart的tree shaking,使用tree shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tree shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以Flutter中禁用了Dart的反射功能,而正因如此也就无法实现动态转化Model的功能。 "},"chapter11/":{"url":"chapter11/","title":"包与插件","keywords":"","body":"包与插件 开发package 插件开发:平台通道简介 插件开发:实现Android端API 插件开发:实现IOS端API "},"chapter11/develop_package.html":{"url":"chapter11/develop_package.html","title":"开发package","keywords":"","body":"Package 使用package可以创建共享的模块化代码。一个最小的package包括: 一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。 一个 lib 文件夹:包括包中公开的(public)代码,最少应有一个.dart文件 Flutter Packages分为两类: Dart包:其中一些可能包含Flutter的特定功能,因此对Flutter框架具有依赖性,这种包仅用于Flutter,例如fluro包。 插件包:一种专用的Dart包,其中包含用Dart代码编写的API,以及针对Android(使用Java或Kotlin)和针对iOS(使用OC或Swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。 注意,虽然Flutter的Dart运行时和Dart VM运行时不是完全相同,但是如果Package中没有涉及这些存在差异的部分,那么这样的包可以同时支持Flutter和Dart VM,如Dart http网络库dio. 开发Dart包 第一步:创建Dart包 您可以通过Android Studio:File>New>New Flutter Project 来创建: 您也可以通过使用--template=package 来执行 flutter create 命令来创建: flutter create --template=package hello 这将在hello/文件夹下创建一个具有以下专用内容的package工程: lib/hello.dart:Package的Dart代码 test/hello_test.dart:Package的单元测试代码。 实现package 对于纯Dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可 。要测试软件包,请在test目录中添加unit tests。下面我们看看如何组织Package包的代码,我们以shelf Package为例,它的目录结构如下: 在lib根目录下的shelf.dart中,导出了多个lib/src目录下的dart文件: export 'src/cascade.dart'; export 'src/handler.dart'; export 'src/handlers/logger.dart'; export 'src/hijack_exception.dart'; export 'src/middleware.dart'; export 'src/pipeline.dart'; export 'src/request.dart'; export 'src/response.dart'; export 'src/server.dart'; export 'src/server_handler.dart'; 而Package中主要的功能的源码都在src目录下。shelf Package也导出了一个迷你库: shelf_io,它主要是处理HttpRequest的。 导入包 当需要使用这个Package时,我们可以通过\"package:\"指令来指定包的入口文件: import 'package:utilities/utilities.dart'; 同一个包中的源码文件之间也可以使用相对路径来导入。 生成文档 可以使用 dartdoc 工具来为Package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成API文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如: /// The event handler responsible for updating the badge in the UI. void updateBadge() { ... } 详细的文档语法请参考dartdoc 。 处理包的相互依赖 如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。 下面的代码使url_launcher插件的API在hello包中是可用的: 在 hello/pubspec.yaml中: dependencies: url_launcher: ^0.4.2 现在可以在hello中import 'package:url_launcher/url_launcher.dart' 然后调用 launch()方法了。 这与在Flutter应用程序或任何其他Dart项目中引用软件包没有什么不同。 但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的API,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。 Android 在 hello/android/build.gradle: android { // lines skipped dependencies { provided rootProject.findProject(\":url_launcher\") } } 您现在可以在hello/android/src源码中import io.flutter.plugins.urllauncher.UrlLauncherPlugin访问UrlLauncherPlugin类。 iOS 在hello/ios/hello.podspec: Pod::Spec.new do |s| # lines skipped s.dependency 'url_launcher' 您现在可以在hello/ios/Classes源码中 #import \"UrlLauncherPlugin.h\" 然后访问 UrlLauncherPlugin类。 解决依赖冲突 假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。 那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。 dependencies: url_launcher: ^0.4.2 # 这样会较好, 任何0.4.x(x >= 2)都可. image_picker: '0.1.1' # 不是很好,只有0.1.1版本. 如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。 即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。 你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本: 强制使用 0.4.3版本的url_launcher,在 hello/pubspec.yaml中: dependencies: some_package: other_package: dependency_overrides: url_launcher: '0.4.3' 如果冲突的依赖不是一个包,而是一个特定于Android的库,比如guava,那么必须将依赖重写声明添加到Gradle构建逻辑中。 强制使用23.0版本的guava库,在hello/android/build.gradle中: configurations.all { resolutionStrategy { force 'com.google.guava:guava:23.0-android' } } Cocoapods目前不提供依赖覆盖功能。 发布Package 一旦实现了一个包,我们可以在Pub上发布它 ,这样其他开发者就可以轻松使用它。 在发布之前,检查pubspec.yaml、README.md以及CHANGELOG.md文件,以确保其内容的完整性和正确性。然后,运行 dry-run 命令以查看是否都准备OK了: flutter packages pub publish --dry-run 验证无误后,我们就可以运行发布命令了: flutter packages pub publish 如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用VPN,这里需要注意的是一些代理只会代理部分APP的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到Pub,因此,在发布Pub包时使用全局代理或全局VPN会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。 "},"chapter11/platform-channel.html":{"url":"chapter11/platform-channel.html","title":"插件开发:平台通道简介","keywords":"","body":"插件开发:平台通道简介 所谓“平台特定”或“特定平台”,平台指的就是指Flutter运行的平台,如Android或IOS,可以认为就是应用的原生部分。所以,平台通道正是Flutter和原生之间通信的桥梁,它也是Flutter插件的底层基础设施。 Flutter使用了一个灵活的系统,允许您调用特定平台的API,无论在Android上的Java或Kotlin代码中,还是iOS上的ObjectiveC或Swift代码中均可用。 Flutter与原生之间的通信依赖灵活的消息传递方式: 应用的Flutter部分通过平台通道(platform channel)将消息发送到其应用程序的所在的宿主(iOS或Android)应用(原生应用)。 宿主监听平台通道,并接收该消息。然后它会调用该平台的API,并将响应发送回客户端,即应用程序的Flutter部分。 平台通道 使用平台通道在Flutter(client)和原生(host)之间传递消息,如下图所示: 当在Flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给Flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。 在客户端,MethodChannel API 可以发送与方法调用相对应的消息。 在宿主平台上,MethodChannel 在Android API 和 FlutterMethodChannel iOS API可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。 注意: 如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用Dart中实现的API。 quick_actions插件就是一个具体的例子。 平台通道数据类型支持 平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于Dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。 Dart Android iOS null null nil (NSNull when nested) bool java.lang.Boolean NSNumber numberWithBool: int java.lang.Integer NSNumber numberWithInt: int, if 32 bits not enough java.lang.Long NSNumber numberWithLong: int, if 64 bits not enough java.math.BigInteger FlutterStandardBigInteger double java.lang.Double NSNumber numberWithDouble: String java.lang.String NSString Uint8List byte[] FlutterStandardTypedData typedDataWithBytes: Int32List int[] FlutterStandardTypedData typedDataWithInt32: Int64List long[] FlutterStandardTypedData typedDataWithInt64: Float64List double[] FlutterStandardTypedData typedDataWithFloat64: List java.util.ArrayList NSArray Map java.util.HashMap NSDictionary 当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。 开发Flutter插件 使用平台通道调用原生代码 下面我们通过一个获取电池电量的插件来介绍一下Flutter插件的开发流程。该插件中我们在Dart中通过getBatteryLevel 调用Android BatteryManager API和iOS device.batteryLevel API。 创建一个新的应用程序项目 首先创建一个新的应用程序: 在终端中运行:flutter create batterylevel 默认情况下,模板支持使用Java编写Android代码,或使用Objective-C编写iOS代码。要使用Kotlin或Swift,请使用-i和/或-a标志: 在终端中运行: flutter create -i swift -a kotlin batterylevel 创建Flutter平台客户端 该应用的State类拥有当前的应用状态。我们需要延长这一点以保持当前的电量 首先,我们构建通道。我们使用MethodChannel调用一个方法来返回电池电量。 通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的; 我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。 import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; ... class _MyHomePageState extends State { static const platform = const MethodChannel('samples.flutter.io/battery'); // Get battery level. } 接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getBatteryLevel。 该调用可能失败(平台不支持平台API,例如在模拟器中运行时),所以我们将invokeMethod调用包装在try-catch语句中。 我们使用返回的结果,在setState中来更新用户界面状态batteryLevel。 // Get battery level. String _batteryLevel = 'Unknown battery level.'; Future _getBatteryLevel() async { String batteryLevel; try { final int result = await platform.invokeMethod('getBatteryLevel'); batteryLevel = 'Battery level at $result % .'; } on PlatformException catch (e) { batteryLevel = \"Failed to get battery level: '${e.message}'.\"; } setState(() { _batteryLevel = batteryLevel; }); } 最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。 @override Widget build(BuildContext context) { return new Material( child: new Center( child: new Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ new RaisedButton( child: new Text('Get Battery Level'), onPressed: _getBatteryLevel, ), new Text(_batteryLevel), ], ), ), ); } 在接下来的两节中,我们会分别介绍Android和iOS端API的实现。 自定义平台通道和编解码器 除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodec、StringCodec和 JSONMessageCodec类,或创建自己的编解码器。 "},"chapter11/android_implement.html":{"url":"chapter11/android_implement.html","title":"插件开发:实现Android端API","keywords":"","body":"插件开发:Android端API实现 本节我们接着上一节\"获取电池电量\"插件的示例,来完成Android端API的实现。以下步骤是使用Java的示例,如果您更喜欢Kotlin,可以直接跳到后面Kotlin部分。 首先在Android Studio中打开您的Flutter应用的Android部分: 启动 Android Studio 选择 File > Open… 定位到您 Flutter app目录, 然后选择里面的 android文件夹,点击 OK 在java目录下打开 MainActivity.java 接下来,在onCreate里创建MethodChannel并设置一个MethodCallHandler。确保使用和Flutter客户端中使用的通道名称相同的名称。 import io.flutter.app.FlutterActivity; import io.flutter.plugin.common.MethodCall; import io.flutter.plugin.common.MethodChannel; import io.flutter.plugin.common.MethodChannel.MethodCallHandler; import io.flutter.plugin.common.MethodChannel.Result; public class MainActivity extends FlutterActivity { private static final String CHANNEL = \"samples.flutter.io/battery\"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler( new MethodCallHandler() { @Override public void onMethodCall(MethodCall call, Result result) { // TODO } }); } } 接下来,我们添加Java代码,使用Android电池API来获取电池电量。此代码和在原生Android应用中编写的代码完全相同。 首先,添加需要导入的依赖。 import android.content.ContextWrapper; import android.content.Intent; import android.content.IntentFilter; import android.os.BatteryManager; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; import android.os.Bundle; 然后,将下面的新方法添加到activity类中的,位于onCreate 方法下方: private int getBatteryLevel() { int batteryLevel = -1; if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE); batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY); } else { Intent intent = new ContextWrapper(getApplicationContext()). registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); batteryLevel = (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); } return batteryLevel; } 最后,我们完成之前添加的onMethodCall方法。我们需要处理平台方法名为getBatteryLevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的Android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的API,我们也会通知返回: @Override public void onMethodCall(MethodCall call, Result result) { if (call.method.equals(\"getBatteryLevel\")) { int batteryLevel = getBatteryLevel(); if (batteryLevel != -1) { result.success(batteryLevel); } else { result.error(\"UNAVAILABLE\", \"Battery level not available.\", null); } } else { result.notImplemented(); } } 现在就可以在Android上运行该应用程序了,如果使用的是Android模拟器,则可以通过工具栏中的\"...\"按钮访问Extended Controls面板中的电池电量。 使用Kotlin添加Android平台特定的实现 使用Kotlin和使用Java的步骤类似,首先在Android Studio中打开您的Flutter应用的Android部分: 启动 Android Studio。 选择 the menu item \"File > Open…\"。 定位到 Flutter app目录, 然后选择里面的 android文件夹,点击 OK。 在kotlin目录中打开MainActivity.kt。 接下来,在onCreate里创建MethodChannel并设置一个MethodCallHandler。确保使用与在Flutter客户端使用的通道名称相同。 import android.os.Bundle import io.flutter.app.FlutterActivity import io.flutter.plugin.common.MethodChannel import io.flutter.plugins.GeneratedPluginRegistrant class MainActivity() : FlutterActivity() { private val CHANNEL = \"samples.flutter.io/battery\" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result -> // TODO } } } 接下来,我们添加Kotlin代码,使用Android电池API来获取电池电量,这和原生开发是一样的。 首先,添加需要导入的依赖。 import android.content.Context import android.content.ContextWrapper import android.content.Intent import android.content.IntentFilter import android.os.BatteryManager import android.os.Build.VERSION import android.os.Build.VERSION_CODES 然后,将下面的新方法添加到activity类中的,位于onCreate 方法下方: private fun getBatteryLevel(): Int { val batteryLevel: Int if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { val batteryManager = getSystemService(Context.BATTERY_SERVICE) as BatteryManager batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY) } else { val intent = ContextWrapper(applicationContext).registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED)) batteryLevel = intent!!.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100 / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1) } return batteryLevel } 最后,我们完成之前添加的onMethodCall方法。我们需要处理平台方法名为getBatteryLevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的Android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的API,我们也会通知返回: ​ MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result -> if (call.method == \"getBatteryLevel\") { val batteryLevel = getBatteryLevel() if (batteryLevel != -1) { result.success(batteryLevel) } else { result.error(\"UNAVAILABLE\", \"Battery level not available.\", null) } } else { result.notImplemented() } } 您现在就可以在Android上运行该应用程序。如果您使用的是Android模拟器,则可以通过工具栏中的\"...\"按钮访问Extended Controls面板中的电池电量。 "},"chapter11/ios_implement.html":{"url":"chapter11/ios_implement.html","title":"插件开发:实现IOS端API","keywords":"","body":"插件开发:iOS端API实现 本节我们接着之前\"获取电池电量\"插件的示例,来完成iOS端API的实现。以下步骤使用Objective-C,如果您更喜欢Swift,可以直接跳到后面Swift部分。 首先打开Xcode中Flutter应用程序的iOS部分: 启动 Xcode 选择 File > Open… 定位到您 Flutter app目录, 然后选择里面的 iOS文件夹,点击 OK 确保Xcode项目的构建没有错误。 选择 Runner > Runner ,打开AppDelegate.m 接下来,在application didFinishLaunchingWithOptions:方法内部创建一个FlutterMethodChannel,并添加一个处理方法。 确保与在Flutter客户端使用的通道名称相同。 #import @implementation AppDelegate - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController; FlutterMethodChannel* batteryChannel = [FlutterMethodChannel methodChannelWithName:@\"samples.flutter.io/battery\" binaryMessenger:controller]; [batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) { // TODO }]; return [super application:application didFinishLaunchingWithOptions:launchOptions]; } 接下来,我们添加Objective-C代码,使用iOS电池API来获取电池电量,这和原生是相同的。 在AppDelegate类中添加以下新的方法: - (int)getBatteryLevel { UIDevice* device = UIDevice.currentDevice; device.batteryMonitoringEnabled = YES; if (device.batteryState == UIDeviceBatteryStateUnknown) { return -1; } else { return (int)(device.batteryLevel * 100); } } 最后,我们完成之前添加的setMethodCallHandler方法。我们需要处理的平台方法名为getBatteryLevel,所以我们在call参数中需要先判断是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的iOS代码,并使用result参数返回成功或错误的响应。如果调用了未定义的API,我们也会通知返回: [batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) { if ([@\"getBatteryLevel\" isEqualToString:call.method]) { int batteryLevel = [self getBatteryLevel]; if (batteryLevel == -1) { result([FlutterError errorWithCode:@\"UNAVAILABLE\" message:@\"电池信息不可用\" details:nil]); } else { result(@(batteryLevel)); } } else { result(FlutterMethodNotImplemented); } }]; 现在可以在iOS上运行该应用程序了,如果使用的是iOS模拟器,请注意,它不支持电池API,因此应用程序将显示“电池信息不可用”。 使用Swift实现iOS API 以下步骤与上面使用Objective-C相似,首先打开Xcode中Flutter应用程序的iOS部分: 启动 Xcode 选择 File > Open… 定位到您 Flutter app目录, 然后选择里面的 ios文件夹,点击 OK 确保Xcode项目的构建没有错误。 选择 Runner > Runner ,然后打开AppDelegate.swift 接下来,覆盖application方法并创建一个FlutterMethodChannel绑定通道名称samples.flutter.io/battery: @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GeneratedPluginRegistrant.register(with: self); let controller : FlutterViewController = window?.rootViewController as! FlutterViewController; let batteryChannel = FlutterMethodChannel.init(name: \"samples.flutter.io/battery\", binaryMessenger: controller); batteryChannel.setMethodCallHandler({ (call: FlutterMethodCall, result: FlutterResult) -> Void in // Handle battery messages. }); return super.application(application, didFinishLaunchingWithOptions: launchOptions); } } 接下来,我们添加Swift代码,使用iOS电池API来获取电池电量,这和原生开发是相同的。 将以下新方法添加到AppDelegate.swift底部: private func receiveBatteryLevel(result: FlutterResult) { let device = UIDevice.current; device.isBatteryMonitoringEnabled = true; if (device.batteryState == UIDeviceBatteryState.unknown) { result(FlutterError.init(code: \"UNAVAILABLE\", message: \"电池信息不可用\", details: nil)); } else { result(Int(device.batteryLevel * 100)); } } 最后,我们完成之前添加的setMethodCallHandler方法。我们需要处理的平台方法名为getBatteryLevel,所以我们在call参数中需要先判断是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的iOS代码,并使用result参数返回成功或错误的响应。如果调用了未定义的API,我们也会通知返回: batteryChannel.setMethodCallHandler({ (call: FlutterMethodCall, result: FlutterResult) -> Void in if (\"getBatteryLevel\" == call.method) { receiveBatteryLevel(result: result); } else { result(FlutterMethodNotImplemented); } }); 现在可以在iOS上运行应用程序,如果使用的是iOS模拟器,请注意,它不支持电池API,因此应用程序将显示“电池信息不可用”。 "},"todo.html":{"url":"todo.html","title":"系统能力调用","keywords":"","body":"提示 本文档尚未完成,您可以: 去Flutter中文网查看相关内容。 您想补充此文档?可以查看《Flutter实战》开源项目\"贡献须知\"。 点击下面的\"赏\"按钮,请作者喝杯咖啡,鼓励继续创作~~ "},"chapter12/":{"url":"chapter12/","title":"国际化","keywords":"","body":"本章目录 让App支持多语言 实现Localizations 使用Intl包 "},"chapter12/multi_languages_support.html":{"url":"chapter12/multi_languages_support.html","title":"让App支持多语言","keywords":"","body":"让App支持多语言 如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。Flutter提供一些widget和类以帮助实现国际化,而Flutter的库本身也是国际化的。 接下来我们以MaterialApp类为入口的应用来说明如何支持国际化。 大多数应用程序都是通过MaterialApp为入口,但根据低级别的WidgetsApp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。MaterialApp实际上也是WidgetsApp的一个包装。 支持国际化 默认情况下,Flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为“flutter_localizations”的包。 截至2018年5月,该包支持24种语言。要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中: dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter 接下来,下载flutter_localizations库,然后指定MaterialApp的localizationsDelegates和supportedLocales: import 'package:flutter_localizations/flutter_localizations.dart'; new MaterialApp( localizationsDelegates: [ // 本地化的代理类 GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: [ const Locale('en', 'US'), // 美国英语 const Locale('zh', 'CN'), // 中文简体 //其它Locales ], // ... ) 基于WidgetsApp的应用程序类似,只是不需要GlobalMaterialLocalizations.delegate。 localizationsDelegates列表中的元素是生成本地化值集合的工厂。GlobalMaterialLocalizations.delegate 为Material 组件库提供的本地化的字符串和其他值,它可以使Material Widget支持多语言。 GlobalWidgetsLocalizations.delegate定义widget默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。 获取当前区域Locale Locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如: const Locale('zh', 'CN') // 中文简体 我们始终可以通过以下方式来获取应用的当前区域Locale: Locale myLocale = Localizations.localeOf(context); Localizations Widget一般位于Widget树中其它业务组件的顶部,它的作用是定义区域Locale以及设置子树依赖的本地化资源。 如果系统的语言环境发生变化,WidgetsApp将创建一个新的Localizations Widget并重建它,这样子树中通过Localizations.localeOf(context) 获取的Locale就会更新。 监听系统语言切换 当我们更改系统语言设置时,APP中的Localizations widget会重新构建,Localizations.localeOf(context)` 获取的Locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,这时我们就需要监听locale改变事件。 我们可以通过localeResolutionCallback或localeListResolutionCallback回调来监听locale改变的事件,我们先看看localeResolutionCallback的回调函数签名: Locale Function(Locale locale, Iterable supportedLocales) 参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定APP的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如: MaterialApp( ... locale: const Locale('en', 'US'), //手动指定locale ... ) 上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。 如果locale为null,则表示Flutter未能获取到设备的Locale信息,所以我们在使用locale之前一定要先判空。 supportedLocales 为当前应用支持的locale列表,是开发者在MaterialApp中通过supportedLocales属性注册的。 返回值是一个Locale,此Locale为Flutter APP最终的Locale。通常在不支持的语言区域时返回一个默认的Locale。 localeListResolutionCallback和localeResolutionCallback唯一的不同就在第一个参数类型,前者接收的是一个Locale列表,而后者接收的是单个Locale。 Locale Function(List locales, Iterable supportedLocales) 在新版的Android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的Locale,如果某一种语言加载成功则会停止。下面是Android中设置语言列表的截图: 在Flutter中,应该优先使用localeListResolutionCallback,当然你不必担心Android系统的差异性,如果在低版本的Android系统中,Flutter会自动处理这种情况,这时Locale列表只会包含一项。 Localization widget Localizations widget用于加载和查找包含本地化值的对象。应用程序通过Localizations.of(context,type)来引用这些对象。 如果设备的Locale区域设置发生更改,则Localizations widget会自动加载新区域的Locale值,然后重新构建使用了它们的widget。 发生这种情况是因为Localizations内部使用了InheritedWidget ,当build函数引用了InheritedWidget时,会创建对InheritedWidget的隐式依赖关系。当InheritedWidget发生更改时,即Localizations widget的Locale设置发生更改时,将重建其依赖的上下文。 本地化值由Localizations的 LocalizationsDelegates 列表加载 。 每个委托必须定义一个异步load() 方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。 在大型应用程序中,不同模块或Package可能会与自己的本地化值捆绑在一起。 这就是为什么要用Localizations 管理对象表的原因。 要检索由LocalizationsDelegate load方法之一产生的对象,可以指定一个BuildContext和对象的类型。例如,Material 组件库的本地化字符串由MaterialLocalizations类定义, 此类的实例由MaterialApp类提供的LocalizationDelegate创建, 它们可以通过Localizations.of被获取到: Localizations.of(context, MaterialLocalizations); 这个特殊的Localizations.of()表达式会经常使用,所以MaterialLocalizations类提供了一个便捷方法: static MaterialLocalizations of(BuildContext context) { return Localizations.of(context, MaterialLocalizations); } // 可以直接调用便捷方法 tooltip: MaterialLocalizations.of(context).backButtonTooltip, 使用打包好的LocalizationsDelegates 为了尽可能小而且简单,flutter软件包中仅提供美国英语值的MaterialLocalizations和WidgetsLocalizations接口的实现。 这些实现类分别称为DefaultMaterialLocalizations和DefaultWidgetsLocalizations。flutter_localizations Package包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现, 国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化Delegate。 上述的GlobalMaterialLocalizations和GlobalWidgetsLocalizations只是Material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的Localizations,我们将在下一节介绍其具体的实现方式。 "},"chapter12/locallization_implement.html":{"url":"chapter12/locallization_implement.html","title":"实现Localizations","keywords":"","body":"实现Localizations 前面讲了Material组件库如何支持国际化,本节我们将介绍一下我们自己的UI中如何支持多语言。根据上节所述,我们需要实现两个类:一个Delegate类一个Localizations类,下面我们通过一个实例说明。 实现Localizations类 我们已经知道Localizations类中主要实现提供了本地化值,如文本: //Locale资源类 class DemoLocalizations { DemoLocalizations(this.isZh); //是否为中文 bool isZh = false; //为了使用方便,我们定义一个静态方法 static DemoLocalizations of(BuildContext context) { return Localizations.of(context, DemoLocalizations); } //Locale相关值,title为应用标题 String get title { return isZh ? \"Flutter应用\" : \"Flutter APP\"; } //... 其它的值 } DemoLocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。DemoLocalizations的实例将会在Delegate类的load方法中创建。 实现Delegate类 Delegate类的职责是在Locale改变时加载新的Locale资源,所以它有一个load方法,Delegate类需要继承自LocalizationsDelegate类,实现相应的接口,示例如下: //Locale代理类 class DemoLocalizationsDelegate extends LocalizationsDelegate { const DemoLocalizationsDelegate(); //是否支持某个Local @override bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode); // Flutter会调用此类加载相应的Locale资源类 @override Future load(Locale locale) { print(\"xxxx$locale\"); return SynchronousFuture( DemoLocalizations(locale.languageCode == \"zh\") ); } @override bool shouldReload(DemoLocalizationsDelegate old) => false; } shouldReload的返回值决定当Localizations Widget重新build时,是否调用load方法重新加载Locale资源。一般情况下,Locale资源只应该在Locale切换时加载一次,不需要每次在Localizations 重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在APP启动后用户再改变系统语言时load方法将不会被调用,所以Locale资源将不会被加载。事实上,每当Locale改变时Flutter都会再调用load方法加载新的Locale,无论shouldReload返回true还是false。 最后一步:添加多语言支持 和上一节中介绍的相同,我们现在需要先注册DemoLocalizationsDelegate类,然后再通过DemoLocalizations.of(context)来动态获取当前Locale文本。 只需要在MaterialApp或WidgetsApp的localizationsDelegates列表中添加我们的Delegate实例即可完成注册: localizationsDelegates: [ // 本地化的代理类 GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, // 注册我们的Delegate DemoLocalizationsDelegate() ], 接下来我们可以在Widget中使用Locale值: return Scaffold( appBar: AppBar( //使用Locale title title: Text(DemoLocalizations.of(context).title), ), ... //省略无关代码 ) 这样,当在美国英语和中文简体之间切换系统语言时,APP的标题将会分别为“Flutter APP”和“Flutter应用”。 总结 本节我们通过一个简单的示例说明了Flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在DemoLocalizations类中获取title时手动的判断当前语言Locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种Locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过Dart intl包来实现这些。 "},"chapter12/intl.html":{"url":"chapter12/intl.html","title":"使用Intl包","keywords":"","body":"使用Intl包 使用Intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用Intl包我们需要添加两个依赖: dependencies: #...省略无关项 intl: ^0.15.7 dev_dependencies: #...省略无关项 intl_translation: ^0.17.2 intl_translation 包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用: 第一步:创建必要目录 首先,在项目根目录下创建一个i10n-arb目录,该目录保存我们接下来通过intl_translation命令生成的arb文件。一个简单的arb文件内容如下: { \"@@last_modified\": \"2018-12-10T15:46:20.897228\", \"@@locale\":\"zh_CH\", \"title\": \"Flutter应用\", \"@title\": { \"description\": \"Title for the Demo application\", \"type\": \"text\", \"placeholders\": {} } } 我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。 接下来,我们在lib目录下创建一个i10n的目录,该目录用于保存从arb文件生成的dart代码文件。 第二步:实现Localizations和Delegate类 和上一节中的步骤类似,我们仍然要实现Localizations和Delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。 下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下: import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'messages_all.dart'; //1 class DemoLocalizations { static Future load(Locale locale) { final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString(); final String localeName = Intl.canonicalizedLocale(name); //2 return initializeMessages(localeName).then((b) { Intl.defaultLocale = localeName; return new DemoLocalizations(); }); } static DemoLocalizations of(BuildContext context) { return Localizations.of(context, DemoLocalizations); } String get title { return Intl.message( 'Flutter APP', name: 'title', desc: 'Title for the Demo application', ); } } //Locale代理类 class DemoLocalizationsDelegate extends LocalizationsDelegate { const DemoLocalizationsDelegate(); //是否支持某个Local @override bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode); // Flutter会调用此类加载相应的Locale资源类 @override Future load(Locale locale) { //3 return DemoLocalizations.load(locale); } // 当Localizations Widget重新build时,是否调用load重新加载Locale资源. @override bool shouldReload(DemoLocalizationsDelegate old) => false; } 注意: 注释1的\"messages_all.dart\"文件是通过intl_translation工具从arb文件生成的代码,所以在第一次运行生成命令之前,此文件不存在。注释2处的initializeMessages()方法和\"messages_all.dart\"文件一样,是同时生成的。 注释3处和上一节示例代码不同,这里我们直接调用DemoLocalizations.load()即可。 第三部:添加需要国际化的属性 现在我们可以在DemoLocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到Intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同: 未读邮件数 提示语 0 There are no emails left 1 There is 1 email left n(n>1) There are n emails left 我们可以通过Intl.plural(...)来实现: remainingEmailsMessage(int howMany) => Intl.plural(howMany, zero: 'There are no emails left', one: 'There is $howMany email left', other: 'There are $howMany emails left', name: \"remainingEmailsMessage\", args: [howMany], desc: \"How many emails remain after archiving.\", examples: const {'howMany': 42, 'userName': 'Fred'}); 可以看到通过Intl.plural方法可以在howMany值不同时输出不同的提示信息。 Intl包还有一些其他的方法,读者可以自行查看其文档,本书不在赘述。 第四步:生成arb文件 现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名: flutter pub pub run intl_translation:extract_to_arb --output-dir=i10n-arb \\ lib/i10n/localization_intl.dart 运行此命令后,会将我们之前通过Intl API标识的属性和字符串提取到“i10n-arb/intl_messages.arb”文件中,我们看看其内容: { \"@@last_modified\": \"2018-12-10T17:37:28.505088\", \"title\": \"Flutter APP\", \"@title\": { \"description\": \"Title for the Demo application\", \"type\": \"text\", \"placeholders\": {} }, \"remainingEmailsMessage\": \"{howMany,plural, =0{There are no emails left}=1{There is {howMany} email left}other{There are {howMany} emails left}}\", \"@remainingEmailsMessage\": { \"description\": \"How many emails remain after archiving.\", \"type\": \"text\", \"placeholders\": { \"howMany\": { \"example\": 42 } } } } 这个是默认的Locale资源文件,如果我们现在要支持中文简体,只需要在该文件同级目录创建一个\"intl_zh_CN.arb\"文件,然后将\"intl_messages.arb\"的内容拷贝到\"intl_zh_CN.arb\"文件,接下来将英文翻译为中文即可,翻译后的\"intl_zh_CN.arb\"文件内容如下: { \"@@last_modified\": \"2018-12-10T15:46:20.897228\", \"@@locale\":\"zh_CH\", \"title\": \"Flutter应用\", \"@title\": { \"description\": \"Title for the Demo application\", \"type\": \"text\", \"placeholders\": {} }, \"remainingEmailsMessage\": \"{howMany,plural, =0{没有未读邮件}=1{有{howMany}封未读邮件}other{有{howMany}封未读邮件}}\", \"@remainingEmailsMessage\": { \"description\": \"How many emails remain after archiving.\", \"type\": \"text\", \"placeholders\": { \"howMany\": { \"example\": 42 } } } } 我们必须要翻译title和remainingEmailsMessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。 有两点需要说明: 如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是Intl的托底策略。 每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。 arb文件是标准的,其格式规范可以自行了解。通常会将arb文件交给翻译人员,当他们完成翻译后,我们再通过下面的步骤根据arb文件生成最终的dart代码。 第五步:生成dart代码 最后一步就是根据arb生成dart文件: flutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i10n --no-use-deferred-loading lib/i10n/localization_intl.dart i10n-arb/intl_*.arb 这句命令在首次运行时会在\"lib/i10n\"目录下生成多个文件,对应多种Locale,这些代码便是最终要使用的dart代码。 总结 至此,我们将使用Intl包对APP进行国际化的流程介绍完了,我们可以发现,其中第一步和第二步只在第一次需要,而我们开发时的主要的工作都是在第三步。由于最后两步在第三步完成后每次也都需要,所以我们可以将最后两步放在一个shell脚本里,当我们完成第三步或完成arb文件翻译后只需要分别执行该脚本即可。我们在根目录下创建一个intl.sh的脚本,内容为: flutter pub pub run intl_translation:extract_to_arb --output-dir=i10n-arb lib/i10n/localization_intl.dart flutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i10n --no-use-deferred-loading lib/i10n/localization_intl.dart i10n-arb/intl_*.arb 然后授予执行权限: chmod +x intl.sh 执行intl.sh ./intl.sh "},"chapter14/":{"url":"chapter14/","title":"Flutter核心原理","keywords":"","body":"本章目录 Flutter UI系统 Element和BuildContext RenderObject和RenderBox Flutter从启动到显示 "},"chapter14/flutter_ui_system.html":{"url":"chapter14/flutter_ui_system.html","title":"Flutter UI系统","keywords":"","body":"Flutter UI系统 在本书的前面章节中,我们多次提到\"UI系统\"这个概念,本书中所指的UI系统特指:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。我们说过各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍Flutter UI系统之前,我们先看看UI系统的基本原理,这样可以帮助读者对操作系统和系统底层UI逻辑有一个清晰的认识。 UI系统原理 硬件绘图基本原理 提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。 一个像素点能发出的所有颜色总数是显示器的一个重要指标,比如我们所说的1600万色的屏幕就是指一个像素点可以显示出1600万种颜色,而显示器颜色是有RGB三基色组成,所以1600万即2的24次方,即每个基本色(R、G、B)深度扩展至8 bit(位),颜色深度越深,所能显示的色彩更加丰富靓丽。 为了更新显示画面,显示器是以固定的频率刷新(从GPU取数据),比如有一部手机屏幕的刷新频率是 60Hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如VSync), 60Hz的屏幕就会一秒内发出 60次这样的信号。而这个信号主要是用于同步CPU、GPU和显示器的。一般地来说,计算机系统中,CPU、GPU和显示器以一种特定的方式协作:CPU将计算好的显示内容提交给 GPU,GPU渲染后放入帧缓冲区,然后视频控制器按照同步信号从帧缓冲区取帧数据传递给显示器显示。 CPU和GPU的任务是各有偏重的,CPU主要用于基本数学和逻辑计算,而GPU主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,GPU的主要作用就是确定最终输送给显示器的各个像素点的色值。 操作系统绘制API的封装 由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的API供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的API是比较复杂和低效的,因为操作系统提供的API往往比较基础,直接调用需要了解API的很多细节。正是因为这个原因,几乎所有用于开发GUI程序的编程语言都会在操作系统之上再封装一层,将操作系统原生API封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发GUI应用程序,而这一层抽象,正是我们所说的“UI”系统,如Android SDK正是封装了Android操作系统API,提供了一个“UI描述文件XML+Java操作DOM”的UI系统,而iOS的UIKit 对View的抽象也是一样的,他们都将操作系统API抽象成一个基础对象(如用于2D图形绘制的Canvas),然后再定义一套规则来描述UI,如UI树结构,UI操作的单线程原则等。 Flutter UI系统 我们可以看到,无论是Android SDK还是iOS的UIKit 的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个UI系统:可以使用同一种编程语言开发,然后针对不同操作系统API抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而Flutter的原理正是如此,它提供了一套Dart API,然后在底层通过OpenGL这种跨平台的绘制库(内部会调用操作系统API)实现了一套代码跨多端。由于Dart API也是调用操作系统API,所以它的性能接近原生。 注意,虽然Dart是先调用了OpenGL,OpenGL才会调用操作系统API,但是这仍然是原生渲染,因为OpenGL只是操作系统API的一个封装库,它并不像WebView渲染那样需要JavaScript运行环境和CSS渲染器,所以不会有性能损失。 至此,我们已经介绍了Flutter UI系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了, 简单概括就是:组合和响应式。我们要开发一个UI界面,需要通过组合其它Widget来实现,Flutter中,一切都是Widget,当UI要发生变化时,我们不去直接修改DOM,而是通过更新状态,让Flutter UI系统来根据新的状态来重新构建UI。 讲到这里,读者可能发现Flutter UI系统和Flutter Framework的概念是差不多的,的确如此,之所以用“UI系统”,是因为其他平台中可能不这么叫,我们只是为了概念统一,便于描述,读者不必纠结于概念本身。 在接下来的小节中,我们先详细介绍一下Element、RenderObject,它们是组成Flutter UI系统的基石。最后我们在分析一下Flutter应用启动和运行的整体过程。 "},"chapter14/element_buildcontext.html":{"url":"chapter14/element_buildcontext.html","title":"Element和BuildContext","keywords":"","body":"Element与BuildContext Element 在“Widget简介”一节,我们介绍了Widget和Element的关系,我们知道最终的UI树其实是由一个个独立的Element节点构成。我们也知道了组件最终的Layout、渲染都是通过RenderObject来完成的,从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element.renderObject属性上,最后再通过RenderObject来完成布局排列和绘制。 Element就是Widget在UI树具体位置的一个实例化对象,大多数Element只有唯一的renderObject,但还有一些Element会有多个子节点,如继承自RenderObjectElement的一些类,比如MultiChildRenderObjectElement。最终所有Element的RenderObject构成一棵树,我们称之为渲染树,即render tree。 Element的生命周期如下: Framework 调用Widget.createElement 创建一个Element实例,记为element Framework 调用 element.mount(parentElement,newSlot) ,mount方法中首先调用elment所对应Widget的createRenderObject方法创建与element相关联的RenderObject对象,然后调用element.attachRenderObject方法将element.renderObject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在Element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。 当element父Widget的配置数据改变时,为了进行Element复用,Framework在决定重新创建Element前会先尝试复用相同位置旧的element:调用Element对应Widget的canUpdate()方法,如果返回true,则复用旧Element,旧的Element会使用新的Widget配置数据更新,反之则会创建一个新的Element,不会复用。Widget.canUpdate()主要是判断newWidget与oldWidget的runtimeType和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来禁止复用。 当有父Widget的配置数据改变时,同时其State.build返回的Widget结构与之前不同,此时就需要重新构建对应的Element树。为了进行Element复用,在Element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应Widget的canUpdate方法,如果返回true,则复用旧Element,旧的Element会使用新Widget配置数据更新,反之则会创建一个新的Element。Widget.canUpdate主要是判断newWidget与oldWidget的runtimeType和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来避免复用。 当有祖先Element决定要移除element 时(如Widget树结构发生了变化,导致element对应的Widget被移除),这时该祖先Element就会调用deactivateChild 方法来移除它,移除后element.renderObject也会被从渲染树中移除,然后Framework会调用element.deactivate 方法,这时element状态变为“inactive”状态。 “inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成”active“状态,Framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。 如果element要重新插入到Element树的其它位置,如element或element的祖先拥有一个GlobalKey(用于全局复用元素),那么Framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderObject重新attach到渲染树。 看完Element的生命周期,可能有些读者会有疑问,开发者会直接操作Element树吗?其实对于开发者来说,大多数情况下只需要关注Widget树就行,Flutter框架已经将对Widget树的操作映射到了Element树上,这可以极大的降低复杂度,提高开发效率。但是了解Element对理解整个Flutter UI框架是至关重要的,Flutter正是通过Element这个纽带将Widget和RenderObject关联起来,了解Element层不仅会帮助读者对Flutter UI框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用Element对象来完成一些操作,比如获取主题Theme数据,具体细节将在下文介绍。 BuildContext 无论是StatelessWidget和StatefulWidget的build方法都会传一个BuildContext对象: Widget build(BuildContext context) {} 我们知道,在很多时候我们都需要使用这个context 做一些事,比如: Theme.of(context) //获取主题 Navigator.push(context, route) //入栈新路由 Localizations.of(context, type) //获取Local context.size //获取上下文大小 context.findRenderObject() //查找当前或最近的一个祖先RenderObject 那么BuildContext到底是什么呢,查看其定义,发现其是一个抽象接口类: abstract class BuildContext { ... } 那StatelessWidget和StatefulWidget的build方法传入的context对象是哪个实现了BuildContext的类。我们顺藤摸瓜,发现调用时发生在StatelessWidget和StatefulWidget对应的StatelessElement和StatefulElement的build方法中,以StatelessElement为例: class StatelessElement extends ComponentElement { ... @override Widget build() => widget.build(this); ... } 发现build传递的是this,很明显了,这个BuildContext很可能就是Element类,查看Element类定义,发现Element类果然实现了BuildContext接口: class Element extends DiagnosticableTree implements BuildContext { ... } 至此真相大白,BuildContext就是Widget对应的Element,所以我们可以通过context在StatelessWidget和StatefulWidget的build方法中直接访问Element对象。我们获取主题数据的代码Theme.of(context)内部正是调用了Element的inheritFromWidgetOfExactType()方法。 思考题:为什么build方法的参数不定义成Element对象,而要定义成BuildContext ? 进阶 我们可以看到Element是Flutter UI框架内部连接Widget和RenderObject的纽带,大多数时候开发者只需要关注Widget层即可,但是Widget层有时候并不能完全屏蔽Element细节,所以Framework在StatelessWidget和StatefulWidget中通过build方法参数将Element对象也传递给了开发者,这样便可以在需要时直接操作Element对象。那么现在笔者提两个问题,请读者先自己思考一下: 如果没有Widget层,单靠Element层是否可以搭建起一个可用的UI框架?如果可以应该是什么样子? Flutter UI框架能不做成响应式吗? 对于问题1,答案当然是肯定的,因为我们之前说过Widget树只是Element树的映射,我们完全可以直接通过Element来搭建一个UI框架。下面举一个例子: 我们通过纯粹的Element来模拟一个StatefulWidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是1-9 9个数,点击一次按钮,则对9个数随机排一次序,代码如下: class HomeView extends ComponentElement{ HomeView(Widget widget) : super(widget); String text = \"123456789\"; @override Widget build() { Color primary=Theme.of(this).primaryColor; //1 return GestureDetector( child: Center( child: FlatButton( child: Text(text, style: TextStyle(color: primary),), onPressed: () { var t = text.split(\"\")..shuffle(); text = t.join(); markNeedsBuild(); //点击后将该Element标记为dirty,Element将会rebuild }, ), ), ); } } 上面build方法不接收参数,这一点和在StatelessWidget和StatefulWidget中build(BuildContext)方法不同。代码中需要用到BuildContext的地方直接用this代替即可,如代码注释1处Theme.of(this)参数直接传this即可,因为当前对象本身就是Element实例。 当text发生改变时,我们调用markNeedsBuild()方法将当前Element标记为dirty即可,标记为dirty的Element会在下一帧中重建。实际上,State.setState()在内部也是调用的markNeedsBuild()方法。 上面代码中build方法返回的仍然是一个Widget,这是由于Flutter框架中已经有了Widget这一层,并且组件库都已经是以Widget的形式提供了,如果在Flutter框架中所有组件都像示例的HomeView一样以Element形式提供,那么就可以用纯Element来构建UI了,HomeView的build方法返回值类型就可以是Element了。 如果我们需要将上面代码在现有Flutter框架中跑起来,那么还是得提供一个”适配器“Widget将HomeView结合到现有框架中,下面CustomHome就相当于”适配器“: class CustomHome extends Widget { @override Element createElement() { return HomeView(this); } } 现在就可以将CustomHome添加到Widget树了,我们在一个新路由页创建它,最终效果如下: 点击按钮则按钮文本会随机排序。 对于问题2,答案当然也是肯定的,Flutter engine提供的dart API是原始且独立的,这个与操作系统提供的API类似,上层UI框架设计成什么样完全取决于设计者,完全可以将UI框架设计成Android风格或iOS风格,但这些事Google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的掌握程度。 总结 本节详细的介绍了Element的生命周期,以及它与Widget、BuildContext的关系,也介绍了Element在Flutter UI系统中的角色和作用,我们将在下一节介绍Flutter UI系统中另一个重要的角色RenderObject。 "},"chapter14/render_object.html":{"url":"chapter14/render_object.html","title":"RenderObject与RenderBox","keywords":"","body":"RenderObject和RenderBox 在上一节我们说过每个Element都对应一个RenderObject,我们可以通过Element.renderObject 来获取。并且我们也说过RenderObject的主要职责是Layout和绘制,所有的RenderObject会组成一棵渲染树Render Tree。本节我们将重点介绍一下RenderObject的作用。 RenderObject就是渲染树中的一个对象,它拥有一个parent和一个parentData 插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentData正是一个预留变量,它正是由parent 来赋值的,parent通常会通过子RenderObject的parentData存储一些和子元素相关的数据,如在Stack布局中,RenderStack就会将子元素的偏移数据存储在子元素的parentData中(具体可以查看Positioned实现)。 RenderObject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。 它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,Flutter提供了一个RenderBox类,它继承自RenderObject,布局坐标系统采用笛卡尔坐标系,这和Android和iOS原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用RenderBox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下RenderBox。 布局过程 Constraints 在 RenderBox 中,有个 size属性用来保存控件的宽和高。RenderBox的layout是通过在组件树中从上往下传递BoxConstraints对象的实现的。BoxConstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。 在布局阶段,父节点会调用子节点的layout()方法,下面我们看看RenderObject中layout()方法的大致实现(删掉了一些无关代码和异常捕获): void layout(Constraints constraints, { bool parentUsesSize = false }) { ... RenderObject relayoutBoundary; if (!parentUsesSize || sizedByParent || constraints.isTight || parent is! RenderObject) { relayoutBoundary = this; } else { final RenderObject parent = this.parent; relayoutBoundary = parent._relayoutBoundary; } ... if (sizedByParent) { performResize(); } performLayout(); ... } 可以看到layout方法需要传入两个参数,第一个为constraints,即 父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是 parentUsesSize,该值用于确定 relayoutBoundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。 relayoutBoundary 上面layout()源码中定义了一个relayoutBoundary变量,什么是 relayoutBoundary?在前面介绍Element时,我们讲过当一个Element标记为 dirty 时便会重新build,这时 RenderObject 便会重新布局,我们是通过调用 markNeedsBuild() 来标记Element为dirty的。在 RenderObject中有一个类似的markNeedsLayout()方法,它会将 RenderObject 的布局状态标记为 dirty,这样在下一个frame中便会重新layout,我们看看RenderObject的markNeedsLayout()的部分源码: void markNeedsLayout() { ... assert(_relayoutBoundary != null); if (_relayoutBoundary != this) { markParentNeedsLayout(); } else { _needsLayout = true; if (owner != null) { ... owner._nodesNeedingLayout.add(this); owner.requestVisualUpdate(); } } } 代码大致逻辑是先判断自身是不是 relayoutBoundary,如果不是就继续向 parent 查找,一直向上查找到是 relayoutBoundary 的 RenderObject为止,然后再将其标记为 dirty 的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的 parent,因此 parent 也需要被重新布局,那么到什么时候是个头呢?答案就是 relayoutBoundary,如果一个 RenderObject 是 relayoutBoundary,就表示它的大小变化不会再影响到 parent 的大小了,于是 parent 也就不用重新布局了。 performResize 和 performLayout RenderBox实际的测量和布局逻辑是在performResize() 和 performLayout()两个方法中,RenderBox子类需要实现这两个方法来定制自身的布局逻辑。根据layout() 源码可以看出只有 sizedByParent 为 true 时,performResize() 才会被调用,而 performLayout() 是每次布局都会被调用的。sizedByParent 意为该节点的大小是否仅通过 parent 传给它的 constraints 就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满 parent 的大小,那么 sizedByParent就应该返回true,此时其大小在 performResize() 中就确定了,在后面的 performLayout() 方法中将不会再被修改了,这种情况下 performLayout() 只负责布局子节点。 在 performLayout() 方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout() > performResize()/performLayout() > child.layout() > ... ,如此递归完成整个UI的布局。 RenderBox子类要定制布局算法不应该重写layout()方法,因为对于任何RenderBox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performResize() 和 performLayout()两个方法来实现,他们会在layout()中被调用。 ParentData 当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,RenderObject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数RenderBox子类来说如果子类只有一个子节点,那么子节点偏移一般都是Offset.zero ,如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过RenderObject的parentData属性来保存的。在RenderBox中,其parentData属性默认是一个BoxParentData对象,该属性只能通过父节点的setupParentData()方法来设置: abstract class RenderBox extends RenderObject { @override void setupParentData(covariant RenderObject child) { if (child.parentData is! BoxParentData) child.parentData = BoxParentData(); } ... } BoxParentData定义如下: /// Parentdata 会被RenderBox和它的子类使用. class BoxParentData extends ParentData { /// offset表示在子节点在父节点坐标系中的绘制偏移 Offset offset = Offset.zero; @override String toString() => 'offset=$offset'; } 一定要注意,RenderObject的parentData 只能通过父元素设置. 当然,ParentData并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的ParentData中,如ContainerBox的ParentData就保存了指向兄弟节点的previousSibling和nextSibling,Element.visitChildren()方法也正是通过它们来实现对子节点的遍历。再比如KeepAlive Widget,它使用KeepAliveParentDataMixin(继承自ParentData) 来保存子节的keepAlive状态。 绘制过程 RenderObject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下: void paint(PaintingContext context, Offset offset) { } 通过context.canvas可以取到Canvas对象,接下来就可以调用Canvas API来实现具体的绘制逻辑。 如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以RenderFlex对象为例说明: @override void paint(PaintingContext context, Offset offset) { // 如果子元素未超出当前边界,则绘制子元素 if (_overflow 代码很简单,首先判断有无溢出,如果没有则调用defaultPaint(context, offset)来完成绘制,该方法源码如下: void defaultPaint(PaintingContext context, Offset offset) { ChildType child = firstChild; while (child != null) { final ParentDataType childParentData = child.parentData; //绘制子节点, context.paintChild(child, childParentData.offset + offset); child = childParentData.nextSibling; } } 很明显,由于Flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintChild()来绘制子节点,同时将子节点ParentData中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintChild()。而如果子节点还有子节点时,paintChild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为: paint() > paintChild() > paint() ... 。 当需要绘制的内容大小溢出当前空间时,将会执行paintOverflowIndicator() 来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如: RepaintBoundary 我们已经在CustomPaint一节中介绍过RepaintBoundary,现在我们深入的了解一些。与 RelayoutBoundary 相似,RepaintBoundary是用于在确定重绘边界的,与 RelayoutBoundary 不同的是,这个绘制边界需要由开发者通过RepaintBoundary Widget自己指定,如: CustomPaint( size: Size(300, 300), //指定画布大小 painter: MyPainter(), child: RepaintBoundary( child: Container(...), ), ), 下面我们看看RepaintBoundary的原理,RenderObject有一个isRepaintBoundary属性,该属性决定这个RenderObject重绘时是否独立于其父元素,如果该属性值为true ,则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢? 答案就在paintChild()源码中: void paintChild(RenderObject child, Offset offset) { ... if (child.isRepaintBoundary) { stopRecordingIfNeeded(); _compositeChild(child, offset); } else { child._paintWithContext(this, offset); } ... } 我们可以看到,在绘制子节点时,如果child.isRepaintBoundary 为 true则会调用_compositeChild()方法,_compositeChild()源码如下: void _compositeChild(RenderObject child, Offset offset) { // 给子节点创建一个layer ,然后再上面绘制子节点 if (child._needsPaint) { repaintCompositedChild(child, debugAlsoPaintedParent: true); } else { ... } assert(child._layer != null); child._layer.offset = offset; appendLayer(child._layer); } 很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isRepaintBoundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,RenderObject也提供了一个markNeedsPaint()方法,其源码如下: void markNeedsPaint() { ... //如果RenderObject.isRepaintBoundary 为true,则该RenderObject拥有layer,直接绘制 if (isRepaintBoundary) { ... if (owner != null) { //找到最近的layer,绘制 owner._nodesNeedingPaint.add(this); owner.requestVisualUpdate(); } } else if (parent is RenderObject) { // 没有自己的layer, 会和一个祖先节点共用一个layer assert(_layer == null); final RenderObject parent = this.parent; // 向父级递归查找 parent.markNeedsPaint(); assert(parent == this.parent); } else { // 如果直到根节点也没找到一个Layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。 if (owner != null) owner.requestVisualUpdate(); } } 可以看出,当调用 markNeedsPaint() 方法时,会从当前 RenderObject 开始一直向父节点查找,直到找到 一个isRepaintBoundary 为 true的RenderObject 时,才会触发重绘,这样便可以实现局部重绘。当 有RenderObject 绘制的很频繁或很复杂时,可以通过RepaintBoundary Widget来指定isRepaintBoundary 为 true,这样在绘制时仅会重绘自身而无需重绘它的 parent,如此便可提高性能。 还有一个问题,通过RepaintBoundary Widget如何设置isRepaintBoundary属性呢?其实如果使用了RepaintBoundary Widget,其对应的RenderRepaintBoundary会自动将isRepaintBoundary设为true的: class RenderRepaintBoundary extends RenderProxyBox { /// Creates a repaint boundary around [child]. RenderRepaintBoundary({ RenderBox child }) : super(child); @override bool get isRepaintBoundary => true; } 命中测试 我们在”事件处理与通知“一章中已经讲过Flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。 一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(RenderView)开始进行命中测试,下面是RenderView的hitTest()源码: bool hitTest(HitTestResult result, { Offset position }) { if (child != null) child.hitTest(result, position: position); //递归子RenderBox进行命中测试 result.add(HitTestEntry(this)); //将测试结果添加到result中 return true; } 我们再看看RenderBox默认的hitTest()实现: bool hitTest(HitTestResult result, { @required Offset position }) { ... if (_size.contains(position)) { if (hitTestChildren(result, position: position) || hitTestSelf(position)) { result.add(BoxHitTestEntry(this, position)); return true; } } return false; } 我们看到默认的实现里调用了hitTestSelf()和hitTestChildren()两个方法,这两个方法默认实现如下: @protected bool hitTestSelf(Offset position) => false; @protected bool hitTestChildren(HitTestResult result, { Offset position }) => false; hitTest 方法用来判断该 RenderObject 是否在被点击的范围内,同时负责将被点击的 RenderBox 添加到 HitTestResult 列表中,参数 position 为事件触发的坐标(如果有的话),返回 true 则表示有 RenderBox 通过了命中测试,需要响应事件,反之则认为当前RenderBox没有命中。在继承RenderBox时,可以直接重写hitTest()方法,也可以重写 hitTestSelf() 或 hitTestChildren(), 唯一不同的是 hitTest()中需要将通过命中测试的节点信息添加到命中测试结果列表中,而 hitTestSelf() 和 hitTestChildren()则只需要简单的返回true或false。 语义化 语义化即Semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解UI内容。如果一个RenderObject要支持语义化接口,可以实现 describeApproximatePaintClip和 visitChildrenForSemantics方法和semanticsAnnotator getter。更多关于语义化的信息可以查看API文档。 总结 本节我们介绍了RenderObject主要的功能和方法,理解这些内容可以帮助我们更好的理解Flutter UI底层原理。我们也可以看到,如果要从头到尾实现一个RenderObject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在Widget层通过组合或者CustomPaint完成自定义UI。如果遇到只能定义一个新RenderObject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自RenderBox,这样可以帮我们减少一部分工作。 "},"chapter14/flutter_app_startup.html":{"url":"chapter14/flutter_app_startup.html","title":"Flutter从启动到显示","keywords":"","body":"Flutter运行机制-从启动到显示 Flutter的入口在\"lib/main.dart\"的main()函数中,它是Dart应用程序的起点。在Flutter应用中,main()函数如下: void main() { runApp(MyApp()); } 可以看main()函数只调用了一个runApp()方法,我们看看runApp()方法中都做了什么: void runApp(Widget app) { WidgetsFlutterBinding.ensureInitialized() ..attachRootWidget(app) ..scheduleWarmUpFrame(); } 参数app是一个Widget,它是Flutter应用启动后要展示的第一个Widget。而WidgetsFlutterBinding正是绑定Widget 框架和Flutter engine的桥梁,定义如下: class WidgetsFlutterBinding extends BindingBase with GestureBinding, ServicesBinding, SchedulerBinding, PaintingBinding, SemanticsBinding, RendererBinding, WidgetsBinding { static WidgetsBinding ensureInitialized() { if (WidgetsBinding.instance == null) WidgetsFlutterBinding(); return WidgetsBinding.instance; } } 可以看到WidgetsFlutterBinding继承自 BindingBase 并混入了很多Binding,在介绍这些Binding之前我们先介绍一下Window对象。我们看看Window的官方解释: The most basic interface to the host operating system's user interface. 很明显,Window正是Flutter Framework连接宿主操作系统的接口。我们看一下Window类的部分定义: class Window { // 当前设备的DPI,即一个物理相许显示多少逻辑像素,数字越大,显示效果就越精细保真。 // DPI是设备屏幕的固件属性,如Nexus 6的屏幕DPI为3.5 double get devicePixelRatio => _devicePixelRatio; // Flutter UI绘制区域的大小 Size get physicalSize => _physicalSize; // 当前系统默认的语言Locale Locale get locale; // 当前系统字体缩放比例。 double get textScaleFactor => _textScaleFactor; // 当绘制区域大小改变回调 VoidCallback get onMetricsChanged => _onMetricsChanged; // Locale发生变化回调 VoidCallback get onLocaleChanged => _onLocaleChanged; // 系统字体缩放变化回调 VoidCallback get onTextScaleFactorChanged => _onTextScaleFactorChanged; // 绘制前回调,一般会受显示器的垂直同步信号VSync驱动,当屏幕刷新时就会被调用 FrameCallback get onBeginFrame => _onBeginFrame; // 绘制回调 VoidCallback get onDrawFrame => _onDrawFrame; // 点击或指针事件回调 PointerDataPacketCallback get onPointerDataPacket => _onPointerDataPacket; // 调度Frame,该方法执行后,onBeginFrame和onDrawFrame将紧接着会在合适时机被调用, // 此方法会直接调用Flutter engine的Window_scheduleFrame方法 void scheduleFrame() native 'Window_scheduleFrame'; // 更新应用在GPU上的渲染,此方法会直接调用Flutter engine的Window_render方法 void render(Scene scene) native 'Window_render'; // 发送平台消息 void sendPlatformMessage(String name, ByteData data, PlatformMessageResponseCallback callback) ; // 平台通道消息处理回调 PlatformMessageCallback get onPlatformMessage => _onPlatformMessage; ... //其它属性及回调 } 可以看到Window类包含了当前设备和系统的一些信息以及Flutter Engine的一些回调。现在我们再回来看看WidgetsFlutterBinding混入的各种Binding。通过查看这些 Binding的源码,我们可以发现这些Binding中基本都是监听并处理Window对象的一些事件,然后将这些事件按照Framework的模型包装、抽象然后分发。可以看到WidgetsFlutterBinding正是粘连Flutter engine与上层Framework的”胶水“。 GestureBinding:提供了window.onPointerDataPacket 回调,绑定Framework手势子系统,是Framework事件模型与底层事件的绑定入口。 ServicesBinding:提供了window.onPlatformMessage 回调, 用于绑定平台消息通道(message channel),主要处理原生和Flutter通信。 SchedulerBinding:提供了window.onBeginFrame和window.onDrawFrame回调,监听刷新事件,绑定Framework绘制调度子系统。 PaintingBinding:绑定绘制库,主要用于处理图片缓存。 SemanticsBinding:语义化层与Flutter engine的桥梁,主要是辅助功能的底层支持。 RendererBinding: 提供了window.onMetricsChanged 、window.onTextScaleFactorChanged 等回调。它是渲染树与Flutter engine的桥梁。 WidgetsBinding:提供了window.onLocaleChanged、onBuildScheduled 等回调。它Flutter Widget层与engine的桥梁。 WidgetsFlutterBinding.ensureInitialized()负责初始化一个WidgetsBinding的全局单例,紧接着会调用WidgetsBinding的attachRootWidget方法,该方法负责将根Widget添加到RenderView上,代码如下: void attachRootWidget(Widget rootWidget) { _renderViewElement = RenderObjectToWidgetAdapter( container: renderView, debugShortDescription: '[root]', child: rootWidget ).attachToRenderTree(buildOwner, renderViewElement); } 注意,代码中的有renderView和renderViewElement两个变量,renderView是一个RenderObject,它是渲染树的根,而renderViewElement是renderView对应的Element对象,可见该方法主要完成了 根Widget 到根 RenderObject再到更Element的整个关联过程。我们看看attachToRenderTree的源码实现: RenderObjectToWidgetElement attachToRenderTree(BuildOwner owner, [RenderObjectToWidgetElement element]) { if (element == null) { owner.lockState(() { element = createElement(); assert(element != null); element.assignOwner(owner); }); owner.buildScope(element, () { element.mount(null, null); }); } else { element._newWidget = this; element.markNeedsBuild(); } return element; } 该方法负责创建根 Element,即 RenderObjectToWidgetElement,并且将 Element 与 Widget 进行关联,即创建出 WidgetTree 对应的 ElementTree。如果 Element 已经创建过了,则将根 Element 中关联的 Widget 设为新的,由此可以看出 Element 只会创建一次,后面会进行复用。那么BuildOwner是什么呢?其实他就是Widget framework的管理类,它跟踪哪些Widget需要重新构建。 渲染 回到runApp的实现中,当调用完attachRootWidget后,最后一行会调用 WidgetsFlutterBinding 实例的 scheduleWarmUpFrame() 方法,该方法的实现在 SchedulerBinding 中,它被调用后会立即进行一次绘制(而不是等待\"Vsync\" 信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前Flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是scheduleWarmUpFrame() 方法的部分实现(省略了无关代码): void scheduleWarmUpFrame() { ... Timer.run(() { handleBeginFrame(null); }); Timer.run(() { handleDrawFrame(); resetEpoch(); }); // 锁定事件 lockEvents(() async { await endOfFrame; Timeline.finishSync(); }); ... } 可以看到该方法中主要调用了handleBeginFrame() 和 handleDrawFrame() 两个方法,在看这两个方法之前我们首先了解一下 Frame 和c 的概念: Frame: 一次绘制过程,我们称其为一帧。Flutter engine受显示器垂直同步信号\"VSync\"的趋势不断的触发绘制。我们之前说的Flutter可以实现60fps(Frame Per-Second),就是指一秒钟可以触发60次重绘,FPS值越大,界面就越流畅。 FrameCallback:SchedulerBinding 类中有三个FrameCallback回调队列, 在一次绘制过程中,这三个回调队列会放在不同时机被执行: transientCallbacks:用于存放一些临时回调,一般存放动画回调。可以通过SchedulerBinding.instance.scheduleFrameCallback 添加回调。 persistentCallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。SchedulerBinding.instance.addPersitentFrameCallback(),这个回调中处理了布局与绘制工作。 postFrameCallbacks:在Frame结束时只会被调用一次,调用后会被系统移除,可由 SchedulerBinding.instance.addPostFrameCallback() 注册,注意,不要在此类回调中再触发新的Frame,这可以会导致循环刷新。 现在请读者自行查看handleBeginFrame() 和 handleDrawFrame() 两个方法的源码,可以发现前者主要是执行了transientCallbacks队列,而后者执行了 persistentCallbacks 和 postFrameCallbacks 队列。 绘制 渲染和绘制逻辑在RenderBinding 中实现,查看其源发,发现在其initInstances()方法中有如下代码: void initInstances() { ... //省略无关代码 //监听Window对象的事件 ui.window ..onMetricsChanged = handleMetricsChanged ..onTextScaleFactorChanged = handleTextScaleFactorChanged ..onSemanticsEnabledChanged = _handleSemanticsEnabledChanged ..onSemanticsAction = _handleSemanticsAction; //添加PersistentFrameCallback addPersistentFrameCallback(_handlePersistentFrameCallback); } 我们看最后一行,通过addPersistentFrameCallback 向persistentCallbacks队列添加了一个回调 _handlePersistentFrameCallback: void _handlePersistentFrameCallback(Duration timeStamp) { drawFrame(); } 该方法直接调用了RenderBinding的drawFrame()方法: void drawFrame() { assert(renderView != null); pipelineOwner.flushLayout(); //布局 pipelineOwner.flushCompositingBits(); //重绘之前的预处理操作,检查RenderObject是否需要重绘 pipelineOwner.flushPaint(); // 重绘 renderView.compositeFrame(); // 将需要绘制的比特数据发给GPU pipelineOwner.flushSemantics(); // this also sends the semantics to the OS. } 我们看看这些方法分别做了什么: flushLayout() void flushLayout() { ... while (_nodesNeedingLayout.isNotEmpty) { final List dirtyNodes = _nodesNeedingLayout; _nodesNeedingLayout = []; for (RenderObject node in dirtyNodes..sort((RenderObject a, RenderObject b) => a.depth - b.depth)) { if (node._needsLayout && node.owner == this) node._layoutWithoutResize(); } } } } 源码很简单,该方法主要任务是更新了所有被标记为“dirty”的RenderObject的布局信息。主要的动作发生在node._layoutWithoutResize()方法中,该方法中会调用performLayout()进行重新布局。 flushCompositingBits() void flushCompositingBits() { _nodesNeedingCompositingBitsUpdate.sort( (RenderObject a, RenderObject b) => a.depth - b.depth ); for (RenderObject node in _nodesNeedingCompositingBitsUpdate) { if (node._needsCompositingBitsUpdate && node.owner == this) node._updateCompositingBits(); //更新RenderObject.needsCompositing属性值 } _nodesNeedingCompositingBitsUpdate.clear(); } 检查RenderObject是否需要重绘,然后更新RenderObject.needsCompositing属性,如果该属性值被标记为true则需要重绘。 flushPaint() void flushPaint() { ... try { final List dirtyNodes = _nodesNeedingPaint; _nodesNeedingPaint = []; // 反向遍历需要重绘的RenderObject for (RenderObject node in dirtyNodes..sort((RenderObject a, RenderObject b) => b.depth - a.depth)) { if (node._needsPaint && node.owner == this) { if (node._layer.attached) { // 真正的绘制逻辑 PaintingContext.repaintCompositedChild(node); } else { node._skippedPaintingOnLayer(); } } } } } 该方法进行了最终的绘制,可以看出它不是重绘了所有 RenderObject,而是只重绘了需要重绘的 RenderObject。真正的绘制是通过PaintingContext.repaintCompositedChild()来绘制的,该方法最终会调用Flutter engine提供的Canvas API来完成绘制。 compositeFrame() void compositeFrame() { ... try { final ui.SceneBuilder builder = ui.SceneBuilder(); final ui.Scene scene = layer.buildScene(builder); if (automaticSystemUiAdjustment) _updateSystemChrome(); ui.window.render(scene); //调用Flutter engine的渲染API scene.dispose(); } finally { Timeline.finishSync(); } } 这个方法中有一个Scene对象,Scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将Canvas画好的Scene传给window.render()方法,该方法会直接将scene信息发送给Flutter engine,最终又engine将图像画在设备屏幕上。 最后 需要注意的是:由于RenderBinding只是一个mixin,而with它的是WidgetBinding,所以我们需要看看WidgetBinding中是否重写该方法,查看WidgetBinding的drawFrame()方法源码: @override void drawFrame() { ...//省略无关代码 try { if (renderViewElement != null) buildOwner.buildScope(renderViewElement); super.drawFrame(); //调用RenderBinding的drawFrame()方法 buildOwner.finalizeTree(); } } 我们发现在调用RenderBinding.drawFrame()方法前会调用 buildOwner.buildScope() (非首次绘制),该方法会将被标记为“dirty” 的 Element 进行 rebuild() 。 总结 本节介绍了Flutter APP从启动到显示到屏幕上的主流程,读者可以结合前面章节对Widget、Element以及RenderObject的介绍来加强细节理解。 "}} \ No newline at end of file +{"./":{"url":"./","title":"缘起","keywords":"","body":" 缘起 在全球,随着Flutter被越来越多的知名公司应用在自己的商业APP中,Flutter这门新技术也逐渐进入了移动开发者的视野,尤其是当Google在2018年IO大会上发布了第一个Preview版本后,国内刮起来一股学习Flutter的热潮。 为了更好的方便帮助中国开发者了解这门新技术,我们,Flutter中文网,前后发起了Flutter翻译计划、Flutter开源计划,前者主要的任务是翻译Flutter官方文档,后者则主要是开发一些常用的包来丰富Flutter生态,帮助开发者提高开发效率。而时至今日,这两件事取得的效果还都不错! 目前,Flutter中文官网日PV在5W左右,每日独立访问人数8000多。 自今年我们在github建立官方账号以来,前后开源了cookieJar、dio、flukit等多个项目,而dio在开源两周后,就迅速成为Flutter第三方包中Star排名第一的开源库。 之前,有很多次被没用过Flutter但对其保持好奇的开发者问到”Flutter的性能究竟怎样?“,”开发体验真的好吗?“这类问题。当时之所以会有很多这样的问题,主要的原因就是那时Flutter的成功案例太少,虽然国内闲鱼是第一个引入Flutter的商业应用,但初期也只是在很少的页面使用了Flutter,Flutter究竟能否适合用于完整项目缺乏考验。那时,我就想如果能用Flutter开发一个完整的APP发布到应用商店,这样开发者就可以在犹豫的时候可以先实际感受一下Flutter的流畅度,这样有个直观的了解后,就会容易做出判断,为此,我开发了Gitme,它是一个Github客户端,它支持了源码浏览、Issue、Label等Github的大多数功能。到目前为止,通过Gitme登录过Github账号的用户有5000多,日活用户有500。更重要的是,有很多人正是用了Gitme后,才来学flutter的。 虽然做的事情已经够多了,但是仍有一些很有必要去做的事情,由于时间原因,一直被搁置。 随着学习Flutter的人越来越多,一部分开发者通过查看官网的文档就能入门,但也有很多开发者感觉学习时有些吃力,而这主要的原因是没有一个资料去系统的学习Flutter。 我们虽然翻译了官方文档,但是对于海量的SDK文档,基本很难去全部翻译。而那时,电子工业出版社正好找到了我,希望我能写一本Flutter实战类的书籍。 这个想法听起来不错,书最大的好处就是可以系统性的介绍一门新技术,但由于我平时工作太忙,周末时间已经有很多花费在维护中文网和开源项目上了,所以此事不得不推迟,而直到今天,你现在看到的,也仍然不是完整的内容,目录灰色的部分都还没有写,那什么时候能写完? 如果只靠我一个人,也只能等我有空了才能写,但是今年实在是太忙了!当然,还是有一些方法可以加快进度,比如大家一起来写,本书已经开源,有志之士都可以提PR,然后需要做好的就是Review和校稿;当然还有一个不能保证一定有用的办法就是点击下面的”打赏“按钮,然后发一个大红包,这样作者拿了钱,说不定会不好意思慢慢吞吞的写,毕竟是收了钱的,哈哈。 最后再说一下为什么本书要开源。既然是电子工业出版社约的稿,就这么公开,难道将来就不会冲击实体书的销量?这个问题我是仔细考虑过的,很多写过书的人可能都知道,写技术书是不赚钱的,能收获的也就是一点点名气,而我吧却只喜欢钱,既然赚不到钱,那何不直接公开得了…当然还有另外一个原因就是要做实体书的话,最后和编辑校稿会花费很多时间,可是我实在是没时间了,很可能会放弃实体书出版,为了防止本书最后因不能正常出版而不能被大家看到,所以最终决定了开源。 最后,如果您发现本书中的错误,欢迎点击右上角的”编辑按钮“,提PR。如果您想一起参与本书创作,可以参考《Flutter实战》贡献指南。 最后,知识是应该付费的,创作不易,开源不等于免费,如果您是本书读者并手头宽裕,可以点击下面打赏按钮打赏;当然,如果您囊中羞涩,您也可以阅读本书,但我对您有个小小的要求,希望您在阅读的过程中能积极参与到本书的纠错以及未完成内容的创作上来,也算是有所付出。 "},"chapter1/":{"url":"chapter1/","title":"起步","keywords":"","body":"本章目录 移动开发技术简介 Flutter简介 搭建Flutter开发环境 Dart语言简介 "},"chapter1/mobile_development_intro.html":{"url":"chapter1/mobile_development_intro.html","title":"移动开发技术简介","keywords":"","body":"移动开发技术简介 原生开发与跨平台技术 原生开发 原生应用程序是指某一个移动平台(比如iOS或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的SDK API。比如Android原生应用就是指使用Java或Kotlin语言直接调用Android SDK开发的应用程序;而iOS原生应用就是指通过Objective-C或Swift语言直接调用iOS SDK开发的应用程序。原生开发有以下主要优势: 可访问平台全部功能(GPS、摄像头); 速度快、性能高、可以实现复杂动画及绘制,整体用户体验好; 主要缺点: 平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大; 内容固定,动态化弱,大多数情况下,有新功能更新时只能发版; 在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。 但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在: 动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。 业务需求变化快,开发成本变大;由于原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。 总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。 跨平台技术简介 针对原生开发面临问题,人们一直都在努力寻找好的解决方案,而时至今日,已经有很多跨平台框架(注意,本书中所指的“跨平台”若无特殊说明,即特指Android和iOS两个平台),根据其原理,主要分为三类: H5+原生(Cordova、Ionic、微信小程序) JavaScript开发+原生渲染 (React Native、Weex、快应用) 自绘UI+原生(QT for mobile、Flutter) 在接下来的章节中我们逐个来看看这三类框架的原理及优缺点。 Hybrid技术简介 H5+原生混合开发 这类框架主要原理就是将APP的一部分需要动态变动的内容通过H5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(ios)来加载(以后若无特殊说明,我们用WebView来统一指代android和ios中的网页加载控件)。这样一来,H5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在Android和iOS两个平台运行,这也可以减小开发成本,也就是说,h5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发 ,采用混合模式开发的APP我们称之为混合应用或Hybrid APP ,如果一个应用的大多数功能都是H5实现的话,我们称其为Web APP 。 目前混合开发框架的典型代表有:Cordova、Ionic 和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。 混合开发技术点 如之前所述,原生开发可以访问平台所有功能,而混合开发中,h5代码是运行在WebView中,而WebView实质上就是一个浏览器内核,其JavaScript依然运行在一个权限受限的沙箱中,所以对于大多数系统能力都没有访问权限,如无法访问文件系统、不能使用蓝牙等。所以,对于H5不能实现的功能,都需要原生去做。而混合框架一般都会在原生代码中预先实现一些访问系统能力的API, 然后暴露给WebView以供JavaScript调用,这样一来,WebView就成为了JavaScript与原生API之间通信的桥梁,主要负责JavaScript与原生之间传递调用消息,而消息的传递必须遵守一个标准的协议,它规定了消息的格式与含义,我们把依赖于WebView的用于在JavaScript与原生之间通信并实现了某种消息传输协议的工具称之为WebView JavaScript Bridge, 简称 JsBridge,它也是混合开发框架的核心。 示例:JavaScript调用原生API获取手机型号 下面我们以Android为例,实现一个获取手机型号的原生API供JavaScript调用。在这个示例中将展示JavaScript调用原生API的流程,读者可以直观的感受一下调用流程。我们选用笔者在Github上开源的dsBridge作为JsBridge来进行通信。dsBridge是一个支持同步调用的跨平台的JsBridge,此示例中只使用其同步调用功能。 首先在原生中实现获取手机型号的API getPhoneModel class JSAPI{ @JavascriptInterface public Object getPhoneModel(Object msg){ return Build.MODEL; } } 将原生API通过WebView注册到JsBridge中 import wendu.dsbridge.DWebView ... //DWebView继承自WebView,由dsBridge提供 DWebView dwebView= (DWebView) findViewById(R.id.dwebview); //注册原生API到JsBridge dwebView.addJavascriptObject(new JsAPI(), null); 在JavaScript中调用原生API var dsBridge=require(\"dsbridge\") //直接调用原生API `getPhoneModel` var model=dsBridge.call(\"getPhoneModel\"); //打印机型 console.log(model); 上面示例演示了JavaScript调用原生API的过程,同样的,一般来说优秀的JsBridge也支持原生调用JavaScript,dsBridge也是支持的,如果您感兴趣,可以去github dsBridge项目主页查看。 现在,我们回头来看一下,混合应用无非就是在第一步中预先实现一系列API供JavaScript调用,让JavaScript有访问系统的能力,看到这里,我相信你也可以自己实现一个混合开发框架了。 总结 混合应用的优点是动态内容是H5,web技术栈,社区及资源丰富,缺点是性能不好,对于复杂用户界面或动画,webview不堪重任。 React Native和Weex 本篇主要介绍一下 JavaScript开发+原生渲染的跨平台框架原理。 React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和Android两个平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。 由于RN和React原理相通,并且Flutter也是受React启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下React原理。React是一个响应式的Web框架,我们先了解一下两个重要的概念:Dom树与响应式编程。 DOM树与控件树 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口,一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的标准接口。简单来说,DOM就是文档树,与用户界面控件树对应,在前端开发中通常指HTML对应的渲染树,但广义的DOM也可以指Android中的XML布局文件对应的控件树,而术语DOM操作就是指直接来操作渲染树(或控件树), 因此,可以看到其实DOM树和控件树是等价的概念,只不过前者常用语Web开发中,而后者常用于原生开发中。 响应式编程 React中提出一个重要思想:状态改变则UI随之自动改变,而React框架本身就是响应用户状态改变的事件而执行重新构建用户界面的工作,这就是典型的响应式编程范式,下面我们总结一下React中响应式原理: 开发者只需关注状态转移(数据),当状态发生变化,React框架会自动根据新的状态重新构建UI。 React框架在接收到用户状态改变通知后,会根据当前渲染树,结合最新的状态改变,通过Diff算法,计算出树中变化的部分,然后只更新变化的部分(DOM操作),从而避免整棵树重构,提高性能。 值得注意的是,在第二步中,状态变化后React框架并不会立即去计算并渲染DOM树的变化部分,相反,React会在DOM的基础上建立一个抽象层,即虚拟DOM树,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟DOM,最后再批量同步到真实DOM中,而不是每次改变都去操作一下DOM。为什么不能每次改变都直接去操作DOM树?这是因为在浏览器中每一次DOM操作都有可能引起浏览器的重绘或回流: 如果DOM只是外观风格发生变化,如颜色变化,会导致浏览器重绘界面。 如果DOM树的结构发生变化,如尺寸、布局、节点隐藏等导致,浏览器就需要回流(及重新排版布局)。 而浏览器的重绘和回流都是比较昂贵的操作,如果每一次改变都直接对DOM进行操作,这会带来性能问题,而批量操作只会触发一次DOM更新。 思考题:Diff操作和DOM批量更新难道不应该是浏览器的职责吗?第三方框架中去做合不合适? 此处需要有一张插图 React Native 上文已经提到React Native 是React 在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟DOM映射的对象是什么?React中虚拟DOM最终会映射为浏览器DOM树,而RN中虚拟DOM会通过 JavaScriptCore 映射为原生控件树。 JavaScriptCore 是一个JavaScript解释器,它在React Native中主要有两个作用: 为JavaScript提供运行环境。 是JavaScript与原生应用之间通信的桥梁,作用和JsBridge一样,事实上,在iOS中,很多JsBridge的实现都是基于 JavaScriptCore 。 而RN中将虚拟DOM映射为原生控件的过程中分两步: 布局消息传递; 将虚拟DOM布局信息传递给原生; 原生根据布局信息通过对应的原生控件渲染控件树; 至此,React Native 便实现了跨平台。 相对于混合应用,由于React Native是原生控件渲染,所以性能会比混合应用中H5好很多,同时React Native是Web开发技术栈,也只需维护一份代码,同样是跨平台框架。 Weex Weex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和React Native类似,最大的不同是语法层面,Weex支持Vue语法和Rax语法,Rax 的 DSL 语法是基于 React JSX 语法而创造。与 React 不同,在 Rax 中 JSX 是必选的,它不支持通过其它方式创建组件,所以学习 JSX 是使用 Rax 的必要基础。而React Native只支持JSX语法。 快应用 快应用是华为、小米、OPPO、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用JavaScript语言开发,原生控件渲染,与React Native和Weex相比主要有两点不同: 快应用自身不支持Vue或React语法,其采用原生JavaScript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用Vue语法开发(mpvue),从原理上来讲,Vue的语法也可以移植到快应用上。 React Native和Weex的渲染/排版引擎是集成到框架中的,每一个APP都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到ROM中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。 总结 JavaScript开发+原生渲染的方式主要优点如下: 采用Web开发技术栈,社区庞大、上手快、开发成本相对较低。 原生渲染,性能相比H5提高很多。 动态化较好,支持热更新。 不足: 渲染时需要JavaScript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。 JavaScript为脚本语言,执行时需要JIT,执行效率和AOT代码仍有差距。 由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。 QT Moblie与Flutter 在本篇中,我们看看最后一种跨平台技术:自绘UI+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。注意,自绘引擎解决的是UI的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。这种平台技术的优点如下: 性能高;由于自绘引擎是直接调用系统API来绘制UI,所以性能和原生控件接近。 灵活、组件库易维护、UI外观保真度和一致性高;由于UI渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。 不足: 动态性不足;为了保证UI绘制性能,自绘UI系统一般都会采用AOT模式编译其发布包,所以应用发布后,不能像Hybrid和RN那些使用JavaScript(JIT)作为开发语言的框架那样动态下发代码。 也许你已经猜到Flutter就属于这一类跨平台技术,没错,Flutter正是实现一套自绘引擎,并拥有一套自己的UI布局系统。不过,自绘制引擎的思路并不是什么新概念,Flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的QT。 QT简介 Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,QT虽然在PC端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到QT的声音,但一直很弱,无论QT本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四: 第一:QT移动开发社区太小,学习资料不足,生态不好。 第二:官方推广不利,支持不够。 第三:移动端发力较晚,市场已被其它动态化框架占领(Hybrid和RN)。 第四:在移动开发中,C++开发和Web开发栈相比有着先天的劣势,直接结果就是QT开发效率太低。 基于此四点,尽管QT是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。 Flutter简介 “千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了! Flutter是Google发布的一个用于创建跨平台、高性能移动应用的框架。Flutter和QT mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,QT mobile面对的问题Flutter是否也一样,Flutter会不会步入QT mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看Flutter诞生过程: 2017 年 Google I/O 大会上,Google 首次推出了一款新的用于创建跨平台、高性能的移动应用框架——Flutter。 2018年2月,Flutter发布了第一个Beta版本,同年五月, 在2018年Google I/O 大会上,Flutter 更新到了 beta 3 版本。 2018年6月,Flutter发布了首个预览版本,这意味着 Flutter 进入了正式版(1.0)发布前的最后阶段。 观其发展,在2018年5月份,Flutter 进入了 GitHub stars 排行榜前 100 名,已有 27k star。而今天(2018年8月16日),已经有35K的Star。经历了短短一年多的时间,Flutter 生态系统得以快速增长,由此可见,Flutter在开发者中受到了热烈的欢迎,其未来发展值得期待! 现在,我们来和QT mobile做一个对比: 生态;从Github上来看,目前Flutter活跃用户正在高速增长。从Stackoverflow上提问来看,Flutter社区现在已经很庞大。Flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在Stackoverflow或其github issue中找到答案。 技术支持;现在Google正在大力推广Flutter,Flutter的作者中很多人都是来自Chromium团队,并且github上活跃度很高。另一个角度,从今年上半年Flutter频繁的版本发布也可以看出Google对Flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。 开发效率;Flutter的热重载可帮助开发者快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了Flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。 基于以上三点,相信读者和笔者一样,flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗! 本章总结 本章主要介绍了目前移动开发中三种跨平台技术,现在我们从框架角度对比一下: 技术类型 UI渲染方式 性能 开发效率 动态化 框架代表 H5+原生 WebView渲染 一般 高 ✔️ Cordova、Ionic JavaScript+原生渲染 原生控件渲染 好 高 ✔️ RN、Weex 自绘UI+原生 调用系统API渲染 好 Flutter高, QT低 默认不支持 QT、Flutter 上表中开发语言主要指UI的开发语言,动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是Flutter的Release包默认是使用Dart AOT模式编译的,所以不支持动态化,但Dart还有JIT或snapshot运行方式,这些模式都是支持动态化的,后续会介绍。 "},"chapter1/flutter_intro.html":{"url":"chapter1/flutter_intro.html","title":"Flutter简介","keywords":"","body":"初识Flutter Flutter简介 Flutter 是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加 native扩展。同时 Flutter还使用 Native引擎渲染视图,这无疑能为用户提供良好的体验。 跨平台自绘引擎 Flutter与用于构建移动应用程序的其它大多数框架不同,因为Flutter既不使用WebView,也不使用操作系统的原生控件。 相反,Flutter使用自己的高性能渲染引擎来绘制widget。这样不仅可以保证在Android和iOS上UI的一致性,而且也可以避免对原生控件依赖而带来的限制及高昂的维护成本。 Flutter使用Skia作为其2D渲染引擎,Skia是Google的一个2D图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,Skia是跨平台的,并提供了非常友好的API,目前Google Chrome浏览器和Android均采用Skia作为其绘图引擎,值得一提的是,由于Android系统已经内置了Skia,所以Flutter在打包APK(Android应用安装包)时,不需要再将Skia打入APK中,但iOS系统并未内置Skia,所以构建iPA时,也必须将Skia一起打包,这也是为什么Flutter APP的Android安装包比iOS安装包小的主要原因。 高性能 Flutter高性能主要靠两点来保证,首先,Flutter APP采用Dart语言开发。Dart在 JIT(即时编译)模式下,速度与 JavaScript基本持平。但是 Dart支持 AOT,当以 AOT模式运行时,JavaScript便远远追不上了。速度的提升对高帧率下的视图数据计算很有帮助。其次,Flutter使用自己的渲染引擎来绘制UI,布局数据等由Dart语言直接控制,所以在布局过程中不需要像RN那样要在JavaScript和Native之间通信,这在一些滑动和拖动的场景下具有明显优势,因为在滑动和拖动过程往往都会引起布局发生变化,所以JavaScript需要和Native之间不停的同步布局信息,这和在浏览器中要JavaScript频繁操作DOM所带来的问题是相同的,都会带来比较可观的性能开销。 采用Dart语言开发 这是一个很有意思,但也很有争议的问题,在了解Flutter为什么选择了 Dart而不是 JavaScript之前我们先来介绍两个概念:JIT和AOT。 目前,程序主要有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为AOT (Ahead of time)即 “提前编译”;而解释执行的则是一句一句边翻译边运行,通常将这种类型称为JIT(Just-in-time)即“即时编译”。AOT程序的典型代表是用C/C++开发的应用,它们必须在执行前编译成机器码,而JIT的代表则非常多,如JavaScript、python等,事实上,所有脚本语言都支持JIT模式。但需要注意的是JIT和AOT指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以JIT方式运行也可以以AOT方式运行,如Java、Python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码,也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为AOT的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于AOT。在此,读者不必纠结于概念,概念就是为了传达精神而发明的,只要读者能够理解其原理即可,得其神忘其形。 现在我们看看Flutter为什么选择Dart语言?笔者根据官方解释以及自己对Flutter的理解总结了以下几条(由于其它跨平台框架都将JavaScript作为其开发语言,所以主要将Dart和JavaScript做一个对比): 开发效率高 Dart运行时和编译器支持Flutter的两个关键特性的组合: 基于JIT的快速开发周期:Flutter在开发阶段采用,采用JIT模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间; 基于AOT的发布包: Flutter在发布时可以通过AOT生成高效的ARM代码以保证应用性能。而JavaScript则不具有这个能力。 高性能 Flutter旨在提供流畅、高保真的的UI体验。为了实现这一点,Flutter中需要能够在每个动画帧中运行大量的代码。这意味着需要一种既能提供高性能的语言,而不会出现会丢帧的周期性暂停,而Dart支持AOT,在这一点上可以做的比JavaScript更好。 快速内存分配 Flutter框架使用函数式流,这使得它在很大程度上依赖于底层的内存分配器。因此,拥有一个能够有效地处理琐碎任务的内存分配器将显得十分重要,在缺乏此功能的语言中,Flutter将无法有效地工作。当然Chrome V8的JavaScript引擎在内存分配上也已经做的很好,事实上Dart开发团队的很多成员都是来自Chrome团队的,所以在内存分配上Dart并不能作为超越JavaScript的优势,而对于Flutter来说,它需要这样的特性,而Dart也正好满足而已。 类型安全 由于Dart是类型安全的语言,支持静态类型检测,所以可以在编译前发现一些类型的错误,并排除潜在问题,这一点对于前端开发者来说可能会更具有吸引力。与之不同的,JavaScript是一个弱类型语言,也因此前端社区出现了很多给JavaScript代码添加静态类型检测的扩展语言和工具,如:微软的TypeScript以及Facebook的Flow。相比之下,Dart本身就支持静态类型,这是它的一个重要优势。 Dart团队就在你身边 看似不起眼,实则举足轻重。由于有Dart团队的积极投入,Flutter团队可以获得更多、更方便的支持,正如Flutter官网所述“我们正与Dart社区进行密切合作,以改进Dart在Flutter中的使用。例如,当我们最初采用Dart时,该语言并没有提供生成原生二进制文件的工具链(这对于实现可预测的高性能具有很大的帮助),但是现在它实现了,因为Dart团队专门为Flutter构建了它。同样,Dart VM之前已经针对吞吐量进行了优化,但团队现在正在优化VM的延迟时间,这对于Flutter的工作负载更为重要。” 总结 本节主要介绍了一下Flutter的特点,如果你感到有些点还不是很好理解,不用着急,随着日后对Flutter细节的了解,再回过头来看,相信你会有更深的体会。 Flutter框架结构 本节我们先对Flutter的框架做一个整体介绍,旨在让读者心中有一个整体的印象,这对初学者来说非常重要。如果一下子便深入到Flutter中,就会像是一个在沙漠中没有地图的人,即使可以找到一个绿洲,但是他也不会知道下一个绿洲在哪。因此,无论学什么技术,都要现有一张清晰的“地图”,而我们的学习过程就是“按图索骥”,这样我们才不会陷于细节而“目无全牛”。言归正传,我们看一下Flutter官方提供的一张框架图: Flutter Framework 这是一个纯 Dart实现的 SDK,它实现了一套基础库,自底向上,我们来简单介绍一下: 底下两层(Foundation和Animation、Painting、Gestures)在Google的一些视频中被合并为一个dart UI层,对应的是Flutter中的dart:ui包,它是Flutter引擎暴露的底层UI库,提供动画、手势及绘制能力。 Rendering层,这一层是一个抽象的布局层,它依赖于dart UI层,Rendering层会构建一个UI树,当UI树有变化时,会计算出有变化的部分,然后更新UI树,最终将UI树绘制到屏幕上,这个过程类似于React中的虚拟DOM。Rendering层可以说是Flutter UI框架最核心的部分,它除了确定每个UI元素的位置、大小之外还要进行坐标变换、绘制(调用底层dart:ui)。 Widgets层是Flutter提供的的一套基础组件库,在基础组件库之上,Flutter还提供了 Material 和Cupertino两种视觉风格的组件库。而我们Flutter开发的大多数场景,只是和这两层打交道。 Flutter Engine 这是一个纯 C++实现的 SDK,其中包括了 Skia引擎、Dart运行时、文字排版引擎等。在代码调用 dart:ui库时,调用最终会走到Engine层,然后实现真正的绘制逻辑。 总结 Flutter框架本身有着良好的分层设计,本节旨在让读者对Flutter整体框架有个大概的印象,相信到现在为止,读者已经对Flutter有一个初始印象,在我们正式动手之前,我们还需要了解一下Flutter的开发语言Dart。 如何学习Flutter 本节给大家一些学习建议,分享一下笔者在学习Flutter中的一些心得,希望可以帮助你提高学习效率,避免不必要的坑。 资源 官网:阅读Flutter官网的资源是快速入门的最佳方式,同时官网也是了解最新Flutter发展动态的地方,由于目前Flutter仍然处于快速发展阶段,所以建议读者还是时不时的去官网看看有没有新的动态。 源码及注释:源码注释应作为学习Flutter的第一文档,Flutter SDK的源码是开源的,并且注释非常详细,也有很多示例,实际上,Flutter官方的SDK文档就是通过注释生成的。源码结合注释可以帮你解决大多数问题。 Github:如果遇到的问题在StackOverflow上也没有找到答案,可以去github flutter 项目下提issue。 Gallery源码:Gallery是Flutter官方示例APP,里面有丰富的示例,读者可以在网上下载安装。Gallery的源码在Flutter源码“examples”目录下。 社区 StackOverflow:如果你还没听过StackOverflow,这是目前全球最大的程序员问答社区,现在也是活跃度最高的Flutter问答社区。StackOverflow上面除了世界各地的Flutter使用者会在上面交流之外,Flutter开发团队的成员也经常会在上面回答问题。 Flutter中文网社区:Flutter中文网(https://flutterchina.club)是笔者维护中文网站,目前也是最大的中文资源社区,上面提供了Flutter官网的文档翻译、开源项目、及案例,还有申请加入组织的入口哦。 掘金:掘金的Flutter主页目前也收集了不少的博客文章,读者可以自行浏览。 总结 有了资料和社区后,对于我们学习者自身来说,最重要的还是要多动手、多实践,在本书后面的章节中,希望读者能够亲自动手写一下示例。准备好了吗,下一章中,我们将正式进入Flutter的世界! "},"chapter1/install_flutter.html":{"url":"chapter1/install_flutter.html","title":"搭建Flutter开发环境","keywords":"","body":"安装Flutter 工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。 搭建Flutter开发环境 由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Flutter时也需要安装相应平台的构建工具和SDK。下面我们分别介绍一下Windows和macOS下的环境搭建。 使用镜像 由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中: export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn 注意: 此镜像为临时镜像,并不能保证一直可用,读者可以参考https://flutter.io/community/china 以获得有关镜像服务器的最新动态。 在Windows上搭建Flutter开发环境 系统要求 要安装并运行Flutter,您的开发环境必须满足以下最低要求: 操作系统: Windows 7 或更高版本 (64-bit) 磁盘空间: 400 MB (不包括Android Studio的磁盘空间). 工具: Flutter 依赖下面这些命令行工具. PowerShell 5.0 或更新的版本 Git for Windows (Git命令行工具); 如果已安装Git for Windows,请确保可以在命令提示符或PowerShell中运行 git 命令 获取Flutter SDK 去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#windows 注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。 将安装包zip解压到你想安装Flutter SDK的路径(如:C:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如C:\\Program Files\\)。 在Flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在Flutter命令行运行flutter命令了。 更新环境变量 如果你想在Windows系统自带命令行(而不是)运行flutter命令,需要添加以下环境变量到用户PATH: 转到 “控制面板>用户帐户>用户帐户>更改我的环境变量” 在“用户变量”下检查是否有名为“Path”的条目: 如果该条目存在, 追加 flutter\\bin的全路径,使用 ; 作为分隔符. 如果该条目不存在,创建一个新用户变量 Path ,然后将 flutter\\bin 的全路径作为它的值. 重启Windows以应用此更改. 运行 flutter doctor命令 在Flutter命令行运行如下命令来查看是否还需要安装其它依赖,如果需要,安装它们: flutter doctor 该命令检查你的环境并在命令行窗口中显示报告。Dart SDK已经在打包在Flutter SDK里了,没有必要单独安装Dart。 仔细检查命令行输出以获取可能需要安装的其他软件或进一步需要执行的任务。 例如: [-] Android toolchain - develop for Android devices • Android SDK at D:\\Android\\sdk ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ • Try re-installing or updating your Android SDK, visit https://flutter.io/setup/#android-setup for detailed instructions. 第一次运行flutter命令(如flutter doctor)时,它会下载它自己的依赖项并自行编译。以后再运行就会快得多。缺失的依赖需要安装一下,安装完成后再运行flutter doctor命令来验证是否安装成功。 Android设置 Flutter依赖于Android Studio的全量安装。Android Studio不仅可以管理Android 平台依赖、SDK版本等,而且它也是Flutter开发推荐的IDE之一(当然,你也可以使用其它编辑器或IDE,我们将会在后面讨论)。 安装Android Studio 下载并安装 Android Studio,下载地址:https://developer.android.com/studio/index.html 。 启动Android Studio,然后执行“Android Studio安装向导”。这将安装最新的Android SDK、Android SDK平台工具和Android SDK构建工具,这些是用Flutter进行Android开发所需要的。 安装遇到问题? 如果在安装过程中遇到问题,可以先去flutter官网查看一下安装方式是否发生变化,或者在网上搜索一下解决方案。 在macOS上搭建Flutter开发环境 在masOS下可以同时进行Android和iOS设备的测试。 系统要求 要安装并运行Flutter,您的开发环境必须满足以下最低要求: 操作系统: macOS (64-bit) 磁盘空间: 700 MB (不包括Xcode或Android Studio的磁盘空间). 工具: Flutter 依赖下面这些命令行工具. bash、mkdir、rm、git、curl、unzip、which 获取Flutter SDK 去flutter官网下载其最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#macos 注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。 解压安装包到你想安装的目录,如: cd ~/development unzip ~/Downloads/flutter_macos_v0.5.1-beta.zip 添加flutter相关工具到path中: export PATH=`pwd`/flutter/bin:$PATH 此代码只能暂时针对当前命令行窗口设置PATH环境变量,要想永久将Flutter添加到PATH中请参考下面更新环境变量 部分。 运行 flutter doctor命令 这一步和Windows下步骤一致,不再赘述。 更新环境变量 将Flutter添加到PATH中,可以在任何终端会话中运行flutter命令。 对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如 确定您Flutter SDK的目录记为“FLUTTER_INSTALL_PATH”,您将在步骤3中用到。 打开(或创建) $HOME/.bash_profile。文件路径和文件名可能在你的电脑上不同. 添加以下路径: export PATH=[FLUTTER_INSTALL_PATH]/flutter/bin:$PATH 例如笔者Flutter 安装目录是“~/code/flutter_dir”,那么代码为: export PATH=~/code/flutter_dir/flutter/bin:$PATH 运行 source $HOME/.bash_profile 刷新当前终端窗口。 注意: 如果你使用终端是zsh,终端启动时 ~/.bash_profile 将不会被加载,解决办法就是修改 ~/.zshrc ,在其中添加:source ~/.bash_profile 验证“flutter/bin”是否已在PATH中: echo $PATH 安装 Xcode 要为iOS开发Flutter应用程序,您需要Xcode 9.0或更高版本: 安装Xcode 9.0或更新版本(通过链接下载或苹果应用商店). 配置Xcode命令行工具以使用新安装的Xcode版本 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 对于大多数情况,当您想要使用最新版本的Xcode时,这是正确的路径。如果您需要使用不同的版本,请指定相应路径。 确保Xcode许可协议是通过打开一次Xcode或通过命令sudo xcodebuild -license同意过了. 使用Xcode,您可以在iOS设备或模拟器上运行Flutter应用程序。 安装Android Studio 和Window一样,要在Android设备上构建并运行Flutter程序都需要先安装Android Studio,读者可以先自行下载并安装Android Studio,在此不再赘述。 升级 Flutter Flutter SDK分支 Flutter SDK有多个分支,如beta、dev、master,其中beta分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装flutter后,你可以运行flutter channel查看所有分支,如笔者本地运行后,结果如下: Flutter channels: beta dev * master 带\"*\"号的分支即你本地的Flutter SDK 跟踪的分支,要切换分支,可以使用flutter channel beta 或 flutter channel master,Flutter官方建议跟踪稳定分支,但你也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。 升级Flutter SDK和依赖包 要升级flutter sdk,只需一句命令: flutter upgrade 该命令会同时更新Flutter SDK和你的flutter项目依赖包。如果你只想更新项目依赖包(不包括Flutter SDK),可以使用如下命令: flutter packages get获取项目所有的依赖包。 flutter packages upgrade 获取项目所有依赖包的最新版本。 IDE配置与使用 理论上可以使用任何文本编辑器与命令行工具来构建Flutter应用程序。 不过,Flutter官方建议使用Android Studio和VS Code之一以获得更好的开发体验。Flutter官方提供了这两款编辑器插件,通过IDE和插件可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。下面我们分别介绍一下Android Studio和VS Code的配置及使用(Android Studio和VS Code读者可以在其官网获得最新的安装,由于安装比较简单,故不再赘述)。 Android Studio 配置与使用 由于Android Studio是基于IntelliJ IDEA开发的,所以读者也可以使用IntelliJ IDEA。 安装Flutter和Dart插件 需要安装两个插件: Flutter插件: 支持Flutter开发工作流 (运行、调试、热重载等)。 Dart插件: 提供代码分析 (输入代码时进行验证、代码补全等)。 安装步骤: 启动Android Studio。 打开插件首选项 (macOS:Preferences>Plugins, Windows:File>Settings>Plugins)。 选择 Browse repositories…,选择 flutter 插件并点击 install。 重启Android Studio后插件生效。 接下来,让我们用Android Studio创建一个Flutter项目,然后运行它,并体验“热重载”。 创建Flutter应用 选择 File>New Flutter Project 。 选择 Flutter application 作为 project 类型, 然后点击 Next。 输入项目名称 (如 myapp),然后点击 Next。 点击 Finish。 等待Android Studio安装SDK并创建项目。 上述命令创建一个Flutter项目,项目名为myapp,其中包含一个使用Material 组件的简单演示应用程序。 在项目目录中,您应用程序的代码位于 lib/main.dart。 运行应用程序 定位到Android Studio工具栏: 在 target selector 中, 选择一个运行该应用的Android设备。如果没有列出可用,请选择 Tools>Android>AVD Manager 并在那里创建一个。 在工具栏中点击 Run图标。 如果一切正常, 您应该在您的设备或模拟器上会看到启动的应用程序: 体验热重载 Flutter 可以通过 热重载(hot reload) 实现快速的开发周期,热重载就是无需重启应用程序就能实时加载修改后的代码,并且不会丢失状态。简单的对代码进行更改,然后告诉IDE或命令行工具你需要重新加载(点击reload按钮),你就会在你的设备或模拟器上看到更改。 1. 打开`lib/main.dart`文件 2. 将字符串 `'You have pushed the button this many times:'` 更改为 `'You have clicked the button this many times:'` 3. 不要按“停止”按钮; 让您的应用继续运行. 4. 要查更改,请调用 **Save** (`cmd-s` / `ctrl-s`),或者点击 **热重载按钮** (带有闪电⚡️图标的按钮)。 你会立即在运行的应用程序中看到更新的字符串。 VS Code的配置与使用 VS Code是一个轻量级编辑器,支持Flutter运行和调试。 安装flutter插件 启动 VS Code。 调用 View>Command Palette…。 输入 ‘install’, 然后选择 Extensions: Install Extension action。 在搜索框输入 flutter ,在搜索结果列表中选择 ‘Flutter’, 然后点击 Install。 选择 ‘OK’ 重新启动 VS Code。 验证配置 调用 View>Command Palette… 输入 ‘doctor’, 然后选择 ‘Flutter: Run Flutter Doctor’ action。 查看“OUTPUT”窗口中的输出是否有问题 创建Flutter应用 启动 VS Code 调用 View>Command Palette… 输入 ‘flutter’, 然后选择 ‘Flutter: New Project’ action 输入 Project 名称 (如myapp), 然后按回车键 指定放置项目的位置,然后按蓝色的确定按钮 等待项目创建继续,并显示main.dart文件 体验热重载 打开lib/main.dart文件。 将字符串 'You have pushed the button this many times:' 更改为 'You have clicked the button this many times:'。 不要按“停止”按钮; 让您的应用继续运行。 要查看您的更改,请调用 Save (cmd-s / ctrl-s), 或者点击 热重载按钮 (绿色圆形箭头按钮)。 你会立即在运行的应用程序中看到更新的字符串。 连接设备运行Flutter应用 Window下只支持为Android设备构建并运行Flutter应用,而macOS同时支持iOS和Android设备。下面分别介绍如何连接Android和iOS设备来运行flutter应用。 连接Android模拟器 要准备在Android模拟器上运行并测试Flutter应用,请按照以下步骤操作: 启动 Android Studio>Tools>Android>AVD Manager 并选择 Create Virtual Device. 选择一个设备并选择 Next。 为要模拟的Android版本选择一个或多个系统印象,然后选择 Next. 建议使用 x86 或 x86_64 image . 在 “Emulated Performance”下, 选择 Hardware - GLES 2.0 以启用 硬件加速. 验证AVD配置是否正确,然后选择 Finish。 有关上述步骤的详细信息,请参阅 Managing AVDs. 在“Android Virtual Device Manager”中,点击工具栏的 Run。模拟器启动并显示所选操作系统版本或设备的启动画面。 运行 flutter run 启动您的设备。 连接的设备名是 Android SDK built for ,其中 platform 是芯片系列,如 x86。 连接Android真机设备 要准备在Android设备上运行并测试Flutter应用,需要Android 4.1(API level 16)或更高版本的Android设备. 在Android设备上启用 开发人员选项 和 USB调试 。详细说明可在Android文档中找到。 使用USB将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。 在命令行运行 flutter devices 命令以验证Flutter识别您连接的Android设备。 运行启动你应用程序 flutter run。 默认情况下,Flutter使用的Android SDK版本是基于你的 adb 工具版本。 如果想让Flutter使用不同版本的Android SDK,则必须将该 ANDROID_HOME 环境变量设置为相应的SDK安装目录。 连接iOS模拟器 要准备在iOS模拟器上运行并测试Flutter应用,请按以下步骤操作: 在你的MAC上,通过 Spotlight 或以下命令找到模拟器: open -a Simulator 通过检查模拟器 Hardware > Device 菜单中的设置,确保模拟器正在使用64位设备(iPhone 5s或更高版本)。 根据你电脑屏幕大小,模拟高清屏iOS设备可能会溢出屏幕。可以在模拟器的 Window> Scale 菜单下设置设备比例。 运行 flutter run启动flutter应用程序。 连接iOS真机设备 要将Flutter应用安装到iOS真机设备,需要一些额外的工具和一个Apple帐户,还需要在Xcode中进行一些设置。 安装 homebrew (如果已经安装了brew,跳过此步骤)。 打开终端并运行如下这些命令: brew update brew install --HEAD libimobiledevice brew install ideviceinstaller ios-deploy cocoapods pod setup 如果这些命令中的任何一个失败并出现错误,请运行brew doctor并按照说明解决问题. 遵循Xcode签名流程来配置您的项目: 在你Flutter项目目录中通过 open ios/Runner.xcworkspace 打开默认的Xcode workspace. 在Xcode中,选择导航面板左侧中的Runner项目。 在Runner target设置页面中,确保在 General > Signing > Team 下选择了你的开发团队。当你选择一个团队时,Xcode会创建并下载开发证书,向你的设备注册你的帐户,并创建和下载配置文件(如果需要)。 要开始您的第一个iOS开发项目,您可能需要使用您的Apple ID登录Xcode。 任何Apple ID都支持开发和测试,但若想将应用分发到App Store,就必须注册Apple开发者计划,有关详情读者可以自行了解。 当您第一次attach真机设备进行iOS开发时,需要同时信任你的Mac和该设备上的开发证书。首次将iOS设备连接到Mac时,请在对话框中选择 Trust。 然后,转到iOS设备上的设置菜单,选择 常规>设备管理 并信任您的证书。 如果Xcode中的自动签名失败,请验证项目的 General > Identity > Bundle Identifier 值是否唯一. 运行 flutter run启动flutter应用程序。 "},"chapter1/configuration.html":{"url":"chapter1/configuration.html","title":"常见配置问题","keywords":"","body":"常见配置问题 Android Studio问题 缺少依赖库问题 上手安卓最常遇见的问题之一,错误如下图所示,此时点击超链接即可自动跳转到安装页面 安装之后重新运行即可。 连接不上Android Repository 这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入 File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites 列表,可以看到此时的 Android Repository 无法连接。 解决方法如下: 进入 C:\\windows\\system32\\drivers\\etc\\ 打开 hosts 文件 添加 203.208.41.32 dl.google.com 即可解决 安卓包配置问题 一般格式为 Could not HEAD ** Could not Get ** 如:Android Studio Could not GET gradle-3.2.0.pom 这一类问题是由于无法连接到 Maven 库造成的,解决方法如下: 进入当前所在项目名/android 打开 build.gradle 找到下面这一部分,并加上 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } allprojects { repositories { google() jcenter() } } 进入 File/ Settings/ Build, Execution, Deployment/ Gradle/ Android Studio 中,勾选上 Enable embedded Maven repository ,重启 Android Studio 即可解决。 注意:存在这样的一种情况,当你根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于 Could not HEAD maven.aliyun.com 的报错信息,请检查 C:\\Users\\{user_name}\\.gradle\\gradle.properties 是否有设置代理。删除后问题即可解决。 "},"chapter1/dart.html":{"url":"chapter1/dart.html","title":"Dart语言简介","keywords":"","body":"Dart语言简介 在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果你熟悉Dart语法,可以跳过本节,如果你还不了解Dart,不用担心,按照笔者经验,如果你有过其他编程语言经验,尤其是Java和JavaScript的话,所以,如果你是前端或Android开发者,那么将会非常容易上手Dart。当然,如果你是iOS开发者,也不用担心,dart中也有一些与swift比较相似的特性,如命名参数等,笔者当时学习Dart时,只是花了一个小时,看完Dart官网的Language Tour,就开始动手写Flutter了。 在笔者看来,Dart的设计目标应该是既对标Java,也对标JavaScript,Dart在静态语法方面和Java非常相似,如类型定义、函数声明、泛型等,而在动态特性方面又和JavaScript很像,如函数式特性、异步支持等。除了融合Java和JavaScript语言之所长之外,Dart也具有一些其它具有表现力的语法,如可选命名参数、..(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)。其实,对编程语言了解比较多的读者会发现,在Dart中其实看到的不仅有Java和JavaScript的影子,它还具有其它编程语言中的身影,如命名参数在Objective-C和Swift中早就很普遍,而??操作符在Php 7.0语法中就已经存在了,因此我们可以看到Google对Dart语言给予厚望,是想把Dart打造成一门集百家之所长的编程语言。 接下来,我们先对Dart语法做一个简单的介绍,然后再将Dart与JavaScript和Java做一个简要的对比,方便读者更好的理解。 注意:由于本书并非专门介绍Dart语言的书籍,所以本章主要会介绍一下在Flutter开发中常用的语法特性,如果想更多了解Dart,读者可以去Dart官网学习,现在互联网上Dart相关资料已经很多了。另外Dart 2.0已经正式发布,所以本书所有示例均采用Dart 2.0语法。 变量声明 var 类似于JavaScript中的var,它可以接收任何类型的变量,但最大的不同是Dart中var变量一旦赋值,类型便会确定,则不能再改变其类型,如: var t; t=\"hi world\"; // 下面代码在dart中会报错,因为变量t的类型已经确定为String, // 类型一旦确定后则不能再更改其类型。 t=1000; 上面的代码在JavaScript是没有问题的,前端开发者需要注意一下,之所以有此差异是因为Dart本身是一个强类型语言,任何变量都是有确定类型的,在Dart中,当用var声明一个变量后,Dart在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而JavaScript是纯粹的弱类型脚本语言,var只是变量的声明方式而已。 dynamic和Object Dynamic和Object 与 var功能相似,都会在赋值时自动进行类型推断,不同在于,赋值后可以改变其类型,如: dynamic t; t=\"hi world\"; //下面代码没有问题 t=1000; Object 是dart所有对象的根基类,也就是说所有类型都是Object的子类,所以任何类型的数据都可以赋值给Object声明的对象,所以表现效果和dynamic相似。 final和const 如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型。 一个 final 变量只能被设置一次,两者区别在于:const 变量是一个编译时常量,final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如: //可以省略String这个类型声明 final str = \"hi world\"; //final String str = \"hi world\"; const str1 = \"hi world\"; //const String str1 = \"hi world\"; 函数 Dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型Function。这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。 函数声明 bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断: typedef bool CALLBACK(); //不指定返回类型,此时默认为dynamic,不是bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } void test(CALLBACK cb){ print(cb()); } //报错,isNoble不是bool类型 test(isNoble); 对于只包含一个表达式的函数,可以使用简写语法 bool isNoble (int atomicNumber )=> _nobleGases [ atomicNumber ] != null ; 函数作为变量 var say= (str){ print(str); }; say(\"hi world\"); 函数作为参数传递 void execute(var callback){ callback(); } execute(()=>print(\"xxx\")) 可选的位置参数 包装一组函数参数,用[]标记为可选的位置参数: String say(String from, String msg, [String device]) { var result = '$from says $msg'; if (device != null) { result = '$result with a $device'; } return result; } 下面是一个不带可选参数调用这个函数的例子: say('Bob', 'Howdy'); //结果是: Bob says Howdy 下面是用第三个参数调用这个函数的例子: say('Bob', 'Howdy', 'smoke signal'); //结果是:Bob says Howdy with a smoke signal 可选的命名参数 定义函数时,使用{param1, param2, …},用于指定命名参数。例如: //设置[bold]和[hidden]标志 void enableFlags({bool bold, bool hidden}) { // ... } 调用函数时,可以使用指定命名参数。例如:paramName: value enableFlags(bold: true, hidden: false); 可选命名参数在Flutter中使用非常多。 异步支持 Dart类库有非常多的返回Future或者Stream对象的函数。 这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像 IO操作。而不是等到这个操作完成。 async和await关键词支持了异步编程,运行您写出和同步代码很像的异步代码。 Future Future与JavaScript中的Promise非常相似,表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个Future只会对应一个结果,要么成功,要么失败。 由于本身功能较多,这里我们只介绍其常用的API及特性。还有,请记住,Future 的所有API的返回值仍然是一个Future对象,所以可以很方便的进行链式调用。 Future.then 为了方便示例,在本例中我们使用Future.delayed 创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串\"hi world!\",然后我们在then中接收异步结果并打印结果,代码如下: Future.delayed(new Duration(seconds: 2),(){ return \"hi world!\"; }).then((data){ print(data); }); Future.catchError 如果异步任务发生错误,我们可以在catchError中捕获错误,我们将上面示例改为: Future.delayed(new Duration(seconds: 2),(){ //return \"hi world!\"; throw AssertionError(\"Error\"); }).then((data){ //执行成功会走到这里 print(\"success\"); }).catchError((e){ //执行失败会走到这里 print(e); }); 在本示例中,我们在异步任务中抛出了一个异常,then的回调函数将不会被执行,取而代之的是 catchError回调函数将被调用;但是,并不是只有 catchError回调才能捕获错误,then方法还有一个可选参数onError,我们也可以它来捕获异常: Future.delayed(new Duration(seconds: 2), () { //return \"hi world!\"; throw AssertionError(\"Error\"); }).then((data) { print(\"success\"); }, onError: (e) { print(e); }); Future.whenComplete 有些时候,我们会遇到无论异步任务执行成功或失败都需要做一些事的场景,比如在网络请求前弹出加载对话框,在请求结束后关闭对话框。这种场景,有两种方法,第一种是分别在then或catch中关闭一下对话框,第二种就是使用Future的whenComplete回调,我们将上面示例改一下: Future.delayed(new Duration(seconds: 2),(){ //return \"hi world!\"; throw AssertionError(\"Error\"); }).then((data){ //执行成功会走到这里 print(data); }).catchError((e){ //执行失败会走到这里 print(e); }).whenComplete((){ //无论成功或失败都会走到这里 }); Future.wait 有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,比如我们有一个界面,需要先分别从两个网络接口获取数据,获取成功后,我们需要将两个接口数据进行特定的处理后再显示到UI界面上,应该怎么做?答案是Future.wait,它接受一个Future数组参数,只有数组中所有Future都执行成功后,才会触发then的成功回调,只要有一个Future执行失败,就会触发错误回调。下面,我们通过模拟Future.delayed 来模拟两个数据获取的异步任务,等两个异步任务都执行成功时,将两个异步任务的结果拼接打印出来,代码如下: Future.wait([ // 2秒后返回结果 Future.delayed(new Duration(seconds: 2), () { return \"hello\"; }), // 4秒后返回结果 Future.delayed(new Duration(seconds: 4), () { return \" world\"; }) ]).then((results){ print(results[0]+results[1]); }).catchError((e){ print(e); }); 执行上面代码,4秒后你会在控制台中看到“hello world”。 Async/await Dart中的async/await 和JavaScript中的async/await功能和用法是一模一样的,如果你已经了解JavaScript中的async/await的用法,可以直接跳过本节。 回调地狱(Callback hell) 如果代码中有大量异步逻辑,并且出现大量异步任务依赖其它异步任务的结果时,必然会出现Future.then回调中套回调情况。举个例子,比如现在有个需求场景是用户先登录,登录成功后会获得用户Id,然后通过用户Id,再去请求用户个人信息,获取到用户个人信息后,为了使用方便,我们需要将其缓存在本地文件系统,代码如下: //先分别定义各个异步任务 Future login(String userName, String pwd){ ... //用户登录 }; Future getUserInfo(String id){ ... //获取用户信息 }; Future saveUserInfo(String userInfo){ ... // 保存用户信息 }; 接下来,执行整个任务流: login(\"alice\",\"******\").then((id){ //登录成功后通过,id获取用户信息 getUserInfo(id).then((userInfo){ //获取用户信息后保存 saveUserInfo(userInfo).then((){ //保存用户信息,接下来执行其它操作 ... }); }); }) 可以感受一下,如果业务逻辑中有大量异步依赖的情况,将会出现上面这种在回调里面套回调的情况,过多的嵌套会导致的代码可读性下降以及出错率提高,并且非常难维护,这个问题被形象的称为回调地狱(Callback hell)。回调地狱问题在之前JavaScript中非常突出,也是JavaScript被吐槽最多的点,但随着ECMAScript6和ECMAScript7标准发布后,这个问题得到了非常好的解决,而解决回调地狱的两大神器正是ECMAScript6引入了Promise,以及ECMAScript7中引入的async/await。 而在Dart中几乎是完全平移了JavaScript中的这两者:Future相当于Promise,而async/await连名字都没改。接下来我们看看通过Future和async/await如何消除上面示例中的嵌套问题。 使用Future消除callback hell login(\"alice\",\"******\").then((id){ return getUserInfo(id); }).then((userInfo){ return saveUserInfo(userInfo); }).then((e){ //执行接下来的操作 }).catchError((e){ //错误处理 print(e); }); 正如上文所述, “Future 的所有API的返回值仍然是一个Future对象,所以可以很方便的进行链式调用” ,如果在then中返回的是一个Future的话,该future会执行,执行结束后会触发后面的then回调,这样依次向下,就避免了层层嵌套。 使用async/await消除callback hell 通过Future回调中再返回Future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再解释,代码如下: task() async { try{ String id = await login(\"alice\",\"******\"); String userInfo = await getUserInfo(id); await saveUserInfo(userInfo); //执行接下来的操作 } catch(e){ //错误处理 print(e); } } async用来表示函数是异步的,定义的函数会返回一个Future对象,可以使用then方法添加回调函数。 await 后面是一个Future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在 async 函数内部。 可以看到,我们通过async/await将一个异步流用同步的代码表示出来了。 其实,无论是在JavaScript还是Dart中,async/await都只是一个语法糖,编译器或解释器最终都会将其转化为一个Promise(Future)的调用链。 Stream Stream 也是用于接收异步事件数据,和Future 不同的是,它可以接收多个异步操作的结果(成功或失败)。 也就是说,在执行异步任务时,可以通过多次触发成功或失败事件来传递结果数据或错误异常。 Stream 常用于会多次读取数据的异步任务场景,如网络内容下载、文件读写等。举个例子: Stream.fromFutures([ // 1秒后返回结果 Future.delayed(new Duration(seconds: 1), () { return \"hello 1\"; }), // 抛出一个异常 Future.delayed(new Duration(seconds: 2),(){ throw AssertionError(\"Error\"); }), // 3秒后返回结果 Future.delayed(new Duration(seconds: 3), () { return \"hello 3\"; }) ]).listen((data){ print(data); }, onError: (e){ print(e.message); },onDone: (){ }); 上面的代码依次会输出: I/flutter (17666): hello 1 I/flutter (17666): Error I/flutter (17666): hello 3 代码很简单,就不赘述了。 思考题:既然Stream可以接收多次事件,那能不能用Stream来实现一个订阅者模式的事件总线? 总结 通过上面介绍,相信你对Dart应该有了一个初步的印象,由于笔者平时也使用Java和JavaScript,下面笔者根据自己的经验,结合Java和JavaScript,谈一下自己的看法。 之所以将Dart与Java和JavaScript对比,是因为,这两者分别是强类型语言和弱类型语言的典型代表,并且Dart 语法中很多地方也都借鉴了Java和JavaScript。 Dart vs Java 客观的来讲,Dart在语法层面确实比Java更有表现力;在VM层面,Dart VM在内存回收和吞吐量都进行了反复的优化,但具体的性能对比,笔者没有找到相关测试数据,但在笔者看来,只要Dart语言能流行,VM的性能就不用担心,毕竟Google在go(没用vm但有GC)、javascript(v8)、dalvik(android上的java vm)上已经有了很多技术积淀。值得注意的是Dart在Flutter中已经可以将GC做到10ms以内,所以Dart和Java相比,决胜因素并不会是在性能方面。而在语法层面,Dart要比java更有表现力,最重要的是Dart对函数式编程支持要远强于Java(目前只停留在lamda表达式),而Dart目前真正的不足是生态,但笔者相信,随着Flutter的逐渐火热,会回过头来反推Dart生态加速发展,对于Dart来说,现在需要的是时间。 Dart vs JavaScript JavaScript的弱类型一直被抓短,所以TypeScript、Coffeescript甚至是Facebook的flow(虽然并不能算JavaScript的一个超集,但也通过标注和打包工具提供了静态类型检查)才有市场。就笔者使用过的脚本语言中(笔者曾使用过Python、PHP),JavaScript无疑是动态化支持最好的脚本语言,比如在JavaScript中,可以给任何对象在任何时候动态扩展属性,对于精通JavaScript的高手来说,这无疑是一把利剑。但是,任何事物都有两面性,JavaScript的强大的动态化特性也是把双刃剑,你可经常听到另一个声音,认为JavaScript的这种动态性糟糕透了,太过灵活反而导致代码很难预期,无法限制不被期望的修改。毕竟有些人总是对自己或别人写的代码不放心,他们希望能够让代码变得可控,并期望有一套静态类型检查系统来帮助自己减少错误。正因如此,在Flutter中,Dart几乎放弃了脚本语言动态化的特性,如不支持反射、也不支持动态创建函数等。并且Dart在2.0强制开启了类型检查(Strong Mode),原先的检查模式(checked mode)和可选类型(optional type)将淡出,所以在类型安全这个层面来说,Dart和TypeScript、Coffeescript是差不多的,所以单从这一点来看,Dart并不具备什么明显优势,但综合起来看,dart既能进行服务端脚本、APP开发、web开发,这就有优势了! 综上所述,笔者还是很看好Dart语言的将来,之所以表这个态,是因为在新技术发展初期,很多人可能还有所摇摆,有所犹豫,所以有必要给大家打一剂强心针,当然,这是一个见仁见智的问题,大家可以各抒己见。 "},"chapter2/":{"url":"chapter2/","title":"第一个Flutter应用","keywords":"","body":"简介 本章将通过一些简单的示例来一步步介绍Flutter的开发流程. 本章目录 实现一个计数器 路由管理 包管理 资源管理 调试Flutter APP Dart线程模型及异常捕获 "},"chapter2/first_flutter_app.html":{"url":"chapter2/first_flutter_app.html","title":"计数器示例","keywords":"","body":"计数器应用示例 用Android Studio和VS Code创建的Flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。对于接下来的示例,希望读者可以跟着笔者实际动手来写一下,这样不仅可以加深印象,而且也会对介绍的概念与技术有一个真切的体会。如果你还不是很熟悉Dart或者没有移动开发经验,不用担心,只要你熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本示例。 通过Android Studio和VS Code根据前面“编辑器配置与使用”一章中介绍的创建Flutter工程的方法创建一个新的Flutter工程,命名为\"first_flutter_app\"。创建好后,就会得到一个计数器应用的Demo。 注意,默认Demo示例可能随着编辑器Flutter插件版本变化而变化,本例中会介绍计数器示例的全部代码,所以不会对本示例产生影响。 我们先运行此示例,效果图如下: 该计数器示例中,每点击一次右下角带“➕”号的悬浮按钮,屏幕中央的数字就会加1。 在这个示例中,主要Dart代码是在 lib/main.dart 文件中,下面我们看看该示例的源码: import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: 'Flutter Demo', theme: new ThemeData( primarySwatch: Colors.blue, ), home: new MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => new _MyHomePageState(); } class _MyHomePageState extends State { int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text(widget.title), ), body: new Center( child: new Column( mainAxisAlignment: MainAxisAlignment.center, children: [ new Text( 'You have pushed the button this many times:', ), new Text( '$_counter', style: Theme.of(context).textTheme.display1, ), ], ), ), floatingActionButton: new FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: new Icon(Icons.add), ), // This trailing comma makes auto-formatting nicer for build methods. ); } } 分析 导入包。 import 'package:flutter/material.dart'; 此行代码作用是导入了Material UI组件库。Material是一种标准的移动端和web端的视觉设计语言, Flutter默认提供了一套丰富的Material风格的UI组件。 应用入口。 void main() => runApp(new MyApp()); 与C/C++、Java类似,Flutter 应用中main函数为应用程序的入口,main函数中调用了,runApp 方法,它的功能是启动Flutter应用,它接受一个Widget参数,在本示例中它是MyApp类的一个实例,该参数代表Flutter应用。 main函数使用了(=>)符号,这是Dart中单行函数或方法的简写。 应用结构。 class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( //应用名称 title: 'Flutter Demo', theme: new ThemeData( //蓝色主题 primarySwatch: Colors.blue, ), //应用首页路由 home: new MyHomePage(title: 'Flutter Demo Home Page'), ); } } MyApp类代表Flutter应用,它继承了 StatelessWidget类,这也就意味着应用本身也是一个widget。 在Flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)。 Flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget)。 MaterialApp 是Material库中提供的Flutter APP框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个widget。 Scaffold 是Material库中提供的页面脚手架,它包含导航栏和Body以及FloatingActionButton(如果需要的话)。 本书后面示例中,路由默认都是通过Scaffold创建。 home 为Flutter应用的首页,它也是一个widget。 首页 class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => new _MyHomePageState(); } class _MyHomePageState extends State { ... } MyHomePage 是应用的首页,它继承自StatefulWidget类,表示它是一个有状态的widget(Stateful widget)。现在,我们可以简单认为Stateful widget 和Stateless widget有两点不同: Stateful widget可以拥有状态,这些状态在widget生命周期中是可以变的,而Stateless widget是不可变的。 Stateful widget至少由两个类组成: 一个StatefulWidget类。 一个 State类; StatefulWidget类本身是不变的,但是 State类中持有的状态在widget生命周期中可能会发生变化。 _MyHomePageState类是MyHomePage类对应的状态类。看到这里,细心的读者可能已经发现,和MyApp 类不同, MyHomePage类中并没有build方法,取而代之的是,build方法被挪到了_MyHomePageState方法中,至于为什么这么做,先留个疑问,在分析完完整代码后再来解答。 接下来,我们看看_MyHomePageState中都包含哪些东西: 状态。 int _counter = 0; _counter 为保存屏幕右下角带“➕”号按钮点击次数的状态。 设置状态的自增函数。 void _incrementCounter() { setState(() { _counter++; }); } 当按钮点击时,会调用此函数,该函数的作用是先自增_counter,然后调用setState 方法。setState方法的作用是通知Flutter框架,有状态发生了改变,Flutter框架收到通知后,会执行build方法来根据新的状态重新构建界面, Flutter 对此方法做了优化,使重新执行变的很快,所以你可以重新构建任何需要更新的东西,而无需分别去修改各个widget。 构建UI界面 构建UI界面的逻辑在build方法中,当MyHomePage第一次创建时,_MyHomePageState类会被创建,当初始化完成后,Flutter框架会调用Widget的build方法来构建widget树,最终将widget树渲染到设备屏幕上。所以,我们看看_MyHomePageState的build方法中都干了什么事: Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text(widget.title), ), body: new Center( child: new Column( mainAxisAlignment: MainAxisAlignment.center, children: [ new Text( 'You have pushed the button this many times:', ), new Text( '$_counter', style: Theme.of(context).textTheme.display1, ), ], ), ), floatingActionButton: new FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: new Icon(Icons.add), ), ); } Scaffold 是 Material库中提供的一个widget, 它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。 body的widget树中包含了一个Center widget,Center 可以将其子widget树对齐到屏幕中心, Center 子widget是一个Column widget,Column的作用是将其所有子widget沿屏幕垂直方向依次排列, 此例中Column包含两个 Text子widget,第一个Text widget显示固定文本 “You have pushed the button this many times:”,第二个Text widget显示_counter状态的数值。 floatingActionButton是页面右下角的带“➕”的悬浮按钮,它的onPressed属性接受一个回调函数,代表它本点击后的处理器,本例中直接将_incrementCounter作为其处理函数。 现在,我们将整个流程串起来:当右下角的floatingActionButton按钮被点击之后,会调用_incrementCounter,在_incrementCounter中,首先会自增_counter计数器(状态),然后setState会通知Flutter框架状态发生变化,接着,Flutter会调用build方法以新的状态重新构建UI,最终显示在设备屏幕上。 为什么要将build方法放在State中,而不是放在StatefulWidget中? 现在,我们回答之前提出的问题,为什么build()方法在State(而不是StatefulWidget)中 ?这主要是为了开发的灵活性。如果将build()方法在StatefulWidget中则会有两个问题: 状态访问不便 试想一下,如果我们的Stateful widget 有很多状态,而每次状态改变都要调用build方法,由于状态是保存在State中的,如果将build方法放在StatefulWidget中,那么构建时读取状态将会很不方便,试想一下,如果真的将build方法放在StatefulWidget中的话,由于构建用户界面过程需要依赖State,所以build方法将必须加一个State参数,大概是下面这样: Widget build(BuildContext context, State state){ //state.counter ... } 这样的话就只能将State的所有状态声明为公开的状态,这样才能在State类外部访问状态,但将状态设置为公开后,状态将不再具有私密性,这样依赖,对状态的修改将会变的不可控。将build()方法放在State中的话,构建过程则可以直接访问状态,这样会很方便。 继承StatefulWidget不便 例如,Flutter中有一个动画widget的基类AnimatedWidget,它继承自StatefulWidget类。AnimatedWidget中引入了一个抽象方法build(BuildContext context),继承自AnimatedWidget的动画widget都要实现这个build方法。现在设想一下,如果StatefulWidget 类中已经有了一个build方法,正如上面所述,此时build方法需要接收一个state对象,这就意味着AnimatedWidget必须将自己的State对象(记为_animatedWidgetState)提供给其子类,因为子类需要在其build方法中调用父类的build方法,代码可能如下: class MyAnimationWidget extends AnimatedWidget{ @override Widget build(BuildContext context, State state){ //由于子类要用到AnimatedWidget的状态对象_animatedWidgetState, //所以AnimatedWidget必须通过某种方式将其状态对象_animatedWidgetState //暴露给其子类 super.build(context, _animatedWidgetState) } } 这样很显然是不合理的,因为 AnimatedWidget的状态对象是AnimatedWidget内部实现细节,不应该暴露给外部。 如果要将父类状态暴露给子类,那么必须得有一种传递机制,而做这一套传递机制是无意义的,因为父子类之间状态的传递和子类本身逻辑是无关的。 综上所述,可以发现,对于StatefulWidget,将build方法放在State中,可以给开发带来很大的灵活性。 "},"chapter2/flutter_router.html":{"url":"chapter2/flutter_router.html","title":"路由管理","keywords":"","body":"路由管理 路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。 示例 我们在上一节“计数器”示例的基础上,做如下修改: 创建一个新路由,命名“NewRoute” class NewRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(\"New route\"), ), body: Center( child: Text(\"This is new route\"), ), ); } } 新路由继承自StatelessWidget,界面很简单,在页面中间显示一句\"This is new route\"。 在_MyHomePageState.build方法中的Column的子widget中添加一个按钮(FlatButton) : Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ... //省略无关代码 FlatButton( child: Text(\"open new route\"), textColor: Colors.blue, onPressed: () { //导航到新路由 Navigator.push( context, new MaterialPageRoute(builder: (context) { return new NewRoute(); })); }, ), ], ) 我们添加了一个打开新路由的按钮,并将按钮文字颜色设置为蓝色,点击该按钮后就会打开新的路由页面。 MaterialPageRoute MaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRoute 是Material组件库的一个Widget,它可以针对不同平台,实现与平台页面切换动画风格一致的路由切换动画: 对于Android,当打开新页面时,新的页面会从屏幕底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。 对于iOS,当打开页面时,新的页面会从屏幕右侧边缘一致滑动到屏幕左边,直到新页面全部显示到屏幕上,而上一个页面则会从当前屏幕滑动到屏幕左侧而消失;当关闭页面时,正好相反,当前页面会从屏幕右侧滑出,同时上一个页面会从屏幕左侧滑入。 下面我们介绍一下MaterialPageRoute 构造函数的各个参数的意义: MaterialPageRoute({ WidgetBuilder builder, RouteSettings settings, bool maintainState = true, bool fullscreenDialog = false, }) builder 是一个WidgetBuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。 settings 包含路由的配置信息,如路由名称、是否初始路由(首页)。 maintainState:默认情况下,当入栈一个新路由时,原来的路由仍然会被保存在内存中,如果想在路由没用的时候释放其所占用的所有资源,可以设置maintainState为false。 fullscreenDialog表示新的路由页面是否是一个全屏的模态对话框,在iOS中,如果fullscreenDialog为true,新页面将会从屏幕底部滑入(而不是水平方向)。 如果想自定义路由切换动画,可以自己继承PageRoute来实现,我们将在后面介绍动画时,实现一个自定义的路由Widget。 Navigator Navigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法: Future push(BuildContext context, Route route) 将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(及关闭)时的返回数据。 bool pop(BuildContext context, [ result ]) 将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。 Navigator 还有很多其它方法,如Navigator.replace、Navigator.popUntil等,详情请参考API文档或SDK源码注释,在此不再赘述。下面我们还需要介绍一下路由相关的另一个概念“命名路由”。 命名路由 所谓命名路由(Named Route)即给路由起一个名字,然后可以通过路由名字直接打开新的路由。这为路由管理带来了一种直观、简单的方式。 路由表 要想使用命名路由,我们必须先提供并注册一个路由表(routing table),这样应用程序才知道哪个名称与哪个路由Widget对应。路由表的定义如下: Map routes; 它是一个Map, key 为路由的名称,是个字符串;value是个builder回调函数,用于生成相应的路由Widget。我们在通过路由名称入栈新路由时,应用会根据路由名称在路由表中找到对应的WidgetBuilder回调函数,然后调用该回调函数生成路由widget并返回。 注册路由表 我们需要先注册路由表后,我们的Flutter应用才能正确处理命名路由的跳转。注册方式很简单,我们回到之前“计数器”的示例,然后在MyApp类的build方法中找到MaterialApp,添加routes属性,代码如下: return new MaterialApp( title: 'Flutter Demo', theme: new ThemeData( primarySwatch: Colors.blue, ), //注册路由表 routes:{ \"new_page\":(context)=>NewRoute(), } , home: new MyHomePage(title: 'Flutter Demo Home Page'), ); 现在我们就完成了路由表的注册。 通过路由名打开新路由页 要通过路由名称来打开新路由,可以使用: Future pushNamed(BuildContext context, String routeName) Navigator 除了pushNamed方法,还有pushReplacementNamed等其他管理命名路由的方法,读者可以自行查看API文档。 接下来我们通过路由名来打开新的路由页,修改FlatButton的onPressed回调代码,改为: onPressed: () { Navigator.pushNamed(context, \"new_page\"); //Navigator.push(context, // new MaterialPageRoute(builder: (context) { // return new NewRoute(); //})); }, 热重载应用,再次点击“open new route”按钮,依然可以打开新的路由页。 命名路由的优缺点 命名路由的最大优点是直观,我们可以通过语义化的字符串来管理路由。但其有一个明显的缺点:不能直接传递路由参数。举个例子,假设有一个新路由EchoRoute,它的功能是接受一个字符串参数tip,然后再在屏幕中心将tip的内容显示出来,代码如下: class EchoRoute extends StatelessWidget { EchoRoute(this.tip); final String tip; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(\"Echo route\"), ), body: Center( //回显tip内容 child: Text(tip), ), ); } } 如果我们使用命名参数,就必须将路由提前注册到路由表中,所以就无法动态修改tip参数,如: { \"tip_widgets\":(context)=>EchoRoute(\"内容固定\") } 综上所述,我们可以看到当路由需要参数时,使用命名路由则不够灵活。 "},"chapter2/flutter_package_mgr.html":{"url":"chapter2/flutter_package_mgr.html","title":"包管理","keywords":"","body":"包管理 一个完整的应用程序往往会依赖很多第三方包,正如在原生开发中,Android使用Gradle来管理依赖,iOS用Cocoapods或Carthage来管理依赖,而Flutter也有自己的依赖管理工具,本节我们主要介绍一下flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。 YAML是一种直观、可读性高并且容易被人类阅读的文件格式,它和xml或Json相比,它语法简单并非常容易解析,所以YAML常用于配置文件,Flutter也是用yaml文件作为其配置文件,Flutter项目默认的配置文件是pubspec.yaml,我们看一个简单的示例: name: flutter_in_action description: First Flutter application. version: 1.0.0+1 dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.2 dev_dependencies: flutter_test: sdk: flutter flutter: uses-material-design: true 下面,我们逐一解释一下各个字段的意义: name:应用或包名称。 description: 应用或包的描述、简介。 version:应用或包的版本号。 dependencies:应用或包依赖的其它包或插件。 dev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。 flutter:flutter相关的配置选项。 如果我们的Flutter应用本身依赖某个包,我们需要将所依赖的包添加到dependencies 下,接下来我们通过一个例子来演示一下如何依赖、下载并使用第三方包。 Pub仓库 Pub(https://pub.dartlang.org/ )是Google官方的Dart Packages仓库,类似于node中的npm仓库,android中的jcenter,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。我们将在后面的章节中介绍如何向pub发布我们的包和插件。 示例 接下来,我们实现一个显示随机字符串的widget。有一个名为“english_words”的开源软件包,其中包含数千个常用的英文单词以及一些实用功能。我们首先在pub上找到english_words这个包,确定其最新的版本号和是否支持Flutter。 我们看到“english_words”包最新的版本是3.1.3,并且支持flutter,接下来: 将english_words(3.1.3版本)添加到依赖项列表,如下: dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.0 # 新添加的依赖 english_words: ^3.1.3 下载包 在Android Studio的编辑器视图中查看pubspec.yaml时,单击右上角的 Packages get 。 这会将依赖包安装到您的项目。您可以在控制台中看到以下内容: flutter packages get Running \"flutter packages get\" in flutter_in_action... Process finished with exit code 0 你也可以在控制台,定位到当前工程目录,然后手动运行flutter packages get 命令来下载依赖包。 引入english_words包。 import 'package:english_words/english_words.dart'; 在输入时,Android Studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。 使用english_words包来生成随机字符串。 class RandomWordsWidget extends StatelessWidget { @override Widget build(BuildContext context) { // 生成随机字符串 final wordPair = new WordPair.random(); return Padding( padding: const EdgeInsets.all(8.0), child: new Text(wordPair.toString()), ); } } 我们将RandomWordsWidget 添加到\"计数器\"示例的首页MyHomePage 的Column的子widget中。 如果应用程序正在运行,请使用热重载按钮 () 更新正在运行的应用程序。每次单击热重载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。 这是因为单词对是在 build 方法内部生成的。每次热更新时,build方法都会被执行。 其它依赖方式 上文所述的依赖方式是依赖pub仓库的。但我们还可以依赖本地包和git仓库。 依赖本地包 如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖: dependencies: pkg1: path: ../../code/pkg1 路径可以是相对的,也可以是绝对的。 依赖Git:你也可以依赖存储在Git仓库中的包。如果软件包位于仓库的根目录中,请使用以下语法 dependencies: pkg1: git: url: git://github.com/xxx/pkg1.git 上面假定包位于Git存储库的根目录中。如果不是这种情况,可以使用path参数指定相对位置,例如: dependencies: package1: git: url: git://github.com/flutter/packages.git path: packages/package1 总结 本节介绍了引用、下载、使用一个包的整体流程,并在后面介绍了多种不同的引入方式,这些是Flutter开发中常用的,但Dart的dependencies还有一些其它依赖方式,完整的内容读者可以自行查看:https://www.dartlang.org/tools/pub/dependencies 。 "},"chapter2/flutter_assets_mgr.html":{"url":"chapter2/flutter_assets_mgr.html","title":"资源管理","keywords":"","body":"资源管理 Flutter应用程序可以包含代码和 assets(有时称为资源)。assets是会打包到程序安装包中的,可在运行时访问。常见类型的assets包括静态数据(例如JSON文件)、配置文件、图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)等。 指定 assets 和包管理一样,Flutter也使用pubspec.yaml文件来管理应用程序所需的资源。举一个例子: flutter: assets: - assets/my_icon.png - assets/background.png assets指定应包含在应用程序中的文件。 每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是assets)。 在构建期间,Flutter将asset放置到称为 asset bundle 的特殊存档中,应用程序可以在运行时读取它们(但不能修改)。 Asset 变体(variant) 构建过程支持asset变体的概念:不同版本的asset可能会显示在不同的上下文中。 在pubspec.yaml的assets部分中指定asset路径时,构建过程中,会在相邻子目录中查找具有相同名称的任何文件。这些文件随后会与指定的asset一起被包含在asset bundle中。 例如,如果应用程序目录中有以下文件: …/pubspec.yaml …/graphics/my_icon.png …/graphics/background.png …/graphics/dark/background.png …etc. 然后pubspec.yaml文件中只需包含: flutter: assets: - graphics/background.png 那么这两个graphics/background.png和graphics/dark/background.png 都将包含在您的asset bundle中。前者被认为是main asset (主资源),后者被认为是一种变体(variant)。 在选择匹配当前设备分辨率的图片时,Flutter会使用到asset变体(见下文),将来,Flutter可能会将这种机制扩展到本地化、阅读提示等方面。 加载 assets 您的应用可以通过AssetBundle对象访问其asset 。有两种主要方法允许从Asset bundle中加载字符串或图片(二进制)文件。 加载文本assets 通过rootBundle 对象加载:每个Flutter应用程序都有一个rootBundle对象, 通过它可以轻松访问主资源包,直接使用package:flutter/services.dart中全局静态的rootBundle对象来加载asset即可。 通过 DefaultAssetBundle 加载:建议使用 DefaultAssetBundle 来获取当前BuildContext的AssetBundle。 这种方法不是使用应用程序构建的默认asset bundle,而是使父级widget在运行时动态替换的不同的AssetBundle,这对于本地化或测试场景很有用。 通常,可以使用DefaultAssetBundle.of()在应用运行时来间接加载asset(例如JSON文件),而在widget上下文之外,或其它AssetBundle句柄不可用时,可以使用rootBundle直接加载这些asset,例如: import 'dart:async' show Future; import 'package:flutter/services.dart' show rootBundle; Future loadAsset() async { return await rootBundle.loadString('assets/config.json'); } 加载图片 类似于原生开发,Flutter也可以为当前设备加载适合其分辨率的图像。 声明分辨率相关的图片 assets AssetImage 可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。为了使这种映射起作用,必须根据特定的目录结构来保存asset: …/image.png …/Mx/image.png …/Nx/image.png …etc. 其中M和N是数字标识符,对应于其中包含的图像的分辨率,也就是说,它们指定不同设备像素比例的图片。 主资源默认对应于1.0倍的分辨率图片。看一个例子: …/my_icon.png …/2.0x/my_icon.png …/3.0x/my_icon.png 在设备像素比率为1.8的设备上,.../2.0x/my_icon.png 将被选择。对于2.7的设备像素比率,.../3.0x/my_icon.png将被选择。 如果未在Image widget上指定渲染图像的宽度和高度,那么Image widget将占用与主资源相同的屏幕空间大小。 也就是说,如果.../my_icon.png是72px乘72px,那么.../3.0x/my_icon.png应该是216px乘216px; 但如果未指定宽度和高度,它们都将渲染为72像素×72像素(以逻辑像素为单位)。 pubspec.yaml中asset部分中的每一项都应与实际文件相对应,但主资源项除外。当主资源缺少某个资源时,会按分辨率从低到高的顺序去选择 ,也就是说1x中没有的话会在2x中找,2x中还没有的话就在3x中找。 加载图片 要加载图片,可以使用 AssetImage类。例如,我们可以从上面的asset声明中加载背景图片: Widget build(BuildContext context) { return new DecoratedBox( decoration: new BoxDecoration( image: new DecorationImage( image: new AssetImage('graphics/background.png'), ), ), ); } 注意,AssetImage 并非是一个widget, 它实际上是一个ImageProvider,有些时候你可能期望直接得到一个显示图片的widget,那么你可以使用Image.asset()方法,如: Widget build(BuildContext context) { return Image.asset('graphics/background.png'); } 使用默认的 asset bundle 加载资源时,内部会自动处理分辨率等,这些处理对开发者来说是无感知的。 (如果使用一些更低级别的类,如 ImageStream或 ImageCache 时你会注意到有与缩放相关的参数) 依赖包中的资源图片 要加载依赖包中的图像,必须给AssetImage提供package参数。 例如,假设您的应用程序依赖于一个名为“my_icons”的包,它具有如下目录结构: …/pubspec.yaml …/icons/heart.png …/icons/1.5x/heart.png …/icons/2.0x/heart.png …etc. 然后加载图像,使用: new AssetImage('icons/heart.png', package: 'my_icons') 或 new Image.asset('icons/heart.png', package: 'my_icons') 注意:包在使用本身的资源时也应该加上package参数来获取。 打包包中的 assets 如果在pubspec.yaml文件中声明了期望的资源,它将会打包到相应的package中。特别是,包本身使用的资源必须在pubspec.yaml中指定。 包也可以选择在其lib/文件夹中包含未在其pubspec.yaml文件中声明的资源。在这种情况下,对于要打包的图片,应用程序必须在pubspec.yaml中指定包含哪些图像。 例如,一个名为“fancy_backgrounds”的包,可能包含以下文件: …/lib/backgrounds/background1.png …/lib/backgrounds/background2.png …/lib/backgrounds/background3.png 要包含第一张图像,必须在pubspec.yaml的assets部分中声明它: flutter: assets: - packages/fancy_backgrounds/backgrounds/background1.png lib/是隐含的,所以它不应该包含在资产路径中。 特定平台 assets 上面的资源都是flutter应用中的,这些资源只有在Flutter框架运行之后才能使用,如果要给我们的应用设置APP图标或者添加启动图,那我们必须使用特定平台的assets。 设置APP图标 更新Flutter应用程序启动图标的方式与在本机Android或iOS应用程序中更新启动图标的方式相同。 Android 在Flutter项目的根目录中,导航到.../android/app/src/main/res目录,里面包含了各种资源文件夹(如mipmap-hdpi已包含占位符图像”ic_launcher.png”)。 只需按照Android开发人员指南中的说明, 将其替换为所需的资源,并遵守每种屏幕密度(dpi)的建议图标大小标准。 注意: 如果您重命名.png文件,则还必须在您AndroidManifest.xml的标签的android:icon属性中更新名称。 iOS 在Flutter项目的根目录中,导航到.../ios/Runner。该目录中Assets.xcassets/AppIcon.appiconset已经包含占位符图片。 只需将它们替换为适当大小的图片。保留原始文件名称。 更新启动页 在Flutter框架加载时,Flutter会使用本地平台机制绘制启动页。此启动页将持续到Flutter渲染应用程序的第一帧时。 注意: 这意味着如果您不在应用程序的main()方法中调用runApp 函数 (或者更具体地说,如果您不调用window.render去响应window.onDrawFrame)的话, 启动屏幕将永远持续显示。 Android 要将启动屏幕(splash screen)添加到您的Flutter应用程序, 请导航至.../android/app/src/main。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面(你也可以直接换一张图片)。 iOS 要将图片添加到启动屏幕(splash screen)的中心,请导航至.../ios/Runner。在Assets.xcassets/LaunchImage.imageset, 拖入图片,并命名为LaunchImage.png、LaunchImage@2x.png、LaunchImage@3x.png。 如果你使用不同的文件名,那您还必须更新同一目录中的Contents.json文件,图片的具体尺寸可以查看苹果官方的标准。 您也可以通过打开Xcode完全自定义storyboard。在Project Navigator中导航到Runner/Runner然后通过打开Assets.xcassets拖入图片,或者通过在LaunchScreen.storyboard中使用Interface Builder进行自定义。 "},"chapter2/flutter_app_debug.html":{"url":"chapter2/flutter_app_debug.html","title":"调试Flutter APP","keywords":"","body":"调试Flutter应用 有各种各样的工具和功能来帮助调试Flutter应用程序。 Dart 分析器 在运行应用程序前,请运行flutter analyze测试你的代码。这个工具(它是dartanalyzer工具的一个包装)将分析你的代码并帮助你发现可能的错误。 如果你使用IntelliJ的Flutter插件,那么已经自动启用了。 Dart分析器大量使用了代码中的类型注释来帮助追踪问题。我们鼓励您在任何地方使用它们(避免var、无类型的参数、无类型的列表文字等),因为这是追踪问题的最快的方式。 Dart Observatory (语句级的单步调试和分析器) 如果您使用flutter run启动应用程序,那么当它运行时,您可以打开Observatory URL的Web页面(例如Observatory监听http://127.0.0.1:8100/), 直接使用语句级单步调试器连接到您的应用程序。如果您使用的是IntelliJ,则还可以使用其内置的调试器来调试您的应用程序。 Observatory 同时支持分析、检查堆等。有关Observatory的更多信息请参考Observatory 文档. 如果您使用Observatory进行分析,请确保通过--profile选项来运行flutter run命令来运行应用程序。 否则,配置文件中将出现的主要问题将是调试断言,以验证框架的各种不变量(请参阅下面的“调试模式断言”)。 debugger() 声明 当使用Dart Observatory(或另一个Dart调试器,例如IntelliJ IDE中的调试器)时,可以使用该debugger()语句插入编程式断点。要使用这个,你必须添加import 'dart:developer';到相关文件顶部。 debugger()语句采用一个可选when参数,您可以指定该参数仅在特定条件为真时中断,如下所示: void someFunction(double offset) { debugger(when: offset > 30.0); // ... } print、debugPrint、flutter logs Dart print()功能将输出到系统控制台,您可以使用flutter logs了查看它(基本上是一个包装adb logcat)。 如果你一次输出太多,那么Android有时会丢弃一些日志行。为了避免这种情况,您可以使用Flutter的foundation库中的debugPrint()。 这是一个封装print,它将输出限制在一个级别,避免被Android内核丢弃。 Flutter框架中的许多类都有toString实现。按照惯例,这些输出通常包括对象的runtimeType单行输出,通常在表单中ClassName(more information about this instance…)。 树中使用的一些类也具有toStringDeep,从该点返回整个子树的多行描述。已一些具有详细信息toString的类会实现一个toStringShort,它只返回对象的类型或其他非常简短的(一个或两个单词)描述。 调试模式断言 在开发过程中,强烈建议您使用Flutter的“调试”模式,有时也称为“checked”模式(注意:Dart2.0后“checked”被废除,可以使用“strong” mode)。 如果您使用flutter run运行程序。在这种模式下,Dart assert语句被启用,并且Flutter框架使用它来执行许多运行时检查来验证是否违反一些不可变的规则。 当一个不可变的规则被违反时,它被报告给控制台,并带有一些上下文信息来帮助追踪问题的根源。 要关闭调试模式并使用发布模式,请使用flutter run --release运行您的应用程序。 这也关闭了Observatory调试器。一个中间模式可以关闭除Observatory之外所有调试辅助工具的,称为“profile mode”,用--profile替代--release即可。 调试应用程序层 Flutter框架的每一层都提供了将其当前状态或事件转储(dump)到控制台(使用debugPrint)的功能。 Widget 层 要转储Widgets库的状态,请调用debugDumpApp()。 只要应用程序已经构建了至少一次(即在调用build()之后的任何时间),您可以在应用程序未处于构建阶段(即,不在build()方法内调用 )的任何时间调用此方法(在调用runApp()之后)。 如, 这个应用程序: import 'package:flutter/material.dart'; void main() { runApp( new MaterialApp( home: new AppHome(), ), ); } class AppHome extends StatelessWidget { @override Widget build(BuildContext context) { return new Material( child: new Center( child: new FlatButton( onPressed: () { debugDumpApp(); }, child: new Text('Dump App'), ), ), ); } } …会输出这样的内容(精确的细节会根据框架的版本、设备的大小等等而变化): I/flutter ( 6559): WidgetsFlutterBinding - CHECKED MODE I/flutter ( 6559): RenderObjectToWidgetAdapter([GlobalObjectKey RenderView(497039273)]; renderObject: RenderView) I/flutter ( 6559): └MaterialApp(state: _MaterialAppState(1009803148)) I/flutter ( 6559): └ScrollConfiguration() I/flutter ( 6559): └AnimatedTheme(duration: 200ms; state: _AnimatedThemeState(543295893; ticker inactive; ThemeDataTween(ThemeData(Brightness.light Color(0xff2196f3) etc...) → null))) I/flutter ( 6559): └Theme(ThemeData(Brightness.light Color(0xff2196f3) etc...)) I/flutter ( 6559): └WidgetsApp([GlobalObjectKey _MaterialAppState(1009803148)]; state: _WidgetsAppState(552902158)) I/flutter ( 6559): └CheckedModeBanner() I/flutter ( 6559): └Banner() I/flutter ( 6559): └CustomPaint(renderObject: RenderCustomPaint) I/flutter ( 6559): └DefaultTextStyle(inherit: true; color: Color(0xd0ff0000); family: \"monospace\"; size: 48.0; weight: 900; decoration: double Color(0xffffff00) TextDecoration.underline) I/flutter ( 6559): └MediaQuery(MediaQueryData(size: Size(411.4, 683.4), devicePixelRatio: 2.625, textScaleFactor: 1.0, padding: EdgeInsets(0.0, 24.0, 0.0, 0.0))) I/flutter ( 6559): └LocaleQuery(null) I/flutter ( 6559): └Title(color: Color(0xff2196f3)) I/flutter ( 6559): └Navigator([GlobalObjectKey _WidgetsAppState(552902158)]; state: NavigatorState(240327618; tracking 1 ticker)) I/flutter ( 6559): └Listener(listeners: down, up, cancel; behavior: defer-to-child; renderObject: RenderPointerListener) I/flutter ( 6559): └AbsorbPointer(renderObject: RenderAbsorbPointer) I/flutter ( 6559): └Focus([GlobalKey 489139594]; state: _FocusState(739584448)) I/flutter ( 6559): └Semantics(container: true; renderObject: RenderSemanticsAnnotations) I/flutter ( 6559): └_FocusScope(this scope has focus; focused subscope: [GlobalObjectKey MaterialPageRoute(875520219)]) I/flutter ( 6559): └Overlay([GlobalKey 199833992]; state: OverlayState(619367313; entries: [OverlayEntry@248818791(opaque: false; maintainState: false), OverlayEntry@837336156(opaque: false; maintainState: true)])) I/flutter ( 6559): └_Theatre(renderObject: _RenderTheatre) I/flutter ( 6559): └Stack(renderObject: RenderStack) I/flutter ( 6559): ├_OverlayEntry([GlobalKey 612888877]; state: _OverlayEntryState(739137453)) I/flutter ( 6559): │└IgnorePointer(ignoring: false; renderObject: RenderIgnorePointer) I/flutter ( 6559): │ └ModalBarrier() I/flutter ( 6559): │ └Semantics(container: true; renderObject: RenderSemanticsAnnotations) I/flutter ( 6559): │ └GestureDetector() I/flutter ( 6559): │ └RawGestureDetector(state: RawGestureDetectorState(39068508; gestures: tap; behavior: opaque)) I/flutter ( 6559): │ └_GestureSemantics(renderObject: RenderSemanticsGestureHandler) I/flutter ( 6559): │ └Listener(listeners: down; behavior: opaque; renderObject: RenderPointerListener) I/flutter ( 6559): │ └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox) I/flutter ( 6559): └_OverlayEntry([GlobalKey 727622716]; state: _OverlayEntryState(279971240)) I/flutter ( 6559): └_ModalScope([GlobalKey 816151164]; state: _ModalScopeState(875510645)) I/flutter ( 6559): └Focus([GlobalObjectKey MaterialPageRoute(875520219)]; state: _FocusState(331487674)) I/flutter ( 6559): └Semantics(container: true; renderObject: RenderSemanticsAnnotations) I/flutter ( 6559): └_FocusScope(this scope has focus) I/flutter ( 6559): └Offstage(offstage: false; renderObject: RenderOffstage) I/flutter ( 6559): └IgnorePointer(ignoring: false; renderObject: RenderIgnorePointer) I/flutter ( 6559): └_MountainViewPageTransition(animation: AnimationController(⏭ 1.000; paused; for MaterialPageRoute(/))➩ProxyAnimation➩Cubic(0.40, 0.00, 0.20, 1.00)➩Tween(Offset(0.0, 1.0) → Offset(0.0, 0.0))➩Offset(0.0, 0.0); state: _AnimatedState(552160732)) I/flutter ( 6559): └SlideTransition(animation: AnimationController(⏭ 1.000; paused; for MaterialPageRoute(/))➩ProxyAnimation➩Cubic(0.40, 0.00, 0.20, 1.00)➩Tween(Offset(0.0, 1.0) → Offset(0.0, 0.0))➩Offset(0.0, 0.0); state: _AnimatedState(714726495)) I/flutter ( 6559): └FractionalTranslation(renderObject: RenderFractionalTranslation) I/flutter ( 6559): └RepaintBoundary(renderObject: RenderRepaintBoundary) I/flutter ( 6559): └PageStorage([GlobalKey 619728754]) I/flutter ( 6559): └_ModalScopeStatus(active) I/flutter ( 6559): └AppHome() I/flutter ( 6559): └Material(MaterialType.canvas; elevation: 0; state: _MaterialState(780114997)) I/flutter ( 6559): └AnimatedContainer(duration: 200ms; has background; state: _AnimatedContainerState(616063822; ticker inactive; has background)) I/flutter ( 6559): └Container(bg: BoxDecoration()) I/flutter ( 6559): └DecoratedBox(renderObject: RenderDecoratedBox) I/flutter ( 6559): └Container(bg: BoxDecoration(backgroundColor: Color(0xfffafafa))) I/flutter ( 6559): └DecoratedBox(renderObject: RenderDecoratedBox) I/flutter ( 6559): └NotificationListener() I/flutter ( 6559): └_InkFeature([GlobalKey ink renderer]; renderObject: _RenderInkFeatures) I/flutter ( 6559): └AnimatedDefaultTextStyle(duration: 200ms; inherit: false; color: Color(0xdd000000); family: \"Roboto\"; size: 14.0; weight: 400; baseline: alphabetic; state: _AnimatedDefaultTextStyleState(427742350; ticker inactive)) I/flutter ( 6559): └DefaultTextStyle(inherit: false; color: Color(0xdd000000); family: \"Roboto\"; size: 14.0; weight: 400; baseline: alphabetic) I/flutter ( 6559): └Center(alignment: Alignment.center; renderObject: RenderPositionedBox) I/flutter ( 6559): └FlatButton() I/flutter ( 6559): └MaterialButton(state: _MaterialButtonState(398724090)) I/flutter ( 6559): └ConstrainedBox(BoxConstraints(88.0(369160267)) I/flutter ( 6559): └GestureDetector() I/flutter ( 6559): └RawGestureDetector(state: RawGestureDetectorState(175370983; gestures: tap; behavior: opaque)) I/flutter ( 6559): └_GestureSemantics(renderObject: RenderSemanticsGestureHandler relayoutBoundary=up2) I/flutter ( 6559): └Listener(listeners: down; behavior: opaque; renderObject: RenderPointerListener relayoutBoundary=up3) I/flutter ( 6559): └Container(padding: EdgeInsets(16.0, 0.0, 16.0, 0.0)) I/flutter ( 6559): └Padding(renderObject: RenderPadding relayoutBoundary=up4) I/flutter ( 6559): └Center(alignment: Alignment.center; widthFactor: 1.0; renderObject: RenderPositionedBox relayoutBoundary=up5) I/flutter ( 6559): └Text(\"Dump App\") I/flutter ( 6559): └RichText(renderObject: RenderParagraph relayoutBoundary=up6) 这是一个“扁平化”的树,显示了通过各种构建函数投影的所有widget(如果你在widget树的根中调用toStringDeepwidget,这是你获得的树)。 你会看到很多在你的应用源代码中没有出现的widget,因为它们是被框架中widget的build()函数插入的。例如,InkFeature是Material widget的一个实现细节 。 当按钮从被按下变为被释放时debugDumpApp()被调用,FlatButton对象同时调用setState(),并将自己标记为\"dirty\"。 这就是为什么如果你看转储,你会看到特定的对象标记为“dirty”。您还可以查看已注册了哪些手势监听器; 在这种情况下,一个单一的GestureDetector被列出,并且监听“tap”手势(“tap”是TapGestureDetector的toStringShort函数输出的) 如果您编写自己的widget,则可以通过覆盖debugFillProperties()来添加信息。 将DiagnosticsProperty对象作为方法参数,并调用父类方法。 该函数是该toString方法用来填充小部件描述信息的。 渲染层 如果您尝试调试布局问题,那么Widgets层的树可能不够详细。在这种情况下,您可以通过调用debugDumpRenderTree()转储渲染树。 正如debugDumpApp(),除布局或绘制阶段外,您可以随时调用此函数。作为一般规则,从frame 回调 或事件处理器中调用它是最佳解决方案。 要调用debugDumpRenderTree(),您需要添加import'package:flutter/rendering.dart';到您的源文件。 上面这个小例子的输出结果如下所示: I/flutter ( 6559): RenderView I/flutter ( 6559): │ debug mode enabled - android I/flutter ( 6559): │ window size: Size(1080.0, 1794.0) (in physical pixels) I/flutter ( 6559): │ device pixel ratio: 2.625 (physical pixels per logical pixel) I/flutter ( 6559): │ configuration: Size(411.4, 683.4) at 2.625x (in logical pixels) I/flutter ( 6559): │ I/flutter ( 6559): └─child: RenderCustomPaint I/flutter ( 6559): │ creator: CustomPaint ← Banner ← CheckedModeBanner ← I/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ← I/flutter ( 6559): │ Theme ← AnimatedTheme ← ScrollConfiguration ← MaterialApp ← I/flutter ( 6559): │ [root] I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ I/flutter ( 6559): └─child: RenderPointerListener I/flutter ( 6559): │ creator: Listener ← Navigator-[GlobalObjectKey I/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ← I/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ← I/flutter ( 6559): │ Theme ← AnimatedTheme ← ⋯ I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ behavior: defer-to-child I/flutter ( 6559): │ listeners: down, up, cancel I/flutter ( 6559): │ I/flutter ( 6559): └─child: RenderAbsorbPointer I/flutter ( 6559): │ creator: AbsorbPointer ← Listener ← I/flutter ( 6559): │ Navigator-[GlobalObjectKey I/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ← I/flutter ( 6559): │ WidgetsApp-[GlobalObjectKey _MaterialAppState(1009803148)] ← I/flutter ( 6559): │ Theme ← ⋯ I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ absorbing: false I/flutter ( 6559): │ I/flutter ( 6559): └─child: RenderSemanticsAnnotations I/flutter ( 6559): │ creator: Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer I/flutter ( 6559): │ ← Listener ← Navigator-[GlobalObjectKey I/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): │ ← DefaultTextStyle ← CustomPaint ← Banner ← CheckedModeBanner ← I/flutter ( 6559): │ ⋯ I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ I/flutter ( 6559): └─child: _RenderTheatre I/flutter ( 6559): │ creator: _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope ← I/flutter ( 6559): │ Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ← I/flutter ( 6559): │ Listener ← Navigator-[GlobalObjectKey I/flutter ( 6559): │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): │ ← DefaultTextStyle ← ⋯ I/flutter ( 6559): │ parentData: I/flutter ( 6559): │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): │ size: Size(411.4, 683.4) I/flutter ( 6559): │ I/flutter ( 6559): ├─onstage: RenderStack I/flutter ( 6559): ╎ │ creator: Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← I/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalKey 489139594] ← I/flutter ( 6559): ╎ │ AbsorbPointer ← Listener ← I/flutter ( 6559): ╎ │ Navigator-[GlobalObjectKey I/flutter ( 6559): ╎ │ _WidgetsAppState(552902158)] ← Title ← LocaleQuery ← MediaQuery I/flutter ( 6559): ╎ │ ← ⋯ I/flutter ( 6559): ╎ │ parentData: not positioned; offset=Offset(0.0, 0.0) I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ ├─child 1: RenderIgnorePointer I/flutter ( 6559): ╎ │ │ creator: IgnorePointer ← _OverlayEntry-[GlobalKey 612888877] ← I/flutter ( 6559): ╎ │ │ Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope I/flutter ( 6559): ╎ │ │ ← Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ← I/flutter ( 6559): ╎ │ │ Listener ← Navigator-[GlobalObjectKey I/flutter ( 6559): ╎ │ │ _WidgetsAppState(552902158)] ← Title ← ⋯ I/flutter ( 6559): ╎ │ │ parentData: not positioned; offset=Offset(0.0, 0.0) I/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ │ ignoring: false I/flutter ( 6559): ╎ │ │ ignoringSemantics: implicitly false I/flutter ( 6559): ╎ │ │ I/flutter ( 6559): ╎ │ └─child: RenderSemanticsAnnotations I/flutter ( 6559): ╎ │ │ creator: Semantics ← ModalBarrier ← IgnorePointer ← I/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ← I/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← Semantics ← I/flutter ( 6559): ╎ │ │ Focus-[GlobalKey 489139594] ← AbsorbPointer ← Listener ← ⋯ I/flutter ( 6559): ╎ │ │ parentData: I/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ │ I/flutter ( 6559): ╎ │ └─child: RenderSemanticsGestureHandler I/flutter ( 6559): ╎ │ │ creator: _GestureSemantics ← RawGestureDetector ← GestureDetector I/flutter ( 6559): ╎ │ │ ← Semantics ← ModalBarrier ← IgnorePointer ← I/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ← I/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← Semantics ← ⋯ I/flutter ( 6559): ╎ │ │ parentData: I/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ │ I/flutter ( 6559): ╎ │ └─child: RenderPointerListener I/flutter ( 6559): ╎ │ │ creator: Listener ← _GestureSemantics ← RawGestureDetector ← I/flutter ( 6559): ╎ │ │ GestureDetector ← Semantics ← ModalBarrier ← IgnorePointer ← I/flutter ( 6559): ╎ │ │ _OverlayEntry-[GlobalKey 612888877] ← Stack ← _Theatre ← I/flutter ( 6559): ╎ │ │ Overlay-[GlobalKey 199833992] ← _FocusScope ← ⋯ I/flutter ( 6559): ╎ │ │ parentData: I/flutter ( 6559): ╎ │ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ │ behavior: opaque I/flutter ( 6559): ╎ │ │ listeners: down I/flutter ( 6559): ╎ │ │ I/flutter ( 6559): ╎ │ └─child: RenderConstrainedBox I/flutter ( 6559): ╎ │ creator: ConstrainedBox ← Listener ← _GestureSemantics ← I/flutter ( 6559): ╎ │ RawGestureDetector ← GestureDetector ← Semantics ← ModalBarrier I/flutter ( 6559): ╎ │ ← IgnorePointer ← _OverlayEntry-[GlobalKey 612888877] ← Stack ← I/flutter ( 6559): ╎ │ _Theatre ← Overlay-[GlobalKey 199833992] ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ additionalConstraints: BoxConstraints(biggest) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child 2: RenderSemanticsAnnotations I/flutter ( 6559): ╎ │ creator: Semantics ← Focus-[GlobalObjectKey I/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey I/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ← I/flutter ( 6559): ╎ │ _Theatre ← Overlay-[GlobalKey 199833992] ← _FocusScope ← I/flutter ( 6559): ╎ │ Semantics ← Focus-[GlobalKey 489139594] ← AbsorbPointer ← I/flutter ( 6559): ╎ │ Listener ← ⋯ I/flutter ( 6559): ╎ │ parentData: not positioned; offset=Offset(0.0, 0.0) I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderOffstage I/flutter ( 6559): ╎ │ creator: Offstage ← _FocusScope ← Semantics ← I/flutter ( 6559): ╎ │ Focus-[GlobalObjectKey MaterialPageRoute(875520219)] ← I/flutter ( 6559): ╎ │ _ModalScope-[GlobalKey 816151164] ← _OverlayEntry-[GlobalKey I/flutter ( 6559): ╎ │ 727622716] ← Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← I/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalKey 489139594] ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ offstage: false I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderIgnorePointer I/flutter ( 6559): ╎ │ creator: IgnorePointer ← Offstage ← _FocusScope ← Semantics ← I/flutter ( 6559): ╎ │ Focus-[GlobalObjectKey MaterialPageRoute(875520219)] ← I/flutter ( 6559): ╎ │ _ModalScope-[GlobalKey 816151164] ← _OverlayEntry-[GlobalKey I/flutter ( 6559): ╎ │ 727622716] ← Stack ← _Theatre ← Overlay-[GlobalKey 199833992] ← I/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ ignoring: false I/flutter ( 6559): ╎ │ ignoringSemantics: implicitly false I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderFractionalTranslation I/flutter ( 6559): ╎ │ creator: FractionalTranslation ← SlideTransition ← I/flutter ( 6559): ╎ │ _MountainViewPageTransition ← IgnorePointer ← Offstage ← I/flutter ( 6559): ╎ │ _FocusScope ← Semantics ← Focus-[GlobalObjectKey I/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey I/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ← I/flutter ( 6559): ╎ │ _Theatre ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ translation: Offset(0.0, 0.0) I/flutter ( 6559): ╎ │ transformHitTests: true I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderRepaintBoundary I/flutter ( 6559): ╎ │ creator: RepaintBoundary ← FractionalTranslation ← I/flutter ( 6559): ╎ │ SlideTransition ← _MountainViewPageTransition ← IgnorePointer ← I/flutter ( 6559): ╎ │ Offstage ← _FocusScope ← Semantics ← Focus-[GlobalObjectKey I/flutter ( 6559): ╎ │ MaterialPageRoute(875520219)] ← _ModalScope-[GlobalKey I/flutter ( 6559): ╎ │ 816151164] ← _OverlayEntry-[GlobalKey 727622716] ← Stack ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ metrics: 83.3% useful (1 bad vs 5 good) I/flutter ( 6559): ╎ │ diagnosis: this is a useful repaint boundary and should be kept I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderDecoratedBox I/flutter ( 6559): ╎ │ creator: DecoratedBox ← Container ← AnimatedContainer ← Material I/flutter ( 6559): ╎ │ ← AppHome ← _ModalScopeStatus ← PageStorage-[GlobalKey I/flutter ( 6559): ╎ │ 619728754] ← RepaintBoundary ← FractionalTranslation ← I/flutter ( 6559): ╎ │ SlideTransition ← _MountainViewPageTransition ← IgnorePointer ← I/flutter ( 6559): ╎ │ ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ decoration: I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ │ configuration: ImageConfiguration(bundle: I/flutter ( 6559): ╎ │ PlatformAssetBundle@367106502(), devicePixelRatio: 2.625, I/flutter ( 6559): ╎ │ platform: android) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderDecoratedBox I/flutter ( 6559): ╎ │ creator: DecoratedBox ← Container ← DecoratedBox ← Container ← I/flutter ( 6559): ╎ │ AnimatedContainer ← Material ← AppHome ← _ModalScopeStatus ← I/flutter ( 6559): ╎ │ PageStorage-[GlobalKey 619728754] ← RepaintBoundary ← I/flutter ( 6559): ╎ │ FractionalTranslation ← SlideTransition ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ decoration: I/flutter ( 6559): ╎ │ backgroundColor: Color(0xfffafafa) I/flutter ( 6559): ╎ │ configuration: ImageConfiguration(bundle: I/flutter ( 6559): ╎ │ PlatformAssetBundle@367106502(), devicePixelRatio: 2.625, I/flutter ( 6559): ╎ │ platform: android) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: _RenderInkFeatures I/flutter ( 6559): ╎ │ creator: _InkFeature-[GlobalKey ink renderer] ← I/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox I/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← AnimatedContainer ← I/flutter ( 6559): ╎ │ Material ← AppHome ← _ModalScopeStatus ← PageStorage-[GlobalKey I/flutter ( 6559): ╎ │ 619728754] ← RepaintBoundary ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderPositionedBox I/flutter ( 6559): ╎ │ creator: Center ← DefaultTextStyle ← AnimatedDefaultTextStyle ← I/flutter ( 6559): ╎ │ _InkFeature-[GlobalKey ink renderer] ← I/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox I/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← AnimatedContainer ← I/flutter ( 6559): ╎ │ Material ← AppHome ← ⋯ I/flutter ( 6559): ╎ │ parentData: I/flutter ( 6559): ╎ │ constraints: BoxConstraints(w=411.4, h=683.4) I/flutter ( 6559): ╎ │ size: Size(411.4, 683.4) I/flutter ( 6559): ╎ │ alignment: Alignment.center I/flutter ( 6559): ╎ │ widthFactor: expand I/flutter ( 6559): ╎ │ heightFactor: expand I/flutter ( 6559): ╎ │ I/flutter ( 6559): ╎ └─child: RenderConstrainedBox relayoutBoundary=up1 I/flutter ( 6559): ╎ │ creator: ConstrainedBox ← MaterialButton ← FlatButton ← Center ← I/flutter ( 6559): ╎ │ DefaultTextStyle ← AnimatedDefaultTextStyle ← I/flutter ( 6559): ╎ │ _InkFeature-[GlobalKey ink renderer] ← I/flutter ( 6559): ╎ │ NotificationListener ← DecoratedBox I/flutter ( 6559): ╎ │ ← Container ← DecoratedBox ← Container ← ⋯ I/flutter ( 6559): ╎ │ parentData: offset=Offset(156.7, 323.7) I/flutter ( 6559): ╎ │ constraints: BoxConstraints(0.0 I/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0 I/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0 I/flutter ( 6559): ╎ │ constraints: BoxConstraints(88.0这是根RenderObject对象的toStringDeep函数的输出。 当调试布局问题时,关键要看的是size和constraints字段。约束沿着树向下传递,尺寸向上传递。 例如,在上面的转储中,您可以看到窗口大小,Size(411.4, 683.4),它用于强制RenderPositionedBox下的所有渲染框到屏幕的大小, 约束条件为 BoxConstraints(w=411.4, h=683.4)。从RenderPositionedBox的转储中看到是由Center widget创建的(如creator字段所描述的), 设置其孩子的约束为:BoxConstraints(0.0FlatButton定义的一部分,它在其内容上设置最小宽度为88像素,并且设置高度为36.0像素(这是Material Design设计规范中FlatButton类的尺寸标准)。 最内部RenderPositionedBox再次松开约束,这次是将按钮中的文本居中。 在RenderParagraph中基于它的内容来决定其大小。 如果您现在按照size链继续往下查看,您会看到文本的大小是如何影响其按钮的框的宽度的,它们都是根据孩子的尺寸自行调整大小。 另一种需要注意的是每个盒子描述的”relayoutSubtreeRoot”部分,它告诉你有多少祖先以某种方式依赖于这个元素的大小。 因此,RenderParagraph有一个relayoutSubtreeRoot=up8,这意味着当它RenderParagraph被标及为”dirty”时,它的八个祖先也必须被标记为”dirty”,因为它们可能受到新尺寸的影响。 如果您编写自己的渲染对象,则可以通过覆盖debugFillProperties()将信息添加到转储。 将DiagnosticsProperty对象作为方法的参数,并调用父类方法。 层 如果您尝试调试合成问题,则可以使用debugDumpLayerTree()。对于上面的例子,它会输出: I/flutter : TransformLayer I/flutter : │ creator: [root] I/flutter : │ offset: Offset(0.0, 0.0) I/flutter : │ transform: I/flutter : │ [0] 3.5,0.0,0.0,0.0 I/flutter : │ [1] 0.0,3.5,0.0,0.0 I/flutter : │ [2] 0.0,0.0,1.0,0.0 I/flutter : │ [3] 0.0,0.0,0.0,1.0 I/flutter : │ I/flutter : ├─child 1: OffsetLayer I/flutter : │ │ creator: RepaintBoundary ← _FocusScope ← Semantics ← Focus-[GlobalObjectKey MaterialPageRoute(560156430)] ← _ModalScope-[GlobalKey 328026813] ← _OverlayEntry-[GlobalKey 388965355] ← Stack ← Overlay-[GlobalKey 625702218] ← Navigator-[GlobalObjectKey _MaterialAppState(859106034)] ← Title ← ⋯ I/flutter : │ │ offset: Offset(0.0, 0.0) I/flutter : │ │ I/flutter : │ └─child 1: PictureLayer I/flutter : │ I/flutter : └─child 2: PictureLayer 这是根Layer的toStringDeep输出的。 根部的变换是应用设备像素比的变换; 在这种情况下,每个逻辑像素代表3.5个设备像素。 RepaintBoundary widget在渲染树的层中创建了一个RenderRepaintBoundary。这用于减少需要重绘的需求量。 语义 您还可以调用debugDumpSemanticsTree()获取语义树(呈现给系统可访问性API的树)的转储。 要使用此功能,必须首先启用辅助功能,例如启用系统辅助工具或SemanticsDebugger (下面讨论)。 对于上面的例子,它会输出: I/flutter : SemanticsNode(0; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4)) I/flutter : ├SemanticsNode(1; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4)) I/flutter : │ └SemanticsNode(2; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4); canBeTapped) I/flutter : └SemanticsNode(3; Rect.fromLTRB(0.0, 0.0, 411.4, 683.4)) I/flutter : └SemanticsNode(4; Rect.fromLTRB(0.0, 0.0, 82.0, 36.0); canBeTapped; \"Dump App\") 调度 要找出相对于帧的开始/结束事件发生的位置,可以切换debugPrintBeginFrameBanner和debugPrintEndFrameBanner布尔值以将帧的开始和结束打印到控制台。 例如: I/flutter : ▄▄▄▄▄▄▄▄ Frame 12 30s 437.086ms ▄▄▄▄▄▄▄▄ I/flutter : Debug print: Am I performing this work more than once per frame? I/flutter : Debug print: Am I performing this work more than once per frame? I/flutter : ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ debugPrintScheduleFrameStacks还可以用来打印导致当前帧被调度的调用堆栈。 可视化调试 您也可以通过设置debugPaintSizeEnabled为true以可视方式调试布局问题。 这是来自rendering库的布尔值。它可以在任何时候启用,并在为true时影响绘制。 设置它的最简单方法是在void main()的顶部设置。 当它被启用时,所有的盒子都会得到一个明亮的深青色边框,padding(来自widget如Padding)显示为浅蓝色,子widget周围有一个深蓝色框, 对齐方式(来自widget如Center和Align)显示为黄色箭头. 空白(如没有任何子节点的Container)以灰色显示。 debugPaintBaselinesEnabled做了类似的事情,但对于具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。 debugPaintPointersEnabled标志打开一个特殊模式,任何正在点击的对象都会以深青色突出显示。 这可以帮助您确定某个对象是否以某种不正确的方式进行hit测试(Flutter检测点击的位置是否有能响应用户操作的widget),例如,如果它实际上超出了其父项的范围,首先不会考虑通过hit测试。 如果您尝试调试合成图层,例如以确定是否以及在何处添加RepaintBoundary widget,则可以使用debugPaintLayerBordersEnabled 标志, 该标志用橙色或轮廓线标出每个层的边界,或者使用debugRepaintRainbowEnabled标志, 只要他们重绘时,这会使该层被一组旋转色所覆盖。 所有这些标志只能在调试模式下工作。通常,Flutter框架中以“debug...” 开头的任何内容都只能在调试模式下工作。 调试动画 调试动画最简单的方法是减慢它们的速度。为此,请将timeDilation变量(在scheduler库中)设置为大于1.0的数字,例如50.0。 最好在应用程序启动时只设置一次。如果您在运行中更改它,尤其是在动画运行时将其值减小,则框架的观察时可能会倒退,这可能会导致断言并且通常会干扰您的工作。 调试性能问题 要了解您的应用程序导致重新布局或重新绘制的原因,您可以分别设置debugPrintMarkNeedsLayoutStacks和 debugPrintMarkNeedsPaintStacks标志。 每当渲染盒被要求重新布局和重新绘制时,这些都会将堆栈跟踪记录到控制台。如果这种方法对您有用,您可以使用services库中的debugPrintStack()方法按需打印堆栈痕迹。 衡量应用启动时间 要收集有关Flutter应用程序启动所需时间的详细信息,可以在运行flutter run时使用trace-startup和profile选项。 $ flutter run --trace-startup --profile 跟踪输出保存为start_up_info.json,在Flutter工程目录在build目录下。输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间: 进入Flutter引擎时. 展示应用第一帧时. 初始化Flutter框架时. 完成Flutter框架初始化时. 如 : { \"engineEnterTimestampMicros\": 96025565262, \"timeToFirstFrameMicros\": 2171978, \"timeToFrameworkInitMicros\": 514585, \"timeAfterFrameworkInitMicros\": 1657393 } 跟踪Dart代码性能 要执行自定义性能跟踪和测量Dart任意代码段的wall/CPU时间(类似于在Android上使用systrace)。 使用dart:developer的Timeline工具来包含你想测试的代码块,例如: Timeline.startSync('interesting function'); // iWonderHowLongThisTakes(); Timeline.finishSync(); 然后打开你应用程序的Observatory timeline页面,在”Recorded Streams”中选择’Dart’复选框,并执行你想测量的功能。 刷新页面将在Chrome的跟踪工具中显示应用按时间顺序排列的timeline记录。 请确保运行flutter run时带有--profile标志,以确保运行时性能特征与您的最终产品差异最小。 Performance Overlay 要获得应用程序性能图,请将MaterialApp构造函数的showPerformanceOverlay参数设置为true。 WidgetsApp构造函数也有类似的参数(如果你没有使用MaterialApp或者WidgetsApp,你可以通过将你的应用程序包装在一个stack中, 并将一个widget放在通过new PerformanceOverlay.allEnabled()创建的stack上来获得相同的效果)。 这将显示两个图表。第一个是GPU线程花费的时间,最后一个是CPU线程花费的时间。 图中的白线以16ms增量沿纵轴显示; 如果图中超过这三条线之一,那么您的运行频率低于60Hz。横轴代表帧。 该图仅在应用程序绘制时更新,因此如果它处于空闲状态,该图将停止移动。 这应该始终在发布模式(release mode)下测试,因为在调试模式下,故意牺牲性能来换取有助于开发调试的功能,如assert声明,这些都是非常耗时的,因此结果将会产生误导。 Material grid 在开发实现Material Design的应用程序时, 将Material Design基线网格覆盖在应用程序上可能有助于验证对齐。 为此,MaterialApp 构造函数 有一个debugShowMaterialGrid参数, 当在调试模式设置为true时,它将覆盖这样一个网格。 您也可以直接使用GridPaperwidget将这种网格覆盖在非Material应用程序上 。 "},"chapter2/thread_model_and_error_report.html":{"url":"chapter2/thread_model_and_error_report.html","title":"Dart线程模型及异常捕获","keywords":"","body":"Dart线程模型及异常捕获 Dart单线程模型 在Java和OC中,如果程序发生异常且没有被捕获,那么程序将会终止,但在Dart或JavaScript中则不会,究其原因,这和它们的运行机制有关系,Java和OC都是多线程模型的编程语言,任意一个线程触发异常且没被捕获时,整个进程就退出了。但Dart和JavaScript不同,它们都是单线程模型,运行机制很相似(但有区别),下面我们通过Dart官方提供的一张图来看看dart大致运行原理: Dart 在单线程中是以消息循环机制来运行的,其中包含两个任务队列,一个是“微任务队列” microtask queue,另一个叫做“事件队列” event queue。从图中可以发现,微任务队列的执行优先级高于事件队列。 现在我们来介绍一下Dart线程运行过程,如上图中所示,入口函数 main() 执行完后,消息循环机制便启动了。首先会按照先进先出的顺序逐个执行微任务队列中的任务,当所有微任务队列执行完后便开始执行事件队列中的任务,事件任务执行完毕后再去执行微任务,如此循环往复,生生不息。 在Dart中,所有的外部事件任务都在事件队列中,如IO、计时器、点击、以及绘制事件等,而微任务通常来源于Dart内部,并且微任务非常少,之所以如此,是因为微任务队列优先级高,如果微任务太多,执行时间总和就越久,事件队列任务的延迟也就越久,对于GUI应用来说最直观的表现就是比较卡,所以必须得保证微任务队列不会太长。值得注意的是,我们可以通过Future.microtask(…)方法向微任务队列插入一个任务。 在事件循环中,当某个任务发生异常并没有被捕获时,程序并不会退出,而直接导致的结果是当前任务的后续代码就不会被执行了,也就是说一个任务中的异常是不会影响其它任务执行的。 Flutter异常捕获 Dart中可以通过try/catch/finally来捕获代码块异常,这个和其它编程语言类似,,如果读者不清楚,可以查看Dart语言文档,不在赘述,下面我们看看Flutter中的异常捕获。 Flutter框架异常捕获 Flutter 框架为我们在很多关键的方法进行了异常捕获。这里举一个例子,当我们布局发生越界或不合规范时,Flutter就会自动弹出一个错误界面,这是因为Flutter已经在执行build方法时添加了异常捕获,最终的源码如下: @override void performRebuild() { ... try { //执行build方法 built = build(); } catch (e, stack) { // 有异常时则弹出错误提示 built = ErrorWidget.builder(_debugReportException('building $this', e, stack)); } ... } 可以看到,在发生异常时,Flutter默认的处理方式是弹一个ErrorWidget,但如果我们想自己捕获异常并上报到报警平台的话应该怎么做?我们进入_debugReportException()方法看看: FlutterErrorDetails _debugReportException( String context, dynamic exception, StackTrace stack, { InformationCollector informationCollector }) { //构建错误详情对象 final FlutterErrorDetails details = FlutterErrorDetails( exception: exception, stack: stack, library: 'widgets library', context: context, informationCollector: informationCollector, ); //报告错误 FlutterError.reportError(details); return details; } 我们发现,错误是通过FlutterError.reportError方法上报的,继续跟踪: static void reportError(FlutterErrorDetails details) { ... if (onError != null) onError(details); //调用了onError回调 } 我们发现onError是FlutterError的一个静态属性,它有一个默认的处理方法 dumpErrorToConsole,到这里就清晰了,如果我们想自己上报异常,只需要提供一个自定义的错误处理回调即可,如: void main() { FlutterError.onError = (FlutterErrorDetails details) { reportError(details); }; ... } 这样我们就可以处理那些Flutter为我们捕获的异常了,接下来我们看看如何捕获其它异常。 其它异常捕获与日志收集 在Flutter中,还有一些Flutter没有为我们捕获的异常,如调用空对象方法异常、Future中的异常。在Dart中,异常分两类:同步异常和异步异常,同步异常可以通过try/catch捕获,而异步异常则比较麻烦,如下面的代码是捕获不了Future的异常的: try{ Future.delayed(Duration(seconds: 1)).then((e) => Future.error(\"xxx\")); }catch (e){ print(e) } Dart中有一个runZoned(...) 方法,可以给执行对象指定一个Zone。Zone表示一个代码执行的环境范围,为了方便理解,读者可以将Zone类比为一个代码执行沙箱,不同沙箱的之间是隔离的,沙箱可以捕获、拦截或修改一些代码行为,如Zone中可以捕获日志输出、Timer创建、微任务调度的行为,同时Zone也可以捕获所有未处理的异常。下面我们看看runZoned(...)方法定义: R runZoned(R body(), { Map zoneValues, ZoneSpecification zoneSpecification, Function onError, }) zoneValues: Zone 的私有数据,可以通过实例zone[key]获取,可以理解为每个“沙箱”的私有数据。 zoneSpecification:Zone的一些配置,可以自定义一些代码行为,比如拦截日志输出行为等,举个例子: 下面是拦截应用中所有调用print输出日志的行为。 main() { runZoned(() => runApp(MyApp()), zoneSpecification: new ZoneSpecification( print: (Zone self, ZoneDelegate parent, Zone zone, String line) { parent.print(zone, \"Intercepted: $line\"); }), ); } 这样一来,我们APP中所有调用print方法输出日志的行为都会被拦截,通过这种方式,我们也可以在应用中记录日志,等到应用触发未捕获的异常时,将异常信息和日志统一上报。ZoneSpecification还可以自定义一些其他行为,读者可以查看API文档。 onError:Zone中未捕获异常处理回调,如果开发者提供了onError回调或者通过ZoneSpecification.handleUncaughtError指定了错误处理回调,那么这个zone将会变成一个error-zone,该error-zone中发生未捕获异常(无论同步还是异步)时都会调用开发者提供的回调,如: runZoned(() { runApp(MyApp()); }, onError: (Object obj, StackTrace stack) { var details=makeDetails(obj,stack); reportError(details); }); 这样一来,结合上面的FlutterError.onError我们就可以捕获我们Flutter应用中全部错误了!需要注意的是,error-zone内部发生的错误是不会跨越当前error-zone的边界的,如果想跨越error-zone边界去捕获异常,可以通过共同的“源”zone来捕获,如: var future = new Future.value(499); runZoned(() { var future2 = future.then((_) { throw \"error in first error-zone\"; }); runZoned(() { var future3 = future2.catchError((e) { print(\"Never reached!\"); }); }, onError: (e) { print(\"unused error handler\"); }); }, onError: (e) { print(\"catches error of first error-zone.\"); }); 总结 我们最终的异常捕获和上报代码如下: void collectLog(String line){ ... //收集日志 } void reportErrorAndLog(FlutterErrorDetails details){ ... //上报错误和日志逻辑 } FlutterErrorDetails makeDetails(Object obj, StackTrace stack){ ...// 构建错误信息 } void main() { FlutterError.onError = (FlutterErrorDetails details) { reportErrorAndLog(details); }; runZoned( () => runApp(MyApp()), zoneSpecification: ZoneSpecification( print: (Zone self, ZoneDelegate parent, Zone zone, String line) { collectLog(line); //手机日志 }, ), onError: (Object obj, StackTrace stack) { var details = makeDetails(obj, stack); reportErrorAndLog(details); }, ); } "},"chapter3/":{"url":"chapter3/","title":"基础Widgets","keywords":"","body":"基础Widget 本节介绍一下Flutter中常用的一些基础widget,由于大多数widget的属性都比较多,我们在介绍widget时会着重介绍常用的属性,而不会像API文档一样所有属性都介绍,关于属性详细的信息请参考Flutter SDK文档。 本章目录 Widget简介 文本、字体样式 按钮 图片和Icon 单选框和复选框 输入框和表单 "},"chapter3/flutter_widget_intro.html":{"url":"chapter3/flutter_widget_intro.html","title":"Widget简介","keywords":"","body":"Widget简介 概念 在前面的介绍中,我们知道Flutter中几乎所有的对象都是一个Widget,与原生开发中“控件”不同的是,Flutter中的widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于应用主题数据传递的Theme等等。而原生开发中的控件通常只是指UI元素。在后面的内容中,我们在描述UI元素时,我们可能会用到“控件”、“组件”这样的概念,读者心里需要知道他们就是widget,只是在不同场景的不同表述而已。由于Flutter主要就是用于构建用户界面的,所以,在大多数时候,读者可以认为widget就是一个控件,不必纠结于概念。 Widget与Element 在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。实际上,Flutter中真正代表屏幕上显示元素的类是Element,也就是说Widget只是描述Element的一个配置,有关Element的详细介绍我们将在本书后面的高级部分深入介绍,读者现在只需要知道,Widget只是UI元素的一个配置数据,并且一个Widget可以对应多个Element,这是因为同一个Widget对象可以被添加到UI树的不同部分,而真正渲染时,UI树的每一个Widget节点都会对应一个Element对象。总结一下: Widget实际上就是Element的配置数据,Widget树实际上是一个配置树,而真正的UI渲染树是由Element构成;不过,由于Element是通过Widget生成,所以它们之间有对应关系,所以在大多数场景,我们可以宽泛地认为Widget树就是指UI控件树或UI渲染树。 一个Widget对象可以对应多个Element对象。这很好理解,根据同一份配置(Widget),可以创建多个实例(Element)。 读者应该将这两点牢记在心中。 主要接口 我们先来看一下Widget类的声明: @immutable abstract class Widget extends DiagnosticableTree { const Widget({ this.key }); final Key key; @protected Element createElement(); @override String toStringShort() { return key == null ? '$runtimeType' : '$runtimeType-$key'; } @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.defaultDiagnosticsTreeStyle = DiagnosticsTreeStyle.dense; } static bool canUpdate(Widget oldWidget, Widget newWidget) { return oldWidget.runtimeType == newWidget.runtimeType && oldWidget.key == newWidget.key; } } Widget类继承自DiagnosticableTree,DiagnosticableTree即“诊断树”,主要作用是提供调试信息。 Key: 这个key属性类似于React/Vue中的key,主要的作用是决定是否在下一次build时复用旧的widget,决定的条件在canUpdate()方法中。 createElement():正如前文所述“一个Widget可以对应多个Element”;Flutter Framework在构建UI树时,会先调用此方法生成对应节点的Element对象。此方法是Flutter Framework隐式调用的,在我们开发过程中基本不会调用到。 debugFillProperties(...) 复写父类的方法,主要是设置诊断树的一些特性。 canUpdate(...)是一个静态方法,它主要用于在Widget树重新build时复用旧的widget,其实具体来说,应该是:是否用新的Widget对象去更新旧UI树上所对应的Element对象的配置;通过其源码我们可以看到,只要newWidget与oldWidget的runtimeType和key同时相等时就会用newWidget去更新Element对象的配置,否则就会创建新的Element。 有关Key和Widget复用的细节将会在本书后面高级部分深入讨论,读者现在只需知道,为Widget显式添加key的话可能(但不一定)会使UI在重新构建时变的高效,读者目前可以先忽略此参数。本书后面的示例中,我们只在构建列表项UI时会显式指定Key。 另外Widget类本身是一个抽象类,其中最核心的就是定义了createElement()接口,在Flutter开发中,我们一般都不用直接继承Widget类来实现Widget,相反,我们通常会通过继承StatelessWidget和StatefulWidget来间接继承Widget类来实现,而StatelessWidget和StatefulWidget都是直接继承自Widget类,而这两个类也正是Flutter中非常重要的两个抽象类,它们引入了两种Widget模型,接下来我们将重点介绍一下这两个类。 Stateless Widget 在之前的章节中,我们已经简单介绍过StatelessWidget,StatelessWidget相对比较简单,它继承自Widget,重写了createElement()方法: @override StatelessElement createElement() => new StatelessElement(this); StatelessElement 间接继承自Element类,与StatelessWidget相对应(作为其配置数据)。 StatelessWidget用于不需要维护状态的场景,它通常在build方法中通过嵌套其它Widget来构建UI,在构建过程中会递归的构建其嵌套的Widget。我们看一个简单的例子: class Echo extends StatelessWidget { const Echo({ Key key, @required this.text, this.backgroundColor:Colors.grey, }):super(key:key); final String text; final Color backgroundColor; @override Widget build(BuildContext context) { return Center( child: Container( color: backgroundColor, child: Text(text), ), ); } } 上面的代码,实现了一个回显字符串的Echo widget。 按照惯例,widget的构造函数应使用命名参数,命名参数中的必要参数要添加@required标注,这样有利于静态代码分析器进行检查,另外,在继承widget时,第一个参数通常应该是Key,如果接受子widget的child参数,那么通常应该将它放在参数列表的最后。同样是按照惯例,widget的属性应被声明为final,防止被意外改变。 然后我们可以通过如下方式使用它: Widget build(BuildContext context) { return Echo(text: \"hello world\"); } Stateful Widget 和StatelessWidget一样,StatefulWidget也是继承自widget类,并重写了createElement()方法,不同的是返回的Element 对象并不相同;另外StatefulWidget类中添加了一个新的接口createState(),下面我们看看StatefulWidget的类定义: abstract class StatefulWidget extends Widget { const StatefulWidget({ Key key }) : super(key: key); @override StatefulElement createElement() => new StatefulElement(this); @protected State createState(); } StatefulElement 间接继承自Element类,与StatefulWidget相对应(作为其配置数据)。StatefulElement中可能会多次调用createState()来创建状态(State)对象。 createState() 用于创建和Stateful widget相关的状态,它在Stateful widget的生命周期中可能会被多次调用。例如,当一个Stateful widget同时插入到widget树的多个位置时,Flutter framework就会调用该方法为每一个位置生成一个独立的State实例,其实,本质上就是一个StatefulElement对应一个State实例。 在本书中经常会出现“树“的概念,在不同的场景可能指不同的意思,在说“widget树”时它可以指widget结构树,但由于widget与Element有对应关系(一可能对多),在有些场景(Flutter的SDK文档中)也代指“UI树”的意思。而在stateful widget中,State对象也和StatefulElement具有对应关系(一对一),所以在Flutter的SDK文档中,可以经常看到“从树中移除State对象”或“插入State对象到树中”这样的描述。其实,无论哪种描述,其意思都是在描述“一棵构成用户界面的节点元素的树”,读者不必纠结于这些概念,还是那句话“得其神,忘其形”,因此,本书中出现的各种“树”,如果没有特别说明,读者都可抽象的认为它是“一棵构成用户界面的节点元素的树”。 State 一个StatefulWidget类会对应一个State类,State表示与其对应的StatefulWidget要维护的状态,State中的保存的状态信息可以: 在widget build时可以被同步读取。 在widget生命周期中可以被改变,当State被改变时,可以手动调用其setState()方法通知Flutter framework状态发生改变,Flutter framework在收到消息后,会重新调用其build方法重新构建widget树,从而达到更新UI的目的。 State中有两个常用属性: widget,它表示与该State实例关联的widget实例,由Flutter framework动态设置。注意,这种关联并非永久的,因为在应用声明周期中,UI树上的某一个节点的widget实例在重新构建时可能会变化,但State实例只会在第一次插入到树中时被创建,当在重新构建时,如果widget被修改了,Flutter framework会动态设置State.widget为新的widget实例。 context,它是BuildContext类的一个实例,表示构建widget的上下文,它是操作widget在树中位置的一个句柄,它包含了一些查找、遍历当前Widget树的一些方法。每一个widget都有一个自己的context对象。 对于BuildContext读者现在可以先作了解,随着本书后面内容的展开,也会用到Context的一些方法,读者可以通过具体的场景对其有个直观的认识。关于BuildContext更多的内容,我们也将在后面高级部分再深入介绍。 State生命周期 理解State的生命周期对flutter开发非常重要,为了加深读者印象,本节我们通过一个实例来演示一下State的生命周期。在接下来的示例中,我们实现一个计数器widget,点击它可以使计数器加1,由于要保存计数器的数值状态,所以我们应继承StatefulWidget,代码如下: class CounterWidget extends StatefulWidget { const CounterWidget({ Key key, this.initValue: 0 }); final int initValue; @override _CounterWidgetState createState() => new _CounterWidgetState(); } CounterWidget接收一个initValue整形参数,它表示计数器的初始值。下面我们看一下State的代码: class _CounterWidgetState extends State { int _counter; @override void initState() { super.initState(); //初始化状态 _counter=widget.initValue; print(\"initState\"); } @override Widget build(BuildContext context) { print(\"build\"); return Center( child: FlatButton( child: Text('$_counter'), //点击后计数器自增 onPressed:()=>setState(()=> ++_counter) , ), ); } @override void didUpdateWidget(CounterWidget oldWidget) { super.didUpdateWidget(oldWidget); print(\"didUpdateWidget\"); } @override void deactivate() { super.deactivate(); print(\"deactive\"); } @override void dispose() { super.dispose(); print(\"dispose\"); } @override void reassemble() { super.reassemble(); print(\"reassemble\"); } @override void didChangeDependencies() { super.didChangeDependencies(); print(\"didChangeDependencies\"); } } 接下来,我们创建一个新路由,在新路由中,我们只显示一个CounterWidget: Widget build(BuildContext context) { return CounterWidget(); } 我们运行应用并打开该路由页面,在新路由页打开后,屏幕中央就会出现一个数字0,然后控制台日志输出: I/flutter ( 5436): initState I/flutter ( 5436): didChangeDependencies I/flutter ( 5436): build 可以看到,在StatefulWidget插入到Widget树时首先initState方法会被调用。 然后我们点击⚡️按钮热重载,控制台输出日志如下: I/flutter ( 5436): reassemble I/flutter ( 5436): didUpdateWidget I/flutter ( 5436): build 可以看到此时initState 和didChangeDependencies都没有被调用,而此时didUpdateWidget被调用。 接下来,我们在widget树中移除CounterWidget,将路由build方法改为: Widget build(BuildContext context) { //移除计数器 //return CounterWidget(); //随便返回一个Text() return Text(\"xxx\"); } 然后热重载,日志如下: I/flutter ( 5436): reassemble I/flutter ( 5436): deactive I/flutter ( 5436): dispose 我们可以看到,在CounterWidget从widget树中移除时,deactive和dispose会依次被调用。 下面我们来看看各个回调函数: initState:当Widget第一次插入到Widget树时会被调用,对于每一个State对象,Flutter framework只会调用一次该回调,所以,通常在该回调中做一些一次性的操作,如状态初始化、订阅子树的事件通知等。不能在该回调中调用BuildContext.inheritFromWidgetOfExactType(该方法用于在Widget树上获取离当前widget最近的一个父级InheritFromWidget,关于InheritedWidget我们将在后面章节介绍),原因是在初始化完成后,Widget树中的InheritFromWidget也可能会发生变化,所以正确的做法应该在在build()方法或didChangeDependencies()中调用它。 didChangeDependencies():当State对象的依赖发生变化时会被调用;例如:在之前build() 中包含了一个InheritedWidget,然后在之后的build() 中InheritedWidget发生了变化,那么此时InheritedWidget的子widget的didChangeDependencies()回调都会被调用。典型的场景是当系统语言Locale或应用主题改变时,Flutter framework会通知widget调用此回调。 build():此回调读者现在应该已经相当熟悉了,它主要是用于构建Widget子树的,会在如下场景被调用: 在调用initState()之后。 在调用didUpdateWidget()之后。 在调用setState()之后。 在调用didChangeDependencies()之后。 在State对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其它位置之后。 reassemble():此回调是专门为了开发调试而提供的,在热重载(hot reload)时会被调用,此回调在Release模式下永远不会被调用。 didUpdateWidget():在widget重新构建时,Flutter framework会调用Widget.canUpdate来检测Widget树中同一位置的新旧节点,然后决定是否需要更新,如果Widget.canUpdate返回true则会调用此回调。正如之前所述,Widget.canUpdate会在新旧widget的key和runtimeType同时相等时会返回true,也就是说在在新旧widget的key和runtimeType同时相等时didUpdateWidget()就会被调用。 deactivate():当State对象从树中被移除时,会调用此回调。在一些场景下,Flutter framework会将State对象重新插到树中,如包含此State对象的子树在树的一个位置移动到另一个位置时(可以通过GlobalKey来实现)。如果移除后没有重新插入到树中则紧接着会调用dispose()方法。 dispose():当State对象从树中被永久移除时调用;通常在此回调中释放资源。 todo: 这里缺一张生命周期图 注意:在继承StatefulWidget重写其方法时,对于包含@mustCallSuper标注的父类方法,都要在子类方法中先调用父类方法。 状态管理 响应式的编程框架中都会有一个永恒的主题——“状态管理”,无论是在React/Vue(两者都是支持响应式编程的web开发框架)还是Flutter,他们讨论的问题和解决的思想都是一致的。所以,如果你对React/Vue的状态管理有了解,可以跳过本节。言归正传,我们想一个问题,stateful widget的状态应该被谁管理?widget本身?父widget?都会?还是另一个对象?答案是取决于实际情况!以下是管理状态的最常见的方法: Widget管理自己的state。 父widget管理子widget状态。 混合管理(父widget和子widget都管理状态)。 如何决定使用哪种管理方法?以下原则可以帮助你决定: 如果状态是用户数据,如复选框的选中状态、滑块的位置,则该状态最好由父widget管理。 如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由widget本身来管理。 如果某一个状态是不同widget共享的则最好由它们共同的父widget管理。 在widget内部管理状态封装性会好一些,而在父widget中管理会比较灵活。有些时候,如果不确定到底该怎么管理状态,那么推荐的首选是在父widget中管理(灵活会显得更重要一些)。 接下来,我们将通过创建三个简单示例TapboxA、TapboxB和TapboxC来说明管理状态的不同方式。 这些例子功能是相似的 ——创建一个盒子,当点击它时,盒子背景会在绿色与灰色之间切换。状态 _active确定颜色:绿色为true ,灰色为false。 下面的例子将使用GestureDetector来识别点击事件,关于该GestureDetector的详细内容我们将在后面“事件处理”一章中介绍。 Widget管理自身状态 _TapboxAState 类: 管理TapboxA的状态。 定义_active:确定盒子的当前颜色的布尔值。 定义_handleTap()函数,该函数在点击该盒子时更新_active,并调用setState()更新UI。 实现widget的所有交互式行为。 // TapboxA 管理自身状态. //------------------------- TapboxA ---------------------------------- class TapboxA extends StatefulWidget { TapboxA({Key key}) : super(key: key); @override _TapboxAState createState() => new _TapboxAState(); } class _TapboxAState extends State { bool _active = false; void _handleTap() { setState(() { _active = !_active; }); } Widget build(BuildContext context) { return new GestureDetector( onTap: _handleTap, child: new Container( child: new Center( child: new Text( _active ? 'Active' : 'Inactive', style: new TextStyle(fontSize: 32.0, color: Colors.white), ), ), width: 200.0, height: 200.0, decoration: new BoxDecoration( color: _active ? Colors.lightGreen[700] : Colors.grey[600], ), ), ); } } 父widget管理子widget的state 对于父widget来说,管理状态并告诉其子widget何时更新通常是比较好的方式。 例如,IconButton是一个图片按钮,但它是一个无状态的widget,因为我们认为父widget需要知道该按钮是否被点击来采取相应的处理。 在以下示例中,TapboxB通过回调将其状态导出到其父项。由于TapboxB不管理任何状态,因此它的父类为StatelessWidget。 ParentWidgetState 类: 为TapboxB 管理_active状态. 实现_handleTapboxChanged(),当盒子被点击时调用的方法. 当状态改变时,调用setState()更新UI. TapboxB 类: 继承StatelessWidget类,因为所有状态都由其父widget处理。 当检测到点击时,它会通知父widget。 // ParentWidget 为 TapboxB 管理状态. //------------------------ ParentWidget -------------------------------- class ParentWidget extends StatefulWidget { @override _ParentWidgetState createState() => new _ParentWidgetState(); } class _ParentWidgetState extends State { bool _active = false; void _handleTapboxChanged(bool newValue) { setState(() { _active = newValue; }); } @override Widget build(BuildContext context) { return new Container( child: new TapboxB( active: _active, onChanged: _handleTapboxChanged, ), ); } } //------------------------- TapboxB ---------------------------------- class TapboxB extends StatelessWidget { TapboxB({Key key, this.active: false, @required this.onChanged}) : super(key: key); final bool active; final ValueChanged onChanged; void _handleTap() { onChanged(!active); } Widget build(BuildContext context) { return new GestureDetector( onTap: _handleTap, child: new Container( child: new Center( child: new Text( active ? 'Active' : 'Inactive', style: new TextStyle(fontSize: 32.0, color: Colors.white), ), ), width: 200.0, height: 200.0, decoration: new BoxDecoration( color: active ? Colors.lightGreen[700] : Colors.grey[600], ), ), ); } } 混合管理 对于一些widget来说,混合管理的方式非常有用。在这种情况下,widget自身管理一些内部状态,而父widget管理一些其他外部状态。 在下面TapboxC示例中,按下时,盒子的周围会出现一个深绿色的边框。抬起时,边框消失;点击生效,盒子的颜色改变。 TapboxC将其_active状态导出到其父widget中,但在内部管理其_highlight状态。这个例子有两个状态对象_ParentWidgetState和_TapboxCState。 _ParentWidgetStateC 对象: 管理_active 状态。 实现 _handleTapboxChanged() ,当盒子被点击时调用。 当点击盒子并且_active状态改变时调用setState()更新UI。 _TapboxCState 对象: 管理_highlight state。 GestureDetector监听所有tap事件。当用户点下时,它添加高亮(深绿色边框);当用户释放时,会移除高亮。 当按下、抬起、或者取消点击时更新_highlight状态,调用setState()更新UI。 当点击时,将状态的改变传递给父widget. //---------------------------- ParentWidget ---------------------------- class ParentWidgetC extends StatefulWidget { @override _ParentWidgetCState createState() => new _ParentWidgetCState(); } class _ParentWidgetCState extends State { bool _active = false; void _handleTapboxChanged(bool newValue) { setState(() { _active = newValue; }); } @override Widget build(BuildContext context) { return new Container( child: new TapboxC( active: _active, onChanged: _handleTapboxChanged, ), ); } } //----------------------------- TapboxC ------------------------------ class TapboxC extends StatefulWidget { TapboxC({Key key, this.active: false, @required this.onChanged}) : super(key: key); final bool active; final ValueChanged onChanged; _TapboxCState createState() => new _TapboxCState(); } class _TapboxCState extends State { bool _highlight = false; void _handleTapDown(TapDownDetails details) { setState(() { _highlight = true; }); } void _handleTapUp(TapUpDetails details) { setState(() { _highlight = false; }); } void _handleTapCancel() { setState(() { _highlight = false; }); } void _handleTap() { widget.onChanged(!widget.active); } Widget build(BuildContext context) { // 在按下时添加绿色边框,当抬起时,取消高亮 return new GestureDetector( onTapDown: _handleTapDown, // 处理按下事件 onTapUp: _handleTapUp, // 处理抬起事件 onTap: _handleTap, onTapCancel: _handleTapCancel, child: new Container( child: new Center( child: new Text(widget.active ? 'Active' : 'Inactive', style: new TextStyle(fontSize: 32.0, color: Colors.white)), ), width: 200.0, height: 200.0, decoration: new BoxDecoration( color: widget.active ? Colors.lightGreen[700] : Colors.grey[600], border: _highlight ? new Border.all( color: Colors.teal[700], width: 10.0, ) : null, ), ), ); } } 另一种实现可能会将高亮状态导出到父widget,同时保持_active状态为内部,但如果你要将该TapBox给其它人使用,可能没有什么意义。 开发人员只会关心该框是否处于Active状态,而不在乎高亮显示是如何管理的,所以应该让TapBox内部处理这些细节。 全局状态管理 当应用中包括一些跨widget(甚至跨路由)的状态需要同步时,上面介绍的方法很难胜任了。比如,我们有一个设置页,里面可以设置应用语言,但是我们为了让设置实时生效,我们期望在语言状态发生改变时,我们的APP Widget能够重新build一下,但我们的APP Widget和设置页并不在一起。正确的做法是通过一个全局状态管理器来处理这种“相距较远”的widget之间的通信。目前主要有两种办法: 实现一个全局的事件总线,将语言状态改变对应为一个事件,然后在APP Widget所在的父widgetinitState 方法中订阅语言改变的事件,当用户在设置页切换语言后,我们触发语言改变事件,然后APP Widget那边就会收到通知,然后重新build一下即可。 使用redux这样的全局状态包,读者可以在pub上查看其详细信息。 本书后面事件处理一章中会实现一个全局事件总线。 Flutter widget库介绍 Flutter提供了一套丰富、强大的基础widget,在基础widget库之上Flutter又提供了一套Material风格(Android默认的视觉风格)和一套Cupertino风格(iOS视觉风格)的widget库。要使用基础widget库,需要先导入: import 'package:flutter/widgets.dart'; 下面我们介绍一下常用的widget。 基础widget Text:该 widget 可让您创建一个带格式的文本。 Row、 Column: 这些具有弹性空间的布局类Widget可让您在水平(Row)和垂直(Column)方向上创建灵活的布局。其设计是基于web开发中的Flexbox布局模型。 Stack: 取代线性布局 (译者语:和Android中的FrameLayout相似),Stack允许子 widget 堆叠, 你可以使用 Positioned 来定位他们相对于Stack的上下左右四条边的位置。Stacks是基于Web开发中的绝对定位(absolute positioning )布局模型设计的。 Container: Container 可让您创建矩形视觉元素。container 可以装饰一个BoxDecoration, 如 background、一个边框、或者一个阴影。 Container 也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外, Container可以使用矩阵在三维空间中对其进行变换。 Material widget Flutter提供了一套丰富的Material widget,可帮助您构建遵循Material Design的应用程序。Material应用程序以MaterialApp widget开始, 该widget在应用程序的根部创建了一些有用的widget,比如一个Theme,它配置了应用的主题。 是否使用MaterialApp完全是可选的,但是使用它是一个很好的做法。在之前的示例中,我们已经使用过多个Material widget了,如:Scaffold、AppBar、FlatButton等。要使用Material widget,需要先引入它: import 'package:flutter/material.dart'; Cupertino widget Flutter也提供了一套丰富的Cupertino风格的widget,尽管目前还没有Material widget那么丰富,但也在不断的完善中。值得一提的是在Material widget库中,有一些widget可以根据实际运行平台来切换表现风格,比如MaterialPageRoute,在路由切换时,如果是Android系统,它将会使用Android系统默认的页面切换动画(从底向上),如果是iOS系统时,它会使用iOS系统默认的页面切换动画(从右向左)。由于在前面的示例中还没有Cupertino widget的示例,我们实现一个简单的Cupertino页面: //导入cupertino widget库 import 'package:flutter/cupertino.dart'; class CupertinoTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text(\"Cupertino Demo\"), ), child: Center( child: CupertinoButton( color: CupertinoColors.activeBlue, child: Text(\"Press\"), onPressed: () {} ), ), ); } } 下面是在iPhoneX上页面效果截图: 总结 Flutter提供了丰富的widget,在实际的开发中你可以随意使用它们,不要怕引入过多widget库会让你的应用安装包变大,这不是web开发,dart在编译时只会编译你使用了的代码。由于Material和Cupertino都是在基础widget库之上的,所以如果你的应用中引入了这两者之一,则不需要再引入flutter/widgets.dart了,因为它们内部已经引入过了。 "},"chapter3/text.html":{"url":"chapter3/text.html","title":"文本、字体样式","keywords":"","body":"文本及样式 Text Text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下: Text(\"Hello world\", textAlign: TextAlign.center, ); Text(\"Hello world! I'm Jack. \"*4, maxLines: 1, overflow: TextOverflow.ellipsis, ); Text(\"Hello world\", textScaleFactor: 1.5, ); 运行效果如下: textAlign:文本的对齐方式;可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,只有Text宽度大于文本内容长度时指定此属性才有意义。下面我们指定一个较长的字符串: Text(\"Hello world \"*6, //字符串重复六次 textAlign: TextAlign.center, ); 运行效果如下: ​ 字符串内容超过一行,Text宽度等于屏幕宽度,第二行文本便会居中显示。 maxLines、overflow:指定文本显示的最大行数,默认情况下,文本是自动折行的,如果指定此参数,则文本最多不会超过指定的行。如果有多余的文本,可以通过overflow来指定截断方式,默认是直接截断,本例中指定的截断方式TextOverflow.ellipsis,它会将多余文本截断后以省略符“...”表示;TextOverflow的其它截断方式请参考SDK文档。 textScaleFactor:代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。 TextStyle TextStyle用于指定文本显示的样式如颜色、字体、粗细、背景等。我们看一个示例: Text(\"Hello world\", style: TextStyle( color: Colors.blue, fontSize: 18.0, height: 1.2, fontFamily: \"Courier\", background: new Paint()..color=Colors.yellow, decoration:TextDecoration.underline, decorationStyle: TextDecorationStyle.dashed ), ); 效果如下: 此示例只展示了TextStyle的部分属性,它还有一些其它属性,属性名基本都是自解释的,在此不再赘述,读者可以查阅SDK文档。值得注意的是: height:该属性用于指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height。 fontFamily :由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下。 fontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两给主要区别: fontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。 textScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本。 TextSpan 在上面的例子中,Text的所有文本内容只能按同一种样式,如果我们需要对一个Text内容的不同部分按照不同的样式显示,这时就可以使用TextSpan,它代表文本的一个“片段”。我们看看TextSpan的定义: const TextSpan({ TextStyle style, Sting text, List children, GestureRecognizer recognizer, }); 其中style 和 text属性代表该文本片段的样式和内容。 children是一个TextSpan的数组,也就是说TextSpan可以包括其他TextSpan。而recognizer用于对该文本片段上用于手势进行识别处理。下面我们看一个效果,然后用TextSpan实现它。 源码: Text.rich(TextSpan( children: [ TextSpan( text: \"Home: \" ), TextSpan( text: \"https://flutterchina.club\", style: TextStyle( color: Colors.blue ), recognizer: _tapRecognizer ), ] )) 上面代码中,我们通过TextSpan实现了一个基础文本片段和一个链接片段,然后通过Text.rich 方法将TextSpan 添加到Text中,之所以可以这样做,是因为Text其实就是RichText的一个包装,而RichText是可以显示多种样式(富文本)的widget。 _tapRecognizer,它是点击链接后的一个处理器(代码已省略),关于手势识别的更多内容我们将在后面单独介绍。 DefaultTextStyle 在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而DefaultTextStyle正是用于设置默认文本样式的。下面我们看一个例子: DefaultTextStyle( //1.设置文本默认样式 style: TextStyle( color:Colors.red, fontSize: 20.0, ), textAlign: TextAlign.start, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(\"hello world\"), Text(\"I am Jack\"), Text(\"I am Jack\", style: TextStyle( inherit: false, //2.不继承默认样式 color: Colors.grey ), ), ], ), ); 上面代码中,我们首先设置了一个默认的文本样式,即字体为20像素(逻辑像素)、颜色为红色。然后通过DefaultTextStyle 设置给了子树Column节点处,这样一来Column的所有子孙Text默认都会继承该样式,除非Text显示指定不继承样式,如代码中注释2。示例运行效果如下: 使用字体 可以在Flutter应用程序中使用不同的字体。例如,我们可能会使用设计人员创建的自定义字体,或者其它第三方的字体,如Google Fonts中的字体。本节将介绍如何为Flutter应用配置字体,并在渲染文本时使用它们。 在Flutter中使用字体分两步完成。首先在pubspec.yaml中声明它们,以确保它们会打包到应用程序中。然后通过TextStyle属性使用字体。 在asset中声明 要将字体打文件打包到应用中,和使用其它资源一样,要先在pubspec.yaml中声明它。然后将字体文件复制到在pubspec.yaml中指定的位置。如: flutter: fonts: - family: Raleway fonts: - asset: assets/fonts/Raleway-Regular.ttf - asset: assets/fonts/Raleway-Medium.ttf weight: 500 - asset: assets/fonts/Raleway-SemiBold.ttf weight: 600 - family: AbrilFatface fonts: - asset: assets/fonts/abrilfatface/AbrilFatface-Regular.ttf 使用字体 // 声明文本样式 const textStyle = const TextStyle( fontFamily: 'Raleway', ); // 使用文本样式 var buttonText = const Text( \"Use the font for this text\", style: textStyle, ); Package中的字体 要使用Package中定义的字体,必须提供package参数。例如,假设上面的字体声明位于my_package包中。然后创建TextStyle的过程如下: const textStyle = const TextStyle( fontFamily: 'Raleway', package: 'my_package', //指定包名 ); 如果在package包内部使用它自己定义的字体,也应该在创建文本样式时指定package参数,如上例所示。 一个包也可以只提供字体文件而不需要在pubspec.yaml中声明。 这些文件应该存放在包的lib/文件夹中。字体文件不会自动绑定到应用程序中,应用程序可以在声明字体时有选择地使用这些字体。假设一个名为my_package的包中有一个字体文件: lib/fonts/Raleway-Medium.ttf 然后,应用程序可以声明一个字体,如下面的示例所示: flutter: fonts: - family: Raleway fonts: - asset: assets/fonts/Raleway-Regular.ttf - asset: packages/my_package/fonts/Raleway-Medium.ttf weight: 500 lib/是隐含的,所以它不应该包含在asset路径中。 在这种情况下,由于应用程序本地定义了字体,所以在创建TextStyle时可以不指定package参数: const textStyle = const TextStyle( fontFamily: 'Raleway', ); "},"chapter3/buttons.html":{"url":"chapter3/buttons.html","title":"按钮","keywords":"","body":"按钮 Material widget库中提供了多种按钮Widget如RaisedButton、FlatButton、OutlineButton等,它们都是直接或间接对RawMaterialButton的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面统一介绍这些属性。另外,所有Material 库中的按钮都有如下相同点: 按下时都会有“水波动画”。 有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。 RaisedButton RaisedButton 即\"漂浮\"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大,如: 使用RaisedButton非常简单,如: RaisedButton( child: Text(\"normal\"), onPressed: () => {}, ); FlatButton FlatButton即扁平按钮,默认背景透明并不带阴影。按下后,会有背景色: 使用FlatButton也很简单,代码如下: FlatButton( child: Text(\"normal\"), onPressed: () => {}, ) OutlineButton OutlineButton默认有一个边框,不带阴影且背景透明。按下后,边框颜色会变亮、同时出现背景和阴影(较弱): 使用OutlineButton也很简单,代码如下: OutlineButton( child: Text(\"normal\"), onPressed: () => {}, ) IconButton IconButton是一个可点击的Icon,不包括文字,默认没有背景,点击后会出现背景: 使用代码如下: IconButton( icon: Icon(Icons.thumb_up), onPressed: () => {}, ) 自定义按钮外观 按钮外观可以通过其属性来定义,不同按钮属性大同小异,我们以FlatButton为例,介绍一下常见的按钮属性,详细的信息可以查看API文档。 const FlatButton({ ... @required this.onPressed, //按钮点击回调 this.textColor, //按钮文字颜色 this.disabledTextColor, //按钮禁用时的文字颜色 this.color, //按钮背景颜色 this.disabledColor,//按钮禁用时的背景颜色 this.highlightColor, //按钮按下时的背景颜色 this.splashColor, //点击时,水波动画中水波的颜色 this.colorBrightness,//按钮主题,默认是浅色主题 this.padding, //按钮的填充 this.shape, //外形 @required this.child, //按钮的内容 }) 其中大多数属性名都是自解释的,我们不赘述。下面我们通过一个示例来看看如何自定义按钮。 示例 定义一个背景蓝色,两边圆角的按钮。效果如下: 代码如下: FlatButton( color: Colors.blue, highlightColor: Colors.blue[700], colorBrightness: Brightness.dark, splashColor: Colors.grey, child: Text(\"Submit\"), shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)), onPressed: () => {}, ) 很简单吧,在上面的代码中,我们主要通过shape来指定其外形为一个圆角矩形。因为按钮背景是蓝色(深色),我们需要指定按钮主题colorBrightness为Brightness.dark,这是为了保证按钮文字颜色为浅色。 细心的读者可能会发现这个按钮没有阴影(点击之后也没有),这样会显得没有质感。其实这也很容易,将上面的FlatButton换成RaisedButton就行,其它代码不用改,换了之后我们看看效果: 是不是有质感了!之所以会这样,是因为RaisedButton默认有配置阴影: const RaisedButton({ ... this.elevation = 2.0, //正常状态下的阴影 this.highlightElevation = 8.0,//按下时的阴影 this.disabledElevation = 0.0,// 禁用时的阴影 ... } 值得注意的是,在Material widget库中,我们会在很多widget中见到elevation相关的属性,它们都是用来控制阴影的,这是因为阴影在Material设计风格中是一种很重要的表现形式,以后在介绍其它widget时,便不再赘述。 如果我们想实现一个背景渐变的圆角按钮,按钮有没有相应的属性呢?答案是否定的,但是,我们可以通过其它方式来实现,本文将在后面介绍Container时来介绍如何实现。 "},"chapter3/img_and_icon.html":{"url":"chapter3/img_and_icon.html","title":"图片和Icon","keywords":"","body":"图片及ICON 图片 Flutter中,我们可以通过Image来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。 ImageProvider ImageProvider 是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvider ,如AssetImage是实现了从Asset中加载图片的ImageProvider,而NetworkImage实现了从网络加载图片的ImageProvider。 Image Image widget有一个必选的image参数,它对应一个ImageProvider。下面我们分别演示一下如何从asset和网络加载图片。 从asset中加载图片 在工程根目录下创建一个images目录,并将图片avatar.png拷贝到该目录。 在pubspec.yml中的flutter部分添加如下内容: assets: - images/avatar.png 加载该图片 Image( image: AssetImage(\"images/avatar.png\"), width: 100.0 ); Image也提供了一个快捷的构造函数Image.asset用于从asset中加载、显示图片: Image.asset(\"images/avatar.png\", width: 100.0, ) 从网络加载图片 Image( image: NetworkImage( \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\"), width: 100.0, ) Image也提供了一个快捷的构造函数Image.network用于从网络加载、显示图片: Image.network( \"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4\", width: 100.0, ) 运行上面两个示例,图片加载成功后显示如下: 参数 Image在显示图片时定义了一系列参数,通过这些参数我们可以控制图片的显示外观、大小、混合效果等。我们看一下Image的主要参数: const Image({ ... this.width, //图片的宽 this.height, //图片高度 this.color, //图片的混合色值 this.colorBlendMode, //混合模式 this.fit,//缩放模式 this.alignment = Alignment.center, //对齐方式 this.repeat = ImageRepeat.noRepeat, //重复方式 ... }) width、height:用于设置图片的宽、高,当不指定宽高时,图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置width、height的其中一个,那么另一个属性默认会按比例缩放,但可以通过下面介绍的fit属性来指定适应规则。 fit:该属性用于在图片的显示空间和图片本身大小不同时指定图片的适应模式。适应模式是在BoxFit中定义,它是一个枚举类型,有如下值: fill:会拉伸填充满显示空间,图片本身长宽比会发生变化,图片会变形。 cover:会按图片的长宽比放大后居中填满显示空间,图片不会变形,超出显示空间部分会被剪裁。 contain:这是图片的默认适应规则,图片会在保证图片本身长宽比不变的情况下缩放以适应当前显示空间,图片不会变形。 fitWidth:图片的宽度会缩放到显示空间的宽度,高度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。 fitHeight:图片的高度会缩放到显示空间的高度,宽度会按比例缩放,然后居中显示,图片不会变形,超出显示空间部分会被剪裁。 none:图片没有适应策略,会在显示空间内显示图片,如果图片比显示空间大,则显示空间只会显示图片中间部分。 一图胜万言: color和 colorBlendMode:在图片绘制时可以对每一个像素进行颜色混合处理,color指定混合色,而colorBlendMode指定混合模式,下面是一个简单的示例: Image( image: AssetImage(\"images/avatar.png\"), width: 100.0, color: Colors.blue, colorBlendMode: BlendMode.difference, ); 运行效果如下(彩色): repeat:当图片本身大小小于显示空间时,指定图片的重复规则。简单示例如下: Image( image: AssetImage(\"images/avatar.png\"), width: 100.0, height: 200.0, repeat: ImageRepeat.repeatY , ) 运行后效果如下: ICON Flutter中,可以像web开发一样使用iconfont,iconfont即“字体图标”,它是将图标做成字体文件,然后通过指定不同的字符而显示不同的图片。 在字体文件中,每一个字符都对应一个位码,而每一个位码对应一个显示字形,不同的字体就是指字形不同,即字符对应的字形是不同的。而在iconfont中,只是将位码对应的字形做成了图标,所以不同的字符最终就会渲染成不同的图标。 在Flutter开发中,iconfont和图片相比有如下优势: 体积小:可以减小安装包大小。 矢量的:iconfont都是矢量图标,放大不会影响其清晰度。 可以应用文本样式:可以像文本一样改变字体图标的颜色、大小对齐等。 可以通过TextSpan和文本混用。 使用Material Design字体图标 Flutter默认包含了一套Material Design的字体图标,在pubspec.yaml文件中的配置如下 flutter: uses-material-design: true Material Design所有图标可以在其官网查看:https://material.io/tools/icons/ 我们看一个简单的例子: String icons = \"\"; // accessible:  or 0xE914 or E914 icons += \"\\uE914\"; // error:  or 0xE000 or E000 icons += \" \\uE000\"; // fingerprint:  or 0xE90D or E90D icons += \" \\uE90D\"; Text(icons, style: TextStyle( fontFamily: \"MaterialIcons\", fontSize: 24.0, color: Colors.green ), ); 运行效果如下: 通过这个示例可以看到,使用图标就像使用文本一样,但是这种方式需要我们提供每个图标的码点,这并对开发者不友好,所以,Flutter封装了一个IconData和Icon来专门显示字体图标,上面的例子也可以用如下方式实现: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.accessible,color: Colors.green,), Icon(Icons.error,color: Colors.green,), Icon(Icons.fingerprint,color: Colors.green,), ], ) Icons类中包含了所有Material Design图标的IconData静态变量定义。 使用自定义字体图标 我们也可以使用自定义字体图标。iconfont.cn上有很多字体图标素材,我们可以选择自己需要的图标打包下载后,会生成一些不同格式的字体文件,在Flutter中,我们使用ttf格式即可。 假设我们项目中需要使用一个书籍图标和微信图标,我们打包下载后导入: 导入字体图标文件;这一步和导入字体文件相同,假设我们的字体图标文件保存在项目根目录下,路径为\"fonts/iconfont.ttf\": fonts: - family: myIcon #指定一个字体名 fonts: - asset: fonts/iconfont.ttf 为了使用方便,我们定义一个MyIcons类,功能和Icons类一样:将字体文件中的所有图标都定义成静态变量: class MyIcons{ // book 图标 static const IconData book = const IconData( 0xe614, fontFamily: 'myIcon', matchTextDirection: true ); // 微信图标 static const IconData wechat = const IconData( 0xec7d, fontFamily: 'myIcon', matchTextDirection: true ); } 使用 Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(MyIcons.book,color: Colors.purple,), Icon(MyIcons.wechat,color: Colors.green,), ], ) 运行后效果如下: "},"chapter3/radio_and_checkbox.html":{"url":"chapter3/radio_and_checkbox.html","title":"单选框和复选框","keywords":"","body":"单选开关和复选框 Material widgets库中提供了Material风格的单选开关Switch和复选框Checkbox,它们都是继承自StatelessWidget,所以它们本身不会保存当前选择状态,所以一般都是在父widget中管理选中状态。当用户点击Switch或Checkbox时,它们会触发onChanged回调,我们可以在此回调中处理选中状态改变逻辑。我们看一个简单的示例: class SwitchAndCheckBoxTestRoute extends StatefulWidget { @override _SwitchAndCheckBoxTestRouteState createState() => new _SwitchAndCheckBoxTestRouteState(); } class _SwitchAndCheckBoxTestRouteState extends State { bool _switchSelected=true; //维护单选开关状态 bool _checkboxSelected=true;//维护复选框状态 @override Widget build(BuildContext context) { return Column( children: [ Switch( value: _switchSelected,//当前状态 onChanged:(value){ //重新构建页面 setState(() { _switchSelected=value; }); }, ), Checkbox( value: _checkboxSelected, activeColor: Colors.red, //选中时的颜色 onChanged:(value){ setState(() { _checkboxSelected=value; }); } , ) ], ); } } 上面代码中,由于要维护Switch和Checkbox状态,所以SwitchAndCheckBoxTestRoute继承自StatefulWidget 。在其build方法中分别构建了一个Switch和Checkbox,初始状态都为选中状态,当用户点击时,会将状态置反,然后回调用setState()通知framework重新构建UI。 属性及外观 Switch和Checkbox属性比较简单,读者可以查看API文档,它们都有一个activeColor属性,用于设置激活态的颜色。至于大小,到目前为止,Checkbox的大小是固定的,无法自定义,而Switch只能定义宽度,高度也是固定的。值得一提的是Checkbox有一个属性tristate ,表示是否为三态,其默认值为false ,这时Checkbox有两种状态即“选中”和“不选中”,对应的value值为true和false ;如果其值为true时,value的值会增加一个状态null,读者可以自行了解。 总结 通过Switch和Checkbox我们可以看到,虽然它们本身是与状态(是否选中)关联的,但它们却不是自己来维护状态,而是需要父widget来管理状态,然后当用户点击时,再通过事件通知给父widget,这样是合理的,因为Switch和Checkbox是否选中本就和用户数据关联,而这些用户数据也不可能是它们的私有状态。我们在自定义widget时也应该思考一下哪种状态的管理方式最为合理。 "},"chapter3/input_and_form.html":{"url":"chapter3/input_and_form.html","title":"输入框和表单","keywords":"","body":"输入框及表单 Material widget库中提供了丰富的输入框及表单Widget。下面我们分别介绍一下。 TextField TextField用于文本输入,它提供了很多属性,我们先简单介绍一下主要属性的作用,然后通过几个示例来演示一下关键属性的用法。 const TextField({ ... TextEditingController controller, FocusNode focusNode, InputDecoration decoration = const InputDecoration(), TextInputType keyboardType, TextInputAction textInputAction, TextStyle style, TextAlign textAlign = TextAlign.start, bool autofocus = false, bool obscureText = false, int maxLines = 1, int maxLength, bool maxLengthEnforced = true, ValueChanged onChanged, VoidCallback onEditingComplete, ValueChanged onSubmitted, List inputFormatters, bool enabled, this.cursorWidth = 2.0, this.cursorRadius, this.cursorColor, ... }) controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则TextField内部会自动创建一个。 focusNode:用于控制TextField是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。 InputDecoration:用于控制TextField的外观显示,如提示文本、背景颜色、边框等。 keyboardType:用于设置该输入框默认的键盘输入类型,取值如下: | TextInputType枚举值 | 含义 | | ------------------- | --------------------------------------------------- | | text | 文本输入键盘 | | multiline | 多行文本,需和maxLines配合使用(设为null或大于1) | | number | 数字;会弹出数字键盘 | | phone | 优化后的电话号码输入键盘;会弹出数字键盘并显示\"* #\" | | datetime | 优化后的日期输入键盘;Android上会显示“: -” | | emailAddress | 优化后的电子邮件地址;会显示“@ .” | | url | 优化后的url输入键盘; 会显示“/ .” | textInputAction:键盘动作按钮图标(即回车键位图标),它是一个枚举值,有多个可选值,全部的取值列表读者可以查看API文档,下面是当值为TextInputAction.search时,原生Android系统下键盘样式: style:正在编辑的文本样式。 textAlign: 输入框内编辑文本在水平方向的对齐方式。 autofocus: 是否自动获取焦点。 obscureText:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。 maxLines:输入框的最大行数,默认为1;如果为null,则无行数限制。 maxLength和maxLengthEnforced :maxLength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数。maxLengthEnforced决定当输入文本长度超过maxLength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。 onChange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。 onEditingComplete和onSubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onSubmitted回调是ValueChanged类型,它接收当前输入内容做为参数,而onEditingComplete不接收参数。 inputFormatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。 enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。 cursorWidth、cursorRadius和cursorColor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。 示例:登录输入框 布局 Column( children: [ TextField( autofocus: true, decoration: InputDecoration( labelText: \"用户名\", hintText: \"用户名或邮箱\", prefixIcon: Icon(Icons.person) ), ), TextField( decoration: InputDecoration( labelText: \"密码\", hintText: \"您的登录密码\", prefixIcon: Icon(Icons.lock) ), obscureText: true, ), ], ); 获取输入内容 获取输入内容有两种方式: 定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。 通过controller直接获取。 第一种方式比较简单,不在举例,我们来重点看一下第二种方式,我们以用户名输入框举例: 定义一个controller: //定义一个controller TextEditingController _unameController=new TextEditingController(); 然后设置输入框controller: TextField( autofocus: true, controller: _unameController, //设置controller ... ) 通过controller获取输入框内容 print(_unameController.text) 监听文本变化 监听文本变化也有两种方式: 设置onChange回调,如: TextField( autofocus: true, onChanged: (v) { print(\"onChange: $v\"); } ) 通过controller监听,如: @override void initState() { //监听输入改变 _unameController.addListener((){ print(_unameController.text); }); } 两种方式相比,onChanged是专门用于监听文本变化,而controller的功能却多一些,除了能监听文本变化外,它还可以设置默认值、选择文本,下面我们看一个例子: 创建一个controller: TextEditingController _selectionController = new TextEditingController(); 设置默认值,并从第三个字符开始选中后面的字符 _selectionController.text=\"hello world!\"; _selectionController.selection=TextSelection( baseOffset: 2, extentOffset: _selectionController.text.length ); 设置controller: TextField( controller: _selectionController, ) 运行效果如下: 控制焦点 焦点可以通过FocusNode和FocusScopeNode来控制,默认情况下,焦点由FocusScope来管理,它代表焦点控制范围,可以在这个范围内可以通过FocusScopeNode在输入框之间移动焦点、设置默认焦点等。我们可以通过FocusScope.of(context) 来获取widget树中默认的FocusScopeNode。下面看一个示例,在此示例中创建两个TextField,第一个自动获取焦点,然后创建两个按钮: 点击第一个按钮可以将焦点从第一个TextField挪到第二个TextField。 点击第二个按钮可以关闭键盘。 界面如下: 代码如下: class FocusTestRoute extends StatefulWidget { @override _FocusTestRouteState createState() => new _FocusTestRouteState(); } class _FocusTestRouteState extends State { FocusNode focusNode1 = new FocusNode(); FocusNode focusNode2 = new FocusNode(); FocusScopeNode focusScopeNode; @override Widget build(BuildContext context) { return Padding( padding: EdgeInsets.all(16.0), child: Column( children: [ TextField( autofocus: true, focusNode: focusNode1,//关联focusNode1 decoration: InputDecoration( labelText: \"input1\" ), ), TextField( focusNode: focusNode2,//关联focusNode2 decoration: InputDecoration( labelText: \"input2\" ), ), Builder(builder: (ctx) { return Column( children: [ RaisedButton( child: Text(\"移动焦点\"), onPressed: () { //将焦点从第一个TextField移到第二个TextField // 这是一种写法 FocusScope.of(context).requestFocus(focusNode2); // 这是第二种写法 if(null == focusScopeNode){ focusScopeNode = FocusScope.of(context); } focusScopeNode.requestFocus(focusNode2); }, ), RaisedButton( child: Text(\"隐藏键盘\"), onPressed: () { // 当所有编辑框都失去焦点时键盘就会收起 focusNode1.unfocus(); focusNode2.unfocus(); }, ), ], ); }, ), ], ), ); } } FocusNode和FocusScopeNode还有一些其它的方法,详情可以查看API文档。 监听焦点状态改变事件 FocusNode继承自ChangeNotifier,通过FocusNode可以监听焦点的改变事件,如: ... // 创建 focusNode FocusNode focusNode = new FocusNode(); ... // focusNode绑定输入框 TextField(focusNode: focusNode); ... // 监听焦点变化 focusNode.addListener((){ print(focusNode.hasFocus); }); 获得焦点时focusNode.hasFocus值为true,失去焦点时为false。 自定义样式 虽然我们可以通过decoration属性来定义输入框样式,但是有一些样式如下划线默认颜色及宽度都是不能直接自定义的,下面的代码没有效果: TextField( ... decoration: InputDecoration( border: UnderlineInputBorder( //下面代码没有效果 borderSide: BorderSide( color: Colors.red, width: 5.0 )), prefixIcon: Icon(Icons.person) ), ), 之所以如此,是由于TextField在绘制下划线时使用的颜色是主题色里面的hintColor,但提示文本颜色也是用的hintColor, 如果我们直接修改hintColor,那么下划线和提示文本的颜色都会变。值得高兴的是decoration中可以设置hintStyle,它可以覆盖hintColor,并且主题中可以通过inputDecorationTheme来设置输入框默认的decoration。所以我们可以通过主题来自定义,代码如下: Theme( data: Theme.of(context).copyWith( hintColor: Colors.grey[200], //定义下划线颜色 inputDecorationTheme: InputDecorationTheme( labelStyle: TextStyle(color: Colors.grey),//定义label字体样式 hintStyle: TextStyle(color: Colors.grey, fontSize: 14.0)//定义提示文本样式 ) ), child: Column( children: [ TextField( decoration: InputDecoration( labelText: \"用户名\", hintText: \"用户名或邮箱\", prefixIcon: Icon(Icons.person) ), ), TextField( decoration: InputDecoration( prefixIcon: Icon(Icons.lock), labelText: \"密码\", hintText: \"您的登录密码\", hintStyle: TextStyle(color: Colors.grey, fontSize: 13.0) ), obscureText: true, ) ], ) ) 运行效果如下: 我们成功的自定义了下划线颜色和提问文字样式,细心的读者可能已经发现,通过这种方式自定义后,输入框在获取焦点时,labelText不会高亮显示了,正如上图中的\"用户名\"本应该显示蓝色,但现在却显示为灰色,并且我们还是无法定义下划线宽度。另一种灵活的方式是直接隐藏掉TextField本身的下划线,然后通过Container去嵌套定义样式,如: Container( child: TextField( keyboardType: TextInputType.emailAddress, decoration: InputDecoration( labelText: \"Email\", hintText: \"电子邮件地址\", prefixIcon: Icon(Icons.email), border: InputBorder.none //隐藏下划线 ) ), decoration: BoxDecoration( // 下滑线浅灰色,宽度1像素 border: Border(bottom: BorderSide(color: Colors.grey[200], width: 1.0)) ), ) 运行效果: 通过这种widget组合的方式,也可以定义背景圆角等。一般来说,优先通过decoration来自定义样式,如果decoration实现不了,再用widget组合的方式。 思考题:在这个示例中,下划线颜色是固定的,所以获得焦点后颜色仍然为灰色,如何实现点击后下滑线也变色呢? 表单Form 实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form widget,它可以对输入框进行分组,然后进行一些统一操作,如输入内容校验、输入框重置以及输入内容保存。 Form Form继承自StatefulWidget对象,它对应的状态类为FormState。我们先看看Form类的定义: Form({ @required Widget child, bool autovalidate = false, WillPopCallback onWillPop, VoidCallback onChanged, }) autovalidate:是否自动校验输入内容;当为true时,每一个子FormField内容发生变化时都会自动校验合法性,并直接显示错误信息。否则,需要通过调用FormState.validate()来手动校验。 onWillPop:决定Form所在的路由是否可以直接返回(如点击返回按钮),该回调返回一个Future对象,如果Future的最终结果是false,则当前路由不会返回;如果为true,则会返回到上一个路由。此属性通常用于拦截返回按钮。 onChanged:Form的任意一个子FormField内容发生变化时会触发此回调。 FormField Form的子孙元素必须是FormField类型,FormField是一个抽象类,定义几个属性,FormState内部通过它们来完成操作,FormField部分定义如下: const FormField({ ... FormFieldSetter onSaved, //保存回调 FormFieldValidator validator, //验证回调 T initialValue, //初始值 bool autovalidate = false, //是否自动校验。 }) 为了方便使用,Flutter提供了一个TextFormField widget,它继承自FormField类,也是TextField的一个包装类,所以除了FormField定义的属性之外,它还包括TextField的属性。 FormState FormState为Form的State类,可以通过Form.of()或GlobalKey获得。我们可以通过它来对Form的子孙FormField进行统一操作。我们看看其常用的三个方法: FormState.validate():调用此方法后,会调用Form子孙FormField的validate回调,如果有一个校验失败,则返回false,所有校验失败项都会返回用户返回的错误提示。 FormState.save():调用此方法后,会调用Form子孙FormField的save回调,用于保存表单内容 FormState.reset():调用此方法后,会将子孙FormField的内容清空。 示例 我们修改一下上面用户登录的示例,在提交之前校验: 用户名不能为空,如果为空则提示“用户名不能为空”。 密码不能小于6位,如果小于6为则提示“密码不能少于6位”。 完整代码: class FormTestRoute extends StatefulWidget { @override _FormTestRouteState createState() => new _FormTestRouteState(); } class _FormTestRouteState extends State { TextEditingController _unameController = new TextEditingController(); TextEditingController _pwdController = new TextEditingController(); GlobalKey _formKey= new GlobalKey(); @override Widget build(BuildContext context) { return PageScaffold( title: \"Form Test\", body: Padding( padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 24.0), child: Form( key: _formKey, //设置globalKey,用于后面获取FormState autovalidate: true, //开启自动校验 child: Column( children: [ TextFormField( autofocus: true, controller: _unameController, decoration: InputDecoration( labelText: \"用户名\", hintText: \"用户名或邮箱\", icon: Icon(Icons.person) ), // 校验用户名 validator: (v) { return v .trim() .length > 0 ? null : \"用户名不能为空\"; } ), TextFormField( controller: _pwdController, decoration: InputDecoration( labelText: \"密码\", hintText: \"您的登录密码\", icon: Icon(Icons.lock) ), obscureText: true, //校验密码 validator: (v) { return v .trim() .length > 5 ? null : \"密码不能少于6位\"; } ), // 登录按钮 Padding( padding: const EdgeInsets.only(top: 28.0), child: Row( children: [ Expanded( child: RaisedButton( padding: EdgeInsets.all(15.0), child: Text(\"登录\"), color: Theme .of(context) .primaryColor, textColor: Colors.white, onPressed: () { //在这里不能通过此方式获取FormState,context不对 //print(Form.of(context)); // 通过_formKey.currentState 获取FormState后, // 调用validate()方法校验用户名密码是否合法,校验 // 通过后再提交数据。 if((_formKey.currentState as FormState).validate()){ //验证通过提交数据 } }, ), ), ], ), ) ], ), ), ), ); } } 运行后: 注意,登录按钮的onPressed方法中不能通过Form.of(context)来获取,原因是,此处的context为FormTestRoute的context,而Form.of(context)是根据所指定context向根去查找,而FormState是在FormTestRoute的子树中,所以不行。正确的做法是通过Builder来构建登录按钮,Builder会将widget节点的context作为回调参数: Expanded( // 通过Builder来获取RaisedButton所在widget树的真正context(Element) child:Builder(builder: (context){ return RaisedButton( ... onPressed: () { //由于本widget也是Form的子代widget,所以可以通过下面方式获取FormState if(Form.of(context).validate()){ //验证通过提交数据 } }, ); }) ) 其实context正是操作Widget所对应的Element的一个接口,由于Widget树对应的Element都是不同的,所以context也都是不同的,有关context的更多内容会在后面高级部分详细讨论。Flutter中有很多“of(context)”这种方法,在使用时读者一定要注意context是否正确。 "},"chapter4/":{"url":"chapter4/","title":"布局类Widgets","keywords":"","body":"本章目录 布局类Widgets简介 线性布局Row、Column 弹性布局Flex 流式布局Wrap、Flow 层叠布局Stack、Positioned "},"chapter4/intro.html":{"url":"chapter4/intro.html","title":"布局类Widgets简介","keywords":"","body":"布局类Widget 简介 布局类Widget都会包含一个或多个子widget,不同的布局类Widget对子widget排版(layout)方式不同。我们在前面说过Element树才是最终的绘制树,Element树是通过widget树来创建的(通过Widget.createElement()),widget其实就是Element的配置数据。Flutter中,根据Widget是否需要包含子节点将Widget分为了三类,分别对应三种Element,如下表: Widget 对应的Element 用途 LeafRenderObjectWidget LeafRenderObjectElement Widget树的叶子节点,用于没有子节点的widget,通常基础widget都属于这一类,如Text、Image。 SingleChildRenderObjectWidget SingleChildRenderObjectElement 包含一个子Widget,如:ConstrainedBox、DecoratedBox等 MultiChildRenderObjectWidget MultiChildRenderObjectElement 包含多个子Widget,一般都有一个children参数,接受一个Widget数组。如Row、Column、Stack等 注意,Flutter中的很多Widget是直接继承自StatelessWidget或StatefulWidget,然后在build()方法中构建真正的RenderObjectWidget,如Text,它其实是继承自StatelessWidget,然后在build()方法中通过RichText来构建其子树,而RichText才是继承自LeafRenderObjectWidget。所以为了方便叙述,我们也可以直接说Text属于LeafRenderObjectWidget(其它widget也可以这么描述),这才是本质。读到这里我们也会发现,其实StatelessWidget和StatefulWidget就是两个用于组合Widget的基类,它们本身并不关联最终的渲染对象(RenderObjectWidget)。 布局类Widget就是指直接或间接继承(包含)MultiChildRenderObjectWidget的Widget,它们一般都会有一个children属性用于接收子Widget。我们看一下继承关系 Widget > RenderObjectWidget > (Leaf/SingleChild/MultiChild)RenderObjectWidget 。RenderObjectWidget类中定义了创建、更新RenderObject的方法,子类必须实现他们,关于RenderObject我们现在只需要知道它是最终布局、渲染UI界面的对象即可,也就是说,对于布局类Widget来说,其布局算法都是通过对应的RenderObject对象来实现的,所以读者如果对接下来介绍的某个布局类Widget原理感兴趣,可以查看其RenderObject的实现,而在本章中,为了让读者对布局类Widget有个快速的认识,所以我们不会深入到RenderObject的细节中区。在学习本章时,读者的重点是掌握不同布局类Widget的布局特点,具体原理和细节我们会在后面高级部分介绍。 "},"chapter4/row_and_column.html":{"url":"chapter4/row_and_column.html","title":"线性布局Row、Column","keywords":"","body":"线性布局Row和Column 所谓线性布局,即指沿水平或垂直方向排布子Widget。Flutter中通过Row和Column来实现线性布局,类似于Android中的LinearLayout控件。Row和Column都继承自Flex,我们将在弹性布局一节中详细介绍Flex。 主轴和纵轴 对于线性布局,有主轴和纵轴之分,如果布局是沿水平方,那么主轴就指是水平方向,而纵轴即垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。在线性布局中,有两个定义对齐方式的枚举类MainAxisAlignment和CrossAxisAlignment,分别代表主轴对齐和纵轴对齐。 Row Row可以在水平方向排列其子widget。定义如下: Row({ ... TextDirection textDirection, MainAxisSize mainAxisSize = MainAxisSize.max, MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, VerticalDirection verticalDirection = VerticalDirection.down, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, List children = const [], }) textDirection:表示水平方向子widget的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)。 mainAxisSize:表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则Row的实际宽度等于所有子widgets占用的的水平空间; mainAxisAlignment:表示子Widgets在Row所占用的水平空间内对齐方式,如果mainAxisSize值为MainAxisSize.min,则此属性无意义,因为子widgets的宽度等于Row的宽度。只有当mainAxisSize的值为MainAxisSize.max时,此属性才有意义,MainAxisAlignment.start表示沿textDirection的初始方向对齐,如textDirection取值为TextDirection.ltr时,则MainAxisAlignment.start表示左对齐,textDirection取值为TextDirection.rtl时表示从右对齐。而MainAxisAlignment.end和MainAxisAlignment.start正好相反;MainAxisAlignment.center表示居中对齐。读者可以这么理解:textDirection是mainAxisAlignment的参考系。 verticalDirection:表示Row纵轴(垂直)的对齐方向,默认是VerticalDirection.down,表示从上到下。 crossAxisAlignment:表示子Widgets在纵轴方向的对齐方式,Row的高度等于子Widgets中最高的子元素高度,它的取值和MainAxisAlignment一样(包含start、end、 center三个值),不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为VerticalDirection.down时crossAxisAlignment.start指顶部对齐,verticalDirection值为VerticalDirection.up时,crossAxisAlignment.start指底部对齐;而crossAxisAlignment.end和crossAxisAlignment.start正好相反; children :子Widgets数组。 示例 请阅读下面代码,想象一下运行的结果: Column( //测试Row对齐方式,排除Column默认居中对齐的干扰 crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Text(\" hello world \"), Text(\" I am Jack \"), ], ), Row( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ Text(\" hello world \"), Text(\" I am Jack \"), ], ), Row( mainAxisAlignment: MainAxisAlignment.end, textDirection: TextDirection.rtl, children: [ Text(\" hello world \"), Text(\" I am Jack \"), ], ), Row( crossAxisAlignment: CrossAxisAlignment.start, verticalDirection: VerticalDirection.up, children: [ Text(\" hello world \", style: TextStyle(fontSize: 30.0),), Text(\" I am Jack \"), ], ), ], ); 运行结果: 解释:第一个Row很简单,默认为居中对齐;第二个Row,由于mainAxisSize值为MainAxisSize.min,Row的宽度等于两个Text的宽度和,所以对齐是无意义的,所以会从左往右显示;第三个Row设置textDirection值为TextDirection.rtl,所以子widget会从右向左的顺序排列,而此时MainAxisAlignment.end表示左对齐,所以最终显示结果就是图中第三行的样子;第四个Row测试的是纵轴的对齐方式,由于两个子Text字体不一样,所以其高度也不同,我们指定了verticalDirection值为VerticalDirection.up,即从低向顶排列,而此时crossAxisAlignment值为CrossAxisAlignment.start表示底对齐。 Column Column可以在垂直方向排列其子widget。参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,读者可类比Row来理解,在此不再赘述。 特殊情况 如果Row里面嵌套Row,或者Column里面再嵌套Column,那么只有对最外面的Row或Column会占用尽可能大的空间,里面Row或Column所占用的空间为实际大小,下面以Column为例说明: Container( color: Colors.green, child: Padding( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.max, //有效,外层Colum高度为整个屏幕 children: [ Container( color: Colors.red, child: Column( mainAxisSize: MainAxisSize.max,//无效,内层Colum高度为实际高度 children: [ Text(\"hello world \"), Text(\"I am Jack \"), ], ), ) ], ), ), ); 运行结果: 如果要让里面的Colum占满外部Colum,可以使用Expanded widget: Expanded( child: Container( color: Colors.red, child: Column( mainAxisAlignment: MainAxisAlignment.center, //垂直方向居中对齐 children: [ Text(\"hello world \"), Text(\"I am Jack \"), ], ), ), ) 运行效果: 我们将在介绍弹性布局时详细介绍Expanded。 "},"chapter4/flex.html":{"url":"chapter4/flex.html","title":"弹性布局Flex","keywords":"","body":"弹性布局 弹性布局允许子widget按照一定比例来分配父容器空间,弹性布局的概念在其UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout。Flutter中的弹性布局主要通过Flex和Expanded来配合实现。 Flex Flex可以沿着水平或垂直方向排列子widget,如果你知道主轴方向,使用Row或Column会方便一些,因为Row和Column都继承自Flex,参数基本相同,所以能使用Flex的地方一定可以使用Row或Column。Flex本身功能是很强大的,它也可以和Expanded配合实现弹性布局,接下来我们只讨论Flex和弹性布局相关的属性(其它属性已经在介绍Row和Column时介绍过了)。 Flex({ ... @required this.direction, //弹性布局的方向, Row默认为水平方向,Column默认为垂直方向 List children = const [], }) Flex继承自MultiChildRenderObjectWidget,对应的RenderObject为RenderFlex,RenderFlex中实现了其布局算法。 Expanded 可以按比例“扩伸”Row、Column和Flex子widget所占用的空间。 const Expanded({ int flex = 1, @required Widget child, }) flex为弹性系数,如果为0或null,则child是没有弹性的,即不会被扩伸占用的空间。如果大于0,所有的Expanded按照其flex的比例来分割主轴的全部空闲空间。下面我们看一个例子: class FlexLayoutTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Column( children: [ //Flex的两个子widget按1:2来占据水平空间 Flex( direction: Axis.horizontal, children: [ Expanded( flex: 1, child: Container( height: 30.0, color: Colors.red, ), ), Expanded( flex: 2, child: Container( height: 30.0, color: Colors.green, ), ), ], ), Padding( padding: const EdgeInsets.only(top: 20.0), child: SizedBox( height: 100.0, //Flex的三个子widget,在垂直方向按2:1:1来占用100像素的空间 child: Flex( direction: Axis.vertical, children: [ Expanded( flex: 2, child: Container( height: 30.0, color: Colors.red, ), ), Spacer( flex: 1, ), Expanded( flex: 1, child: Container( height: 30.0, color: Colors.green, ), ), ], ), ), ), ], ); } } 运行效果如下: 示例中的Spacer的功能是占用指定比例的空间,实际上它只是Expanded的一个包装: new Expanded( flex: flex, child: const SizedBox( height: 0.0, width: 0.0, ), ); "},"chapter4/wrap_and_flow.html":{"url":"chapter4/wrap_and_flow.html","title":"流式布局Wrap、Flow","keywords":"","body":"流式布局 Wrap 在介绍Row和Colum时,如果子widget超出屏幕范围,则会报溢出错误,如: Row( children: [ Text(\"xxx\"*100) ], ); 运行: 可以看到,右边溢出部分报错。这是因为Row默认只有一行,如果超出屏幕不会折行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局,将上例中的Row换成Wrap后溢出部分则会自动折行。下面是Wrap的定义: Wrap({ ... this.direction = Axis.horizontal, this.alignment = WrapAlignment.start, this.spacing = 0.0, this.runAlignment = WrapAlignment.start, this.runSpacing = 0.0, this.crossAxisAlignment = WrapCrossAlignment.start, this.textDirection, this.verticalDirection = VerticalDirection.down, List children = const [], }) 我们可以看到Wrap的很多属性在Row(包括Flex和Column)中也有,如direction、crossAxisAlignment、textDirection、verticalDirection等,这些参数意义是相同的,我们不再重复介绍,读者可以查阅前面介绍Row的部分。读者可以认为Wrap和Flex(包括Row和Column)除了超出显示范围后Wrap会折行外,其它行为基本相同。下面我们看一下Wrap特有的几个属性: spacing:主轴方向子widget的间距 runSpacing:纵轴方向的间距 runAlignment:纵轴方向的对齐方式 下面看一个示例子: Wrap( spacing: 8.0, // 主轴(水平)方向间距 runSpacing: 4.0, // 纵轴(垂直)方向间距 alignment: WrapAlignment.center, //沿主轴方向居中 children: [ new Chip( avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('A')), label: new Text('Hamilton'), ), new Chip( avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('M')), label: new Text('Lafayette'), ), new Chip( avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('H')), label: new Text('Mulligan'), ), new Chip( avatar: new CircleAvatar(backgroundColor: Colors.blue, child: Text('J')), label: new Text('Laurens'), ), ], ) 运行效果: Flow 我们一般很少会使用Flow,因为其过于复杂,需要自己实现子widget的位置转换,在很多场景下首先要考虑的是Wrap是否满足需求。Flow主要用于一些需要自定义布局策略或性能要求较高(如动画中)的场景。Flow有如下优点: 性能好;Flow是一个对child尺寸以及位置调整非常高效的控件,Flow用转换矩阵(transformation matrices)在对child进行位置调整的时候进行了优化:在Flow定位过后,如果child的尺寸或者位置发生了变化,在FlowDelegate中的paintChildren()方法中调用context.paintChild 进行重绘,而context.paintChild在重绘时使用了转换矩阵(transformation matrices),并没有实际调整Widget位置。 灵活;由于我们需要自己实现FlowDelegate的paintChildren()方法,所以我们需要自己计算每一个widget的位置,因此,可以自定义布局策略。 缺点: 使用复杂. 不能自适应子widget大小,必须通过指定父容器大小或实现TestFlowDelegate的getSize返回固定大小。 示例: 我们对六个色块进行自定义流式布局: Flow( delegate: TestFlowDelegate(margin: EdgeInsets.all(10.0)), children: [ new Container(width: 80.0, height:80.0, color: Colors.red,), new Container(width: 80.0, height:80.0, color: Colors.green,), new Container(width: 80.0, height:80.0, color: Colors.blue,), new Container(width: 80.0, height:80.0, color: Colors.yellow,), new Container(width: 80.0, height:80.0, color: Colors.brown,), new Container(width: 80.0, height:80.0, color: Colors.purple,), ], ) 实现TestFlowDelegate: class TestFlowDelegate extends FlowDelegate { EdgeInsets margin = EdgeInsets.zero; TestFlowDelegate({this.margin}); @override void paintChildren(FlowPaintingContext context) { var x = margin.left; var y = margin.top; //计算每一个子widget的位置 for (int i = 0; i 效果: 可以看到我们主要的任务就是实现paintChildren,它的主要任务是确定每个子widget位置。由于Flow不能自适应子widget的大小,我们通过在getSize返回一个固定大小来指定Flow的大小。 "},"chapter4/stack.html":{"url":"chapter4/stack.html","title":"层叠布局Stack、Positioned","keywords":"","body":"层叠布局 层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子widget可以根据到父容器四个角的位置来确定本身的位置。绝对定位允许子widget堆叠(按照代码中声明的顺序)。Flutter中使用Stack和Positioned来实现绝对定位,Stack允许子widget堆叠,而Positioned可以给子widget定位(根据Stack的四个角)。 Stack Stack({ this.alignment = AlignmentDirectional.topStart, this.textDirection, this.fit = StackFit.loose, this.overflow = Overflow.clip, List children = const [], }) alignment:此参数决定如何去对齐没有定位(没有使用Positioned)或部分定位的子widget。所谓部分定位,在这里特指没有在某一个轴上定位:left、right为横轴,top、bottom为纵轴,只要包含某个轴上的一个定位属性就算在该轴上有定位。 textDirection:和Row、Wrap的textDirection功能一样,都用于决定alignment对齐的参考系即:textDirection的值为TextDirection.ltr,则alignment的start代表左,end代表右;textDirection的值为TextDirection.rtl,则alignment的start代表右,end代表左。 fit:此参数用于决定没有定位的子widget如何去适应Stack的大小。StackFit.loose表示使用子widget的大小,StackFit.expand表示扩伸到Stack的大小。 overflow:此属性决定如何显示超出Stack显示空间的子widget,值为Overflow.clip时,超出部分会被剪裁(隐藏),值为Overflow.visible 时则不会。 Positioned const Positioned({ Key key, this.left, this.top, this.right, this.bottom, this.width, this.height, @required Widget child, }) left、top 、right、 bottom分别代表离Stack左、上、右、底四边的距离。width和height用于指定定位元素的宽度和高度,注意,此处的width、height 和其它地方的意义稍微有点区别,此处用于配合left、top 、right、 bottom来定位widget,举个例子,在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理。 示例 //通过ConstrainedBox来确保Stack占满屏幕 ConstrainedBox( constraints: BoxConstraints.expand(), child: Stack( alignment:Alignment.center , //指定未定位或部分定位widget的对齐方式 children: [ Container(child: Text(\"Hello world\",style: TextStyle(color: Colors.white)), color: Colors.red, ), Positioned( left: 18.0, child: Text(\"I am Jack\"), ), Positioned( top: 18.0, child: Text(\"Your friend\"), ) ], ), ); 运行效果如下: 由于第一个子widget Text(\"Hello world\")没有指定定位,并且alignment值为Alignment.center,所以,它会居中显示。第二个子widget Text(\"I am Jack\")只指定了水平方向的定位(left),所以属于部分定位,即垂直方向上没有定位,那么它在垂直方向对齐方式则会按照alignment指定的对齐方式对齐,即垂直方向居中。对于第三个子widget Text(\"Your friend\"),和第二个Text原理一样,只不过是水平方向没有定位,则水平方向居中。 我们给上例中的Stack指定一个fit属性,然后将三个子widget的顺序调整一下: Stack( alignment:Alignment.center , fit: StackFit.expand, //未定位widget占满Stack整个空间 children: [ Positioned( left: 18.0, child: Text(\"I am Jack\"), ), Container(child: Text(\"Hello world\",style: TextStyle(color: Colors.white)), color: Colors.red, ), Positioned( top: 18.0, child: Text(\"Your friend\"), ) ], ), 显示效果如下: 可以看到,由于第二个子widget没有定位,所以fit属性会对它起作用,就会占满Stack。有Stack子元素是堆叠的,所以第一个子Widget被第二个遮住了,而第三个在最上层,所以可以正常显示。 "},"chapter5/":{"url":"chapter5/","title":"容器类Widgets","keywords":"","body":"容器类Widget 容器类Widget和布局类Widget都作用于其子Widget,不同的是: 布局类Widget一般都需要接收一个widget数组(children),他们直接或间接继承自(或包含)MultiChildRenderObjectWidget ;而容器类Widget一般只需要接受一个子Widget(child),他们直接或间接继承自(或包含)SingleChildRenderObjectWidget。 布局类Widget是按照一定的排列方式来对其子Widget进行排列;而容器类Widget一般只是包装其子Widget,对其添加一些修饰(补白或背景色等)、变换(旋转或剪裁等)、或限制(大小等)。 注意,Flutter官方并没有对Widget进行官方分类,我们对其分类主要是为了方便讨论和对Widget功能的区分记忆。 本章目录 Padding 布局限制类容器ConstrainedBox、SizeBox 装饰容器DecoratedBox 变换Transform Container容器 Scaffold、TabBar、底部导航 "},"chapter5/padding.html":{"url":"chapter5/padding.html","title":"Padding","keywords":"","body":"Padding Padding可以给其子节点添加补白(填充),我们在前面很多示例中都已经使用过它了,现在来看看它的定义: Padding({ ... EdgeInsetsGeometry padding, Widget child, }) EdgeInsetsGeometry是一个抽象类,开发中,我们一般都使用EdgeInsets,它是EdgeInsetsGeometry的一个子类,定义了一些设置补白的便捷方法。 EdgeInsets 我们看看EdgeInsets提供的便捷方法: fromLTRB(double left, double top, double right, double bottom):分别指定四个方向的补白。 all(double value) : 所有方向均使用相同数值的补白。 only({left, top, right ,bottom }):可以设置具体某个方向的补白(可以同时指定多个方向)。 symmetric({ vertical, horizontal }):用于设置对称方向的补白,vertical指top和bottom,horizontal指left和right。 示例 class PaddingTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( //上下左右各添加16像素补白 padding: EdgeInsets.all(16.0), child: Column( //显式指定对齐方式为左对齐,排除对齐干扰 crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( //左边添加8像素补白 padding: const EdgeInsets.only(left: 8.0), child: Text(\"Hello world\"), ), Padding( //上下各添加8像素补白 padding: const EdgeInsets.symmetric(vertical: 8.0), child: Text(\"I am Jack\"), ), Padding( // 分别指定四个方向的补白 padding: const EdgeInsets.fromLTRB(20.0,.0,20.0,20.0), child: Text(\"Your friend\"), ) ], ), ); } } "},"chapter5/constrainedbox_and_sizebox.html":{"url":"chapter5/constrainedbox_and_sizebox.html","title":"布局限制类容器ConstrainedBox、SizeBox","keywords":"","body":"ConstrainedBox和SizedBox ConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的。SizedBox只是ConstrainedBox一个定制,本节把他们放在一起讨论。 ConstrainedBox ConstrainedBox用于对齐子widget添加额外的约束。例如,如果你想让子widget的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子widget的约束。 示例 我们先定义一个redBox,它是一个背景颜色为红色的盒子,不指定它的宽度和高度: Widget redBox=DecoratedBox( decoration: BoxDecoration(color: Colors.red), ); 我们实现一个最小高度为50,宽度尽可能大的红色容器。 ConstrainedBox( constraints: BoxConstraints( minWidth: double.infinity, //宽度尽可能大 minHeight: 50.0 //最小高度为50像素 ), child: Container( height: 5.0, child: redBox ), ) 显示效果: 可以看到,我们虽然将Container的高度设置为5像素,但是最终却是50像素,这正是ConstrainedBox的最小高度限制生效了。如果将Container的高度设置为80像素,那么最终红色区域的高度也会是80像素,因为在此示例中,ConstrainedBox只限制了最小高度,并未限制最大高度。 BoxConstraints BoxConstraints用于设置限制条件,它的定义如下: const BoxConstraints({ this.minWidth = 0.0, //最小宽度 this.maxWidth = double.infinity, //最大宽度 this.minHeight = 0.0, //最小高度 this.maxHeight = double.infinity //最大高度 }) BoxConstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的BoxConstraints,如BoxConstraints.tight(Size size),它可以生成给定大小的限制;const BoxConstraints.expand()可以生成一个尽可能大的用以填充另一个容器的BoxConstraints。除此之外还有一些其它的便捷函数,读者可以查看API文档。 SizedBox SizedBox用于给子widget指定固定的宽高,如: SizedBox( width: 80.0, height: 80.0, child: redBox ) 运行效果如下: 实际上SizedBox和只是ConstrainedBox一个定制,上面代码等价于: ConstrainedBox( constraints: BoxConstraints.tightFor(width: 80.0,height: 80.0), child: redBox, ) 而BoxConstraints.tightFor(width: 80.0,height: 80.0)等价于: BoxConstraints(minHeight: 80.0,maxHeight: 80.0,minWidth: 80.0,maxWidth: 80.0) 而实际上ConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的,我们可以看到ConstrainedBox和SizedBox的createRenderObject()方法都返回的是一个RenderConstrainedBox对象: @override RenderConstrainedBox createRenderObject(BuildContext context) { return new RenderConstrainedBox( additionalConstraints: ..., ); } 多重限制 如果某一个widget有多个父ConstrainedBox限制,那么最终会是哪个生效?我们看一个例子: ConstrainedBox( constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0), //父 child: ConstrainedBox( constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子 child: redBox, ) ) 上面我们有父子两个ConstrainedBox,他们的限制条件不同,运行后效果如下: 最终显示效果是宽90,高60,也就是说是子ConstrainedBox的minWidth生效,而minHeight是父ConstrainedBox生效。单凭这个例子,我们还总结不出什么规律,我们将上例中父子限制条件换一下: ConstrainedBox( constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0), child: ConstrainedBox( constraints: BoxConstraints(minWidth: 60.0, minHeight: 60.0), child: redBox, ) ) 最终的显示效果仍然是90,高60,效果相同,但意义不同,因为此时minWidth生效的是父ConstrainedBox,而minHeight是子ConstrainedBox生效。 通过上面示例,我们发现有多重限制时,对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。 思考题:对于maxWidth和maxHeight,多重限制的策略是什么样的呢? UnconstrainedBox UnconstrainedBox不会对子Widget产生任何限制,它允许其子Widget按照其本身大小绘制。一般情况下,我们会很少直接使用此widget,但在\"去除\"多重限制的时候也许会有帮助,我们看一下面的代码: ConstrainedBox( constraints: BoxConstraints(minWidth: 60.0, minHeight: 100.0), //父 child: UnconstrainedBox( //“去除”父级限制 child: ConstrainedBox( constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//子 child: redBox, ), ) ) 上面代码中,如果没有中间的UnconstrainedBox,那么根据上面所述的多重限制规则,那么最终将显示一个90×100的红色框。但是由于 UnconstrainedBox “去除”了父ConstrainedBox的限制,则最终会按照子ConstrainedBox的限制来绘制redBox,即90×20: 但是,读者请注意,UnconstrainedBox对父限制的“去除”并非是真正的去除,上面例子中虽然红色区域大小是90×20,但上方仍然有80的空白空间。也就是说父限制的minHeight(100.0)仍然是生效的,只不过它不影响最终子元素的大小,但仍然还是占有相应的空间,可以认为此时的父ConstrainedBox是作用于子ConstrainedBox上,而redBox只受子ConstrainedBox限制,这一点请读者务必注意。 那么有什么方法可以彻底去除父BoxConstraints的限制吗?答案是否定的!所以在此提示读者,在定义一个通用的widget时,如果对子widget指定限制时一定要注意,因为一旦指定限制条件,子widget如果要进行相关自定义大小时将可能非常困难,因为子widget在不更改父widget的代码的情况下无法彻底去除其限制条件。 "},"chapter5/decoratedbox.html":{"url":"chapter5/decoratedbox.html","title":"装饰容器DecoratedBox","keywords":"","body":"DecoratedBox DecoratedBox可以在其子widget绘制前(或后)绘制一个装饰Decoration(如背景、边框、渐变等)。DecoratedBox定义如下: const DecoratedBox({ Decoration decoration, DecorationPosition position = DecorationPosition.background, Widget child }) decoration:代表将要绘制的装饰,它类型为Decoration,Decoration是一个抽象类,它定义了一个接口 createBoxPainter(),子类的主要职责是需要通过实现它来创建一个画笔,该画笔用于绘制装饰。 position:此属性决定在哪里绘制Decoration,它接收DecorationPosition的枚举类型,该枚举类两个值: background:在子widget之后绘制,即背景装饰。 foreground:在子widget之上绘制,即前景。 BoxDecoration 我们通常会直接使用BoxDecoration,它是一个Decoration的子类,实现了常用的装饰元素的绘制。 BoxDecoration({ Color color, //颜色 DecorationImage image,//图片 BoxBorder border, //边框 BorderRadiusGeometry borderRadius, //圆角 List boxShadow, //阴影,可以指定多个 Gradient gradient, //渐变 BlendMode backgroundBlendMode, //背景混合模式 BoxShape shape = BoxShape.rectangle, //形状 }) 各个属性名都是自解释的,详情读者可以查看API文档,我们看一个示例: DecoratedBox( decoration: BoxDecoration( gradient: LinearGradient(colors:[Colors.red,Colors.orange[700]]), //背景渐变 borderRadius: BorderRadius.circular(3.0), //3像素圆角 boxShadow: [ //阴影 BoxShadow( color:Colors.black54, offset: Offset(2.0,2.0), blurRadius: 4.0 ) ] ), child: Padding(padding: EdgeInsets.symmetric(horizontal: 80.0, vertical: 18.0), child: Text(\"Login\", style: TextStyle(color: Colors.white),), ) ) 效果如下: 怎么样,通过BoxDecoration,我们实现了一个渐变按钮的外观,但此示例还不是一个标准的按钮,因为它还不能响应点击事件,我们将在本章末尾来实现一个完整的GradientButton。 "},"chapter5/transform.html":{"url":"chapter5/transform.html","title":"变换Transform","keywords":"","body":"Transform变换 Transform可以在其子Widget绘制时对其应用一个矩阵变换(transformation),Matrix4是一个4D矩阵,通过它我们可以实现各种矩阵操作。下面是一个例子: Container( color: Colors.black, child: new Transform( alignment: Alignment.topRight, //相对于坐标系原点的对齐方式 transform: new Matrix4.skewY(0.3), //沿Y轴倾斜0.3弧度 child: new Container( padding: const EdgeInsets.all(8.0), color: Colors.deepOrange, child: const Text('Apartment for rent!'), ), ), ); 关于矩阵变换的相关内容属于线性代数范畴,本书不做讨论,读者有兴趣可以自行了解。本书中,我们把焦点放在Flutter中一些常见的变换效果上。 平移 Transform.translate接收一个offset参数,可以在绘制时沿x、y轴对子widget平移指定的距离。 DecoratedBox( decoration:BoxDecoration(color: Colors.red), //默认原点为左上角,左移20像素,向上平移5像素 child: Transform.translate(offset: Offset(-20.0, -5.0), child: Text(\"Hello world\"), ), ) 效果: 旋转 Transform.rotate可以对子widget进行旋转变换,如: DecoratedBox( decoration:BoxDecoration(color: Colors.red), child: Transform.rotate( //旋转90度 angle:math.pi/2 , child: Text(\"Hello world\"), ), ); 注意:要使用math.pi需先进行如下导包。 import 'dart:math' as math; 效果: 缩放 Transform.scale可以对子Widget进行缩小或放大,如: DecoratedBox( decoration:BoxDecoration(color: Colors.red), child: Transform.scale( scale: 1.5, //放大到1.5倍 child: Text(\"Hello world\") ) ); 效果: 注意 Transform的变换是应用在绘制阶段,而并不是应用在布局(layout)阶段,所以无论对子widget应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。下面我们具体说明: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ DecoratedBox( decoration:BoxDecoration(color: Colors.red), child: Transform.scale(scale: 1.5, child: Text(\"Hello world\") ) ), Text(\"你好\", style: TextStyle(color: Colors.green, fontSize: 18.0),) ], ) 显示效果: 由于第一个Text应用变换(放大)后,其在绘制时会放大,但其占用的空间依然为红色部分,所以第二个text会紧挨着红色部分,最终就会出现文字有重合部分。 由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上的UI改变,而不需要去重新触发build流程,这样会节省layout的开销,所以性能会比较好。如之前介绍的Flow widget,它内部就是用矩阵变换来更新UI,除此之外,Flutter的动画widget中也大量使用了Transform以提高性能。 RotatedBox RotatedBox和Transform.rotate功能相似,它们都可以对子widget进行旋转变换,但是有一点不同:RotatedBox的变换是在layout阶段,会影响在子widget的位置和大小。我们将上面介绍Transform.rotate时的示例改一下: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ DecoratedBox( decoration: BoxDecoration(color: Colors.red), //将Transform.rotate换成RotatedBox child: RotatedBox( quarterTurns: 1, //旋转90度(1/4圈) child: Text(\"Hello world\"), ), ), Text(\"你好\", style: TextStyle(color: Colors.green, fontSize: 18.0),) ], ), 效果: 由于RotatedBox是作用于layout阶段,所以widget会旋转90度(而不只是绘制的内容),decoration会作用到widget所占用的实际空间上,所以就是上图的效果。读者可以和前面Transform.rotate示例对比理解。 "},"chapter5/container.html":{"url":"chapter5/container.html","title":"Container容器","keywords":"","body":"Container Container是我们要介绍的最后一个容器类widget,它本身不对应具体的RenderObject,它是DecoratedBox、ConstrainedBox、Transform、Padding、Align等widget的一个组合widget。所以我们只需通过一个Container可以实现同时需要装饰、变换、限制的场景。下面是Container的定义: Container({ this.alignment, this.padding, //容器内补白,属于decoration的装饰范围 Color color, // 背景色 Decoration decoration, // 背景装饰 Decoration foregroundDecoration, //前景装饰 double width,//容器的宽度 double height, //容器的高度 BoxConstraints constraints, //容器大小的限制条件 this.margin,//容器外补白,不属于decoration的装饰范围 this.transform, //变换 this.child, }) 大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明: 容器的大小可以通过width、height属性来指定,也可以通过constraints来指定,如果同时存在时,width、height优先。实际上Container内部会根据width、height来生成一个constraints。 color和decoration是互斥的,实际上,当指定color时,Container内会自动创建一个decoration。 实例 我们通过Container来实现如下的卡片: 代码: Container( margin: EdgeInsets.only(top: 50.0, left: 120.0), //容器外补白 constraints: BoxConstraints.tightFor(width: 200.0, height: 150.0), //卡片大小 decoration: BoxDecoration(//背景装饰 gradient: RadialGradient( //背景径向渐变 colors: [Colors.red, Colors.orange], center: Alignment.topLeft, radius: .98 ), boxShadow: [ //卡片阴影 BoxShadow( color: Colors.black54, offset: Offset(2.0, 2.0), blurRadius: 4.0 ) ] ), transform: Matrix4.rotationZ(.2), //卡片倾斜变换 alignment: Alignment.center, //卡片内文字居中 child: Text( //卡片文字 \"5.20\", style: TextStyle(color: Colors.white, fontSize: 40.0), ), ); 可以看到Container通过组合多种widget来实现复杂强大的功能,在Flutter中,这也正是组合优先于继承的实例。 Padding和Margin 接下来我们看看Container的margin和padding属性的区别: ... Container( margin: EdgeInsets.all(20.0), //容器外补白 color: Colors.orange, child: Text(\"Hello world!\"), ), Container( padding: EdgeInsets.all(20.0), //容器内补白 color: Colors.orange, child: Text(\"Hello world!\"), ), ... 可以发现,直观的感觉就是margin的补白是在容器外部,而padding的补白是在容器内部,读者需要记住这个差异。事实上,Container内margin和padding都是通过Padding widget来实现的,上面的示例代码实际上等价于: ... Padding( padding: EdgeInsets.all(20.0), child: DecoratedBox( decoration: BoxDecoration(color: Colors.orange), child: Text(\"Hello world!\"), ), ), DecoratedBox( decoration: BoxDecoration(color: Colors.orange), child: Padding( padding: const EdgeInsets.all(20.0), child: Text(\"Hello world!\"), ), ), ... "},"chapter5/material_scaffold.html":{"url":"chapter5/material_scaffold.html","title":"Scaffold、TabBar、底部导航","keywords":"","body":"Scaffold、TabBar、底部导航 Material库提供了很多Widget,本节介绍一些常用的Widget,其余的读者可以查看文档或Flutter Gallery中Material组件部分的示例。注意,笔者强烈建议用户将Flutter Gallery示例跑起来,它是一个很全面的Flutter示例,是非常好的参考Demo。 Scaffold 大多数路由页都会包含一个导航栏,有些路由页可能会有抽屉菜单(Drawer)以及底部Tab导航菜单等。如果每个页面都需要开发者自己手动去实现,这会是一件非常无聊的事。幸运的是,我们前面提到过,Flutter Material库提供了一个Scaffold Widget,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。 示例 我们实现一个页面,它包含: 一个导航栏 导航栏右边有一个分享按钮 有一个抽屉菜单 有一个底部导航 右下角有一个悬浮的动作按钮 最终效果如下: 实现代码如下: class ScaffoldRoute extends StatefulWidget { @override _ScaffoldRouteState createState() => _ScaffoldRouteState(); } class _ScaffoldRouteState extends State { int _selectedIndex = 1; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( //导航栏 title: Text(\"App Name\"), actions: [ //导航栏右侧菜单 IconButton(icon: Icon(Icons.share), onPressed: () {}), ], ), drawer: new MyDrawer(), //抽屉 bottomNavigationBar: BottomNavigationBar( // 底部导航 items: [ BottomNavigationBarItem(icon: Icon(Icons.home), title: Text('Home')), BottomNavigationBarItem(icon: Icon(Icons.business), title: Text('Business')), BottomNavigationBarItem(icon: Icon(Icons.school), title: Text('School')), ], currentIndex: _selectedIndex, fixedColor: Colors.blue, onTap: _onItemTapped, ), floatingActionButton: FloatingActionButton( //悬浮按钮 child: Icon(Icons.add), onPressed:_onAdd ), ); } void _onItemTapped(int index) { setState(() { _selectedIndex = index; }); } void _onAdd(){ } } 上面代码中我们用到了另外几个Widget,下面我们来分别介绍一下: AppBar AppBar是一个Material风格的导航栏,它可以设置标题、导航栏菜单、底部Tab等。下面我们看看AppBar的定义: AppBar({ Key key, this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮。 this.automaticallyImplyLeading = true, //如果leading为null,是否自动实现默认的leading按钮 this.title,// 页面标题 this.actions, // 导航栏右侧菜单 this.bottom, // 导航栏底部菜单,通常为Tab按钮组 this.elevation = 4.0, // 导航栏阴影 this.centerTitle, //标题是否居中 this.backgroundColor, ... //其它属性见源码注释 }) 如果给Scaffold添加了抽屉菜单,默认情况下Scaffold会自动将AppBar的leading设置为菜单按钮(如上面截图所示)。如果我们想自定义菜单图标,可以手动来设置leading,如: Scaffold( appBar: AppBar( title: Text(\"App Name\"), leading: Builder(builder: (context) { return IconButton( icon: Icon(Icons.dashboard, color: Colors.white), //自定义图标 onPressed: () { // 打开抽屉菜单 Scaffold.of(context).openDrawer(); }, ); }), ... ) 代码运行效果: 可以看到左侧菜单已经替换成功。 代码中打开抽屉菜单的方法在ScaffoldState中,通过Scaffold.of(context)可以获取父级最近的Scaffold Widget的State对象,原理可以参考本书后面“Element与BuildContext” 一章。Flutter还有一种通用的获取StatefulWidget对象State的方法:通过GlobalKey来获取! 步骤有两步: 给目标StatefulWidget添加GlobalKey //定义一个globalKey, 由于GlobalKey要保持全局唯一性,我们使用静态变量存储 static GlobalKey _globalKey= new GlobalKey(); ... Scaffold( key: _globalKey , //设置key ... ) 通过GlobalKey来获取State对象 _globalKey.currentState.openDrawer() TabBar 下面我们通过“bottom”属性来添加一个导航栏底部tab按钮组,将要实现的效果如下: Material组件库中提供了一个TabBar组件,它可以快速生成Tab菜单,下面是上图对应的源码: class _ScaffoldRouteState extends State with SingleTickerProviderStateMixin { TabController _tabController; //需要定义一个Controller List tabs = [\"新闻\", \"历史\", \"图片\"]; @override void initState() { super.initState(); // 创建Controller _tabController = TabController(length: tabs.length, vsync: this); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( ... //省略无关代码 bottom: TabBar( //生成Tab菜单 controller: _tabController, tabs: tabs.map((e) => Tab(text: e)).toList()), ), ... //省略无关代码 } 上面代码首先创建了一个TabController ,它是用于控制/监听Tab菜单切换。然后通过TabBar生成了一个底部菜单栏,TabBar的tabs属性接受一个Widget数组,表示每一个Tab子菜单,我们可以自定义,也可以像示例中一样直接使用Tab Widget,它也是Material组件库提供的Material风格的Tab菜单。 Tab Widget有三个可选参数,除了可以指定文字外,还可以指定Tab菜单图标,或者直接自定义Widget,定义如下: Tab({ Key key, this.text, // 菜单文本 this.icon, // 菜单图标 this.child, // 自定义Widget }) 开发者可以根据实际需求来定制。 TabBarView 通过TabBar我们只能生成一个静态的菜单,如果要实现Tab页,我们可以通过TabController去监听Tab菜单的切换去切换Tab页,代码如: _tabController.addListener((){ switch(_tabController.index){ case 1: ...; case 2: ... ; } }); 如果我们Tab页可以滑动切换的话,还需要在滑动过程中更新TabBar指示器的偏移。显然,要手动处理这些是很麻烦的,为此,Material库提供了一个TabBarView组件,它可以很轻松的配合TabBar来实现同步切换和滑动状态同步,示例如下: Scaffold( appBar: AppBar( ... //省略无关代码 bottom: TabBar( controller: _tabController, tabs: tabs.map((e) => Tab(text: e)).toList()), ), drawer: new MyDrawer(), body: TabBarView( controller: _tabController, children: tabs.map((e) { //创建3个Tab页 return Container( alignment: Alignment.center, child: Text(e, textScaleFactor: 5), ); }).toList(), ), ... // 省略无关代码 ) 运行后效果如下: 现在,无论是点击导航栏Tab菜单还是在页面上左右滑动,Tab页面都会切换,并且Tab菜单的状态和Tab页面始终保持同步。下面我们来看看代码,细心的读者可以发现,TabBar和TabBarView的controller是同一个!正是如此,TabBar和TabBarView正是通过同一个controller来实现菜单切换和滑动状态同步的。 另外,Material组件库也提供了一个PageView Widget,它和TabBarView功能相似,读者可以自行了解一下。 抽屉菜单Drawer Scaffold的drawer和endDrawer属性可以分别接受一个Widget作为页面的左、右抽屉菜单,如果开发者提供了抽屉菜单,那么当用户手指重屏幕左/右向里滑动时便可打开抽屉菜单。本节开始部分的示例中实现了一个左抽屉菜单MyDrawer,源码如下: class MyDrawer extends StatelessWidget { const MyDrawer({ Key key, }) : super(key: key); @override Widget build(BuildContext context) { return Drawer( child: MediaQuery.removePadding( context: context, // DrawerHeader consumes top MediaQuery padding. removeTop: true, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only(top: 38.0), child: Row( children: [ Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: ClipOval( child: Image.asset( \"imgs/avatar.png\", width: 80, ), ), ), Text( \"Wendux\", style: TextStyle(fontWeight: FontWeight.bold), ) ], ), ), Expanded( child: ListView( children: [ ListTile( leading: const Icon(Icons.add), title: const Text('Add account'), ), ListTile( leading: const Icon(Icons.settings), title: const Text('Manage accounts'), ), ], ), ), ], ), ), ); } } 抽屉菜单通常将Drawer作为根节点,它实现了Material风格的菜单面板,MediaQuery.removePadding可以移除抽Drawer内的一些指定空白,读者可以尝试传递不同的参数来看看实际效果。抽屉菜单页顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现,关于ListView我们将在后面“可滚动Widget”一节详细介绍。 FloatingActionButton FloatingActionButton是Material设计规范中的一种特殊Button,通常悬浮在页面的某一个位置作为某种常用动作的快捷入口,如本节示例中页面右下角的\"➕\"号按钮。我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置,这个比较简单,不在赘述。 底部Tab导航栏 我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar和BottomNavigationBarItem两个Widget来实现Material风格的底部导航栏,可以看到代码非常简单,不在赘述。但是如果我们想实现如下效果的底部导航应该怎么做呢? Material组件库中提供了一个BottomAppBar Widget,可以和FloatingActionButton配合实现这种\"打洞\"效果。源码如下: bottomNavigationBar: BottomAppBar( color: Colors.white, shape: CircularNotchedRectangle(), // 底部导航栏打一个圆形的洞 child: Row( children: [ IconButton(icon: Icon(Icons.home)), SizedBox(), //中间位置空出 IconButton(icon: Icon(Icons.business)), ], mainAxisAlignment: MainAxisAlignment.spaceAround, //均分底部导航栏横向空间 ), ) 可以看到,上面代码中没有控制打洞位置的属性,实际上,打洞的位置取决于FloatingActionButton的位置,上面FloatingActionButton的位置为: floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, BottomAppBar的shape属性决定洞的外形,CircularNotchedRectangle实现了一个圆形的外形,我们也可以自定义外形,比如,Flutter Gallery示例中就有一个”钻石“形状的实现,读者感兴趣可以自行查看。 "},"chapter6/":{"url":"chapter6/","title":"可滚动Widgets","keywords":"","body":"本章目录 可滚动Widgets简介 SingleChildScrollView ListView GridView CustomScrollView 滚动监听及控制ScrollController "},"chapter6/intro.html":{"url":"chapter6/intro.html","title":"可滚动Widgets简介","keywords":"","body":"可滚动Widget简介 当内容超过显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动widget(Scrollable Widget)用于显示列表和长布局。在本章中,我们先介绍一下常用的可滚动widget(如ListView、GridView等),然后介绍一下Scrollable与可滚动widget的原理。可滚动Widget都直接或间接包含一个Scrollable widget,因此它们包括一些共同的属性,为了避免重复介绍,我们在此统一介绍一下: Scrollable({ ... this.axisDirection = AxisDirection.down, this.controller, this.physics, @required this.viewportBuilder, //后面介绍 }) axisDirection:滚动方向。 physics:此属性接受一个ScrollPhysics对象,它决定可滚动Widget如何响应用户操作,比如用户滑动完抬起手指后,继续执行动画;或者滑动到边界时,如何显示。默认情况下,Flutter会根据具体平台分别使用不同的ScrollPhysics对象,应用不同的显示效果,如当滑动到边界时,继续拖动的话,在iOS上会出现弹性效果,而在Android上会出现微光效果。如果你想在所有平台下使用同一种效果,可以显式指定,Flutter SDK中包含了两个ScrollPhysics的子类可以直接使用: ClampingScrollPhysics:Android下微光效果。 BouncingScrollPhysics:iOS下弹性效果。 controller:此属性接受一个ScrollController对象。ScrollController的主要作用是控制滚动位置和监听滚动事件。默认情况下,widget树中会有一个默认的PrimaryScrollController,如果子树中的可滚动widget没有显式的指定controller并且primary属性值为true时(默认就为true),可滚动widget会使用这个默认的PrimaryScrollController,这种机制带来的好处是父widget可以控制子树中可滚动widget的滚动,例如,Scaffold使用这种机制在iOS中实现了\"回到顶部\"的手势。我们将在本章后面“滚动控制”一节详细介绍ScrollController。 Scrollbar Scrollbar是一个Material风格的滚动指示器(滚动条),如果要给可滚动widget添加滚动条,只需将Scrollbar作为可滚动widget的父widget即可,如: Scrollbar( child: SingleChildScrollView( ... ), ); Scrollbar和CupertinoScrollbar都是通过ScrollController来监听滚动事件来确定滚动条位置,关于ScrollController详细的内容我们将在后面专门一节介绍。 CupertinoScrollbar CupertinoScrollbar是iOS风格的滚动条,如果你使用的是Scrollbar,那么在iOS平台它会自动切换为CupertinoScrollbar。 ViewPort视口 在很多布局系统中都有ViewPort的概念,在Flutter中,术语ViewPort(视口),如无特别说明,则是指一个Widget的实际显示区域。例如,一个ListView的显示区域高度是800像素,虽然其列表项总高度可能远远超过800像素,但是其ViewPort仍然是800像素。 主轴和纵轴 在可滚动widget的坐标描述中,通常将滚动方向称为主轴,非滚动方向称为纵轴。由于可滚动widget的默认方向一般都是沿垂直方向,所以默认情况下主轴就是指垂直方向,水平方向同理。 "},"chapter6/single_child_scrollview.html":{"url":"chapter6/single_child_scrollview.html","title":"SingleChildScrollView","keywords":"","body":"SingleChildScrollView SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子Widget。定义如下: SingleChildScrollView({ this.scrollDirection = Axis.vertical, //滚动方向,默认是垂直方向 this.reverse = false, this.padding, bool primary, this.physics, this.controller, this.child, }) 除了通用属性,我们重点看一下reverse和primary两个属性: reverse:该属性API文档解释是:是否按照阅读方向相反的方向滑动,如:scrollDirection值为Axis.horizontal,如果阅读方向是从左到右(取决于语言环境,阿拉伯语就是从右到左),reverse为true时,那么滑动方向就是从右往左。其实此属性本质上是决定可滚动widget的初始滚动位置是在“头”还是“尾”,取false时,初始滚动位置在“头”,反之则在“尾”,读者可以自己试验。 primary:指是否使用widget树中默认的PrimaryScrollController;当滑动方向为垂直方向(scrollDirection值为Axis.vertical)并且controller没有指定时,primary默认为true. 示例 下面是一个将大写字母A-Z沿垂直方向显示的例子,由于垂直方向空间不够,所以使用SingleChildScrollView。: class SingleChildScrollViewTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { String str = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"; return Scrollbar( child: SingleChildScrollView( padding: EdgeInsets.all(16.0), child: Center( child: Column( //动态创建一个List children: str.split(\"\") //每一个字母都用一个Text显示,字体为原来的两倍 .map((c) => Text(c, textScaleFactor: 2.0,)) .toList(), ), ), ), ); } } 效果: "},"chapter6/listview.html":{"url":"chapter6/listview.html","title":"ListView","keywords":"","body":"ListView ListView是最常用的可滚动widget,它可以沿一个方向线性排布所有子widget。我们看看ListView的默认构造函数定义: ListView({ ... //可滚动widget公共参数 Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController controller, bool primary, ScrollPhysics physics, EdgeInsetsGeometry padding, //ListView各个构造函数的共同参数 double itemExtent, bool shrinkWrap = false, bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, double cacheExtent, //子widget列表 List children = const [], }) 上面参数分为两组:第一组是可滚动widget公共参数,前面已经介绍过,不再赘述;第二组是ListView各个构造函数(ListView有多个构造函数)的共同参数,我们重点来看看这些参数,: itemExtent:该参数如果不为null,则会强制children的\"长度\"为itemExtent的值;这里的\"长度\"是指滚动方向上子widget的长度,即如果滚动方向是垂直方向,则itemExtent代表子widget的高度,如果滚动方向为水平方向,则itemExtent代表子widget的长度。在ListView中,指定itemExtent比让子widget自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而不是总是动态去计算,尤其是在滚动位置频繁变化时(滚动系统需要频繁去计算列表高度)。 shrinkWrap:该属性表示是否根据子widget的总长度来设置ListView的长度,默认值为false 。默认情况下,ListView的会在滚动方向尽可能多的占用空间。当ListView在一个无边界(滚动方向上)的容器中时,shrinkWrap必须为true。 addAutomaticKeepAlives:该属性表示是否将列表项(子widget)包裹在AutomaticKeepAlive widget中;典型地,在一个懒加载列表中,如果将列表项包裹在AutomaticKeepAlive中,在该列表项滑出视口时该列表项不会被GC,它会使用KeepAliveNotification来保存其状态。如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。 addRepaintBoundaries:该属性表示是否将列表项(子widget)包裹在RepaintBoundary中。当可滚动widget滚动时,将列表项包裹在RepaintBoundary中可以避免列表项重绘,但是当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加RepaintBoundary反而会更高效。和addAutomaticKeepAlive一样,如果列表项自己维护其KeepAlive状态,那么此参数必须置为false。 注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动widget也可能会拥有这些参数,它们的含义是相同的。 默认构造函数 默认构造函数有一个children参数,它接受一个Widget列表(List)。这种方式适合只有少量的子widget的情况,因为这种方式需要将所有children都提前创建好(这需要做大量工作),而不是等到子widget真正显示的时候再创建。实际上通过此方式创建的ListView和使用SingleChildScrollView+Column的方式没有本质的区别。下面是一个例子: ListView( shrinkWrap: true, padding: const EdgeInsets.all(20.0), children: [ const Text('I\\'m dedicating every day to you'), const Text('Domestic life was never quite my style'), const Text('When you smile, you knock me out, I fall apart'), const Text('And I thought I was so smart'), ], ); 注意:可滚动widget通过一个List来作为其children属性时,只适用于子widget较少的情况,这是一个通用规律,并非ListView自己的特性,像GridView也是如此。 ListView.builder ListView.builder适合列表项比较多(或者无限)的情况,因为只有当子Widget真正显示的时候才会被创建。下面看一下ListView.builder的核心参数列表: ListView.builder({ // ListView公共参数已省略 ... @required IndexedWidgetBuilder itemBuilder, int itemCount, ... }) itemBuilder:它是列表项的构建器,类型为IndexedWidgetBuilder,返回值为一个widget。当列表滚动到具体的index位置时,会调用该构建器构建列表项。 itemCount:列表项的数量,如果为null,则为无限列表。 看一个例子: ListView.builder( itemCount: 100, itemExtent: 50.0, //强制高度为50.0 itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); } ); ListView.separated ListView.separated可以生成列表项之间的分割器,它除了比ListView.builder多了一个separatorBuilder参数,该参数是一个分割器生成器。下面我们看一个例子:奇数行添加一条蓝色下划线,偶数行添加一条绿色下划线。 class ListView3 extends StatelessWidget { @override Widget build(BuildContext context) { //下划线widget预定义以供复用。 Widget divider1=Divider(color: Colors.blue,); Widget divider2=Divider(color: Colors.green); return ListView.separated( itemCount: 100, //列表项构造器 itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }, //分割器构造器 separatorBuilder: (BuildContext context, int index) { return index%2==0?divider1:divider2; }, ); } } 实例:无限加载列表 假设我们要从数据源异步分批拉取一些数据,然后用ListView显示,当我们滑动到列表末尾时,判断是否需要再去拉取数据,如果是,则去拉取,拉取过程中在表尾显示一个loading,拉取成功后将数据插入列表;如果不需要再去拉取,则在表尾提示\"没有更多\"。代码如下: class InfiniteListView extends StatefulWidget { @override _InfiniteListViewState createState() => new _InfiniteListViewState(); } class _InfiniteListViewState extends State { static const loadingTag = \"##loading##\"; //表尾标记 var _words = [loadingTag]; @override void initState() { _retrieveData(); } @override Widget build(BuildContext context) { return ListView.separated( itemCount: _words.length, itemBuilder: (context, index) { //如果到了表尾 if (_words[index] == loadingTag) { //不足100条,继续获取数据 if (_words.length - 1 Divider(height: .0), ); } void _retrieveData() { Future.delayed(Duration(seconds: 2)).then((e) { _words.insertAll(_words.length - 1, //每次生成20个单词 generateWordPairs().take(20).map((e) => e.asPascalCase).toList() ); setState(() { //重新构建列表 }); }); } } 代码比较简单,读者可以参照代码中的注释理解,故不再赘述。需要说明的是,_retrieveData()的功能是模拟从数据源异步获取数据,我们使用english_words包的generateWordPairs()方法每次生成20个单词。 添加固定表头 很多时候我们需要给列表添加一个固定表头,比如我们想实现一个商品列表,需要在列表顶部添加一个“商品列表”标题,效果如下: 我们按照之前经验,写出如下代码: @override Widget build(BuildContext context) { return Column(children: [ ListTile(title:Text(\"商品列表\")), ListView.builder(itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }), ]); } 然后运行,发现并没有出现我们期望的效果,相反触发了一个异常; Error caught by rendering library, thrown during performResize()。 Vertical viewport was given unbounded height ... 从异常信息中我们可到是因为ListView高度边界无法确定引起,所以解决的办法也很明显,我们需要给ListView指定边界,我们通过SizedBox指定一个列表高度看看是否生效: ... //省略无关代码 SizedBox( height: 400, //指定列表高度为400 child: ListView.builder(itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }), ), ... 运行效果如下: 可以看到,现在没有触发异常并且列表已经显示出来了,但是我们的手机屏幕高度要大于400,所以底部会有一些空白,那如果我们要实现列表铺满除过表头以外的屏幕空间呢?直观的方法是我们动态计算,用屏幕高度减去状态栏、导航栏、表头的高度即为剩余屏幕高度,代码如下: ... //省略无关代码 SizedBox( //Material设计规范中状态栏、导航栏、ListTile高度分别为24、56、56 height: MediaQuery.of(context).size.height-24-56-56, child: ListView.builder(itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }), ) ... 运行效果如下: 可以看到,我们期望的效果实现了,但是这种方法并不优雅,如果页面布局发生变化,如表头布局调整导致表头高度改变,那么剩余空间的高度就得重新计算,那么有什么方法可以自动拉升ListView以填充屏幕剩余空间的方法吗?当然有!答案就是Flex。前面已经介绍过在Flex布局中,可以使用Expanded自动拉伸组件大小的Widget,我们也说过Column是继承自Flex的,所以我们可以直接使用Column+Expanded来实现,代码如下: @override Widget build(BuildContext context) { return Column(children: [ ListTile(title:Text(\"商品列表\")), Expanded( child: ListView.builder(itemBuilder: (BuildContext context, int index) { return ListTile(title: Text(\"$index\")); }), ), ]); } 总结 本节主要介绍了ListView的一些公共参数以及常用的构造函数。不同的构造函数对应了不同的列表项生成模型,如果需要自定义列表项生成模型,可以通过ListView.custom来自定义,它需要实现一个SliverChildDelegate用来给ListView生成列表项widget,更多详情请参考API文档。 "},"chapter6/gridview.html":{"url":"chapter6/gridview.html","title":"GridView","keywords":"","body":"GridView GridView可以构建一个二维网格列表,其默认构造函数定义如下: GridView({ Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController controller, bool primary, ScrollPhysics physics, bool shrinkWrap = false, EdgeInsetsGeometry padding, @required SliverGridDelegate gridDelegate, //控制子widget layout的委托 bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, double cacheExtent, List children = const [], }) 我们可以看到,GridView和ListView的大多数参数都是相同的,它们的含义也都相同,如有疑惑读者可以翻阅ListView一节,在此不再赘述。我们唯一需要关注的是gridDelegate参数,类型是SliverGridDelegate,它的作用是控制GridView子widget如何排列(layout),SliverGridDelegate是一个抽象类,定义了GridView Layout相关接口,子类需要通过实现它们来实现具体的布局算法,Flutter中提供了两个SliverGridDelegate的子类SliverGridDelegateWithFixedCrossAxisCount和SliverGridDelegateWithMaxCrossAxisExtent,下面我们分别介绍: SliverGridDelegateWithFixedCrossAxisCount 该子类实现了一个横轴为固定数量子元素的layout算法,其构造函数为: SliverGridDelegateWithFixedCrossAxisCount({ @required double crossAxisCount, double mainAxisSpacing = 0.0, double crossAxisSpacing = 0.0, double childAspectRatio = 1.0, }) crossAxisCount:横轴子元素的数量。此属性值确定后子元素在横轴的长度就确定了,即ViewPort横轴长度/crossAxisCount。 mainAxisSpacing:主轴方向的间距。 crossAxisSpacing:横轴方向子元素的间距。 childAspectRatio:子元素在横轴长度和主轴长度的比例。由于crossAxisCount指定后子元素横轴长度就确定了,然后通过此参数值就可以确定子元素在主轴的长度。 可以发现,子元素的大小是通过crossAxisCount和childAspectRatio两个参数共同决定的。注意,这里的子元素指的是子widget的最大显示空间,注意确保子widget的实际大小不要超出子元素的空间。 下面看一个例子: GridView( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, //横轴三个子widget childAspectRatio: 1.0 //宽高比为1时,子widget ), children:[ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach_access), Icon(Icons.cake), Icon(Icons.free_breakfast) ] ); GridView.count GridView.count构造函数内部使用了SliverGridDelegateWithFixedCrossAxisCount,我们通过它可以快速的创建横轴固定数量子元素的GridView,上面的示例代码等价于: GridView.count( crossAxisCount: 3, childAspectRatio: 1.0, children: [ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach_access), Icon(Icons.cake), Icon(Icons.free_breakfast), ], ); SliverGridDelegateWithMaxCrossAxisExtent 该子类实现了一个横轴子元素为固定最大长度的layout算法,其构造函数为: SliverGridDelegateWithMaxCrossAxisExtent({ double maxCrossAxisExtent, double mainAxisSpacing = 0.0, double crossAxisSpacing = 0.0, double childAspectRatio = 1.0, }) maxCrossAxisExtent为子元素在横轴上的最大长度,之所以是“最大”长度,是因为横轴方向每个子元素的长度仍然是等分的,举个例子,如果ViewPort的横轴长度是450,那么当maxCrossAxisExtent的值在区间(450/4,450/3]内的话,子元素最终实际长度都为150,而childAspectRatio所指的子元素横轴和主轴的长度比为最终的长度比。其它参数和SliverGridDelegateWithFixedCrossAxisCount相同。 下面我们看一个例子: GridView( padding: EdgeInsets.zero, gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent( maxCrossAxisExtent: 120.0, childAspectRatio: 2.0 //宽高比为2 ), children: [ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach_access), Icon(Icons.cake), Icon(Icons.free_breakfast), ], ); GridView.extent GridView.extent构造函数内部使用了SliverGridDelegateWithMaxCrossAxisExtent,我们通过它可以快速的创建纵轴子元素为固定最大长度的的GridView,上面的示例代码等价于: GridView.extent( maxCrossAxisExtent: 120.0, childAspectRatio: 2.0, children: [ Icon(Icons.ac_unit), Icon(Icons.airport_shuttle), Icon(Icons.all_inclusive), Icon(Icons.beach_access), Icon(Icons.cake), Icon(Icons.free_breakfast), ], ); GridView.builder 上面我们介绍的GridView都需要一个Widget数组作为其子元素,这些方式都会提前将所有子widget都构建好,所以只适用于子Widget数量比较少时,当子widget比较多时,我们可以通过GridView.builder来动态创建子Widget。GridView.builder 必须指定的参数有两个: GridView.builder( ... @required SliverGridDelegate gridDelegate, @required IndexedWidgetBuilder itemBuilder, ) 其中itemBuilder为子widget构建器。 示例 假设我们需要从一个异步数据源(如网络)分批获取一些Icon,然后用GridView来展示: class InfiniteGridView extends StatefulWidget { @override _InfiniteGridViewState createState() => new _InfiniteGridViewState(); } class _InfiniteGridViewState extends State { List _icons = []; //保存Icon数据 @override void initState() { // 初始化数据 _retrieveIcons(); } @override Widget build(BuildContext context) { return GridView.builder( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, //每行三列 childAspectRatio: 1.0 //显示区域宽高相等 ), itemCount: _icons.length, itemBuilder: (context, index) { //如果显示到最后一个并且Icon总数小于200时继续获取数据 if (index == _icons.length - 1 && _icons.length _retrieveIcons():在此方法中我们通过Future.delayed来模拟从异步数据源获取数据,每次获取数据需要200毫秒,获取成功后将新数据添加到_icons,然后调用setState重新构建。 在itemBuilder中,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个Icon。 更多 Flutter的GridView默认子元素显示空间是相等的,但在实际开发中,你可能会遇到子元素大小不等的情况,如下面这样的布局: Pub上有一个包“flutter_staggered_grid_view” ,它实现了一个交错GridView的布局模型,可以很轻松的实现这种布局,详情读者可以自行了解。 "},"chapter6/custom_scrollview.html":{"url":"chapter6/custom_scrollview.html","title":"CustomScrollView","keywords":"","body":"CustomScrollView CustomScrollView是可以使用sliver来自定义滚动模型(效果)的widget。它可以包含多种滚动模型,举个例子,假设有一个页面,顶部需要一个GridView,底部需要一个ListView,而要求整个页面的滑动效果是统一的,即它们看起来是一个整体,如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个\"胶水\",把这些彼此独立的可滚动widget(Sliver)\"粘\"起来,而CustomScrollView的功能就相当于“胶水”。 Sliver Sliver有细片、小片之意,在Flutter中,Sliver通常指具有特定滚动效果的可滚动块。可滚动widget,如ListView、GridView等都有对应的Sliver实现如SliverList、SliverGrid等。对于大多数Sliver来说,它们和可滚动Widget最主要的区别是Sliver不会包含Scrollable Widget,也就是说Sliver本身不包含滚动交互模型 ,正因如此,CustomScrollView才可以将多个Sliver\"粘\"在一起,这些Sliver共用CustomScrollView的Scrollable,最终实现统一的滑动效果。 Sliver系列Widget比较多,我们不会一一介绍,读者只需记住它的特点,需要时再去查看文档即可。上面之所以说“大多数“Sliver都和可滚动Widget对应,是由于还有一些如SliverPadding、SliverAppBar等是和可滚动Widget无关的,它们主要是为了结合CustomScrollView一起使用,这是因为CustomScrollView的子widget必须都是Sliver。 示例 import 'package:flutter/material.dart'; class CustomScrollViewTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { //因为本路由没有使用Scaffold,为了让子级Widget(如Text)使用 //Material Design 默认的样式风格,我们使用Material作为本路由的根。 return Material( child: CustomScrollView( slivers: [ //AppBar,包含一个导航栏 SliverAppBar( pinned: true, expandedHeight: 250.0, flexibleSpace: FlexibleSpaceBar( title: const Text('Demo'), background: Image.asset( \"./images/avatar.png\", fit: BoxFit.cover,), ), ), SliverPadding( padding: const EdgeInsets.all(8.0), sliver: new SliverGrid( //Grid gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, //Grid按两列显示 mainAxisSpacing: 10.0, crossAxisSpacing: 10.0, childAspectRatio: 4.0, ), delegate: new SliverChildBuilderDelegate( (BuildContext context, int index) { //创建子widget return new Container( alignment: Alignment.center, color: Colors.cyan[100 * (index % 9)], child: new Text('grid item $index'), ); }, childCount: 20, ), ), ), //List new SliverFixedExtentList( itemExtent: 50.0, delegate: new SliverChildBuilderDelegate( (BuildContext context, int index) { //创建列表项 return new Container( alignment: Alignment.center, color: Colors.lightBlue[100 * (index % 9)], child: new Text('list item $index'), ); }, childCount: 50 //50个列表项 ), ), ], ), ); } } 代码分为三部分: 头部SliverAppBar:SliverAppBar对应AppBar,两者不同之处在于SliverAppBar可以集成到CustomScrollView。SliverAppBar可以结合FlexibleSpaceBar实现Material Design中头部伸缩的模型,具体效果,读者可以运行该示例查看。 中间的SliverGrid:它用SliverPadding包裹以给SliverGrid添加补白。SliverGrid是一个两列,宽高比为4的网格,它有20个子widget。 底部SliverFixedExtentList:它是一个所有子元素高度都为50像素的列表。 运行效果: "},"chapter6/scroll_controller.html":{"url":"chapter6/scroll_controller.html","title":"滚动监听及控制ScrollController","keywords":"","body":"滚动监听及控制 在前几节中,我们介绍了Flutter中常用的可滚动Widget,也说过可以用ScrollController来控制可滚动widget的滚动位置,本节先介绍一下ScrollController,然后以ListView为例,展示一下ScrollController的具体用法。最后,再介绍一下路由切换时如何来保存滚动位置。 ScrollController 构造函数: ScrollController({ double initialScrollOffset = 0.0, //初始滚动位置 this.keepScrollOffset = true,//是否保存滚动位置 ... }) 我们介绍一下ScrollController常用的属性和方法: offset:可滚动Widget当前滚动的位置。 jumpTo(double offset)、animateTo(double offset,...):这两个方法用于跳转到指定的位置,它们不同之处在于,后者在跳转时会执行一个动画,而前者不会。 ScrollController还有一些属性和方法,我们将在后面原理部分解释。 滚动监听 ScrollController间接继承自Listenable,我们可以根据ScrollController来监听滚动事件。如: controller.addListener(()=>print(controller.offset)) 示例 我们创建一个ListView,当滚动位置发生变化时,我们先打印出当前滚动位置,然后判断当前位置是否超过1000像素,如果超过则在屏幕右下角显示一个“返回顶部”的按钮,该按钮点击后可以使ListView恢复到初始位置;如果没有超过1000像素,则隐藏“返回顶部”按钮。代码如下: class ScrollControllerTestRoute extends StatefulWidget { @override ScrollControllerTestRouteState createState() { return new ScrollControllerTestRouteState(); } } class ScrollControllerTestRouteState extends State { ScrollController _controller = new ScrollController(); bool showToTopBtn = false; //是否显示“返回到顶部”按钮 @override void initState() { //监听滚动事件,打印滚动位置 _controller.addListener(() { print(_controller.offset); //打印滚动位置 if (_controller.offset = 1000 && showToTopBtn == false) { setState(() { showToTopBtn = true; }); } }); } @override void dispose() { //为了避免内存泄露,需要调用_controller.dispose _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(\"滚动控制\")), body: Scrollbar( child: ListView.builder( itemCount: 100, itemExtent: 50.0, //列表项高度固定时,显式指定高度是一个好习惯(性能消耗小) controller: _controller, itemBuilder: (context, index) { return ListTile(title: Text(\"$index\"),); } ), ), floatingActionButton: !showToTopBtn ? null : FloatingActionButton( child: Icon(Icons.arrow_upward), onPressed: () { //返回到顶部时执行动画 _controller.animateTo(.0, duration: Duration(milliseconds: 200), curve: Curves.ease ); } ), ); } } 代码说明已经包含在注释里,下面我们看看运行效果: 由于列表项高度为50像素,当滑动到第20个列表项后,右下角“返回顶部”按钮会显示,点击该按钮,ListView会在返回顶部的过程中执行一个滚动动画,动画时间是200毫秒,动画曲线是Curves.ease,关于动画的详细内容我们将在后面“动画”一章中详细介绍。 滚动位置恢复 PageStorage是一个用于保存页面(路由)相关数据的Widget,它并不会影响子树的UI外观,其实,PageStorage是一个功能型Widget,它拥有一个存储桶(bucket),子树中的Widget可以通过指定不同的PageStorageKey来存储各自的数据或状态。 每次滚动结束,Scrollable Widget都会将滚动位置offset存储到PageStorage中,当Scrollable Widget 重新创建时再恢复。如果ScrollController.keepScrollOffset为false,则滚动位置将不会被存储,Scrollable Widget重新创建时会使用ScrollController.initialScrollOffset;ScrollController.keepScrollOffset为true时,Scrollable Widget在第一次创建时,会滚动到initialScrollOffset处,因为这时还没有存储过滚动位置。在接下来的滚动中就会存储、恢复滚动位置,而initialScrollOffset会被忽略。 当一个路由中包含多个Scrollable Widget时,如果你发现在进行一些跳转或切换操作后,滚动位置不能正确恢复,这时你可以通过显式指定PageStorageKey来分别跟踪不同Scrollable Widget的位置,如: ListView(key: PageStorageKey(1), ... ); ... ListView(key: PageStorageKey(2), ... ); 不同的PageStorageKey,需要不同的值,这样才可以区分为不同Scrollable Widget保存的滚动位置。 注意:一个路由中包含多个Scrollable Widget时,如果要分别跟踪它们的滚动位置,并非一定就得给他们分别提供PageStorageKey。这是因为Scrollable本身是一个StatefulWidget,它的状态中也会保存当前滚动位置,所以,只要Scrollable Widget本身没有被从树上detach掉,那么其State就不会销毁(dispose),滚动位置就不会丢失。只有当Widget发生结构变化,导致Scrollable Widget的State销毁或重新构建时才会丢失状态,这种情况就需要显式指定PageStorageKey,通过PageStorage来存储滚动位置,一个典型的场景是在使用TabBarView时,在Tab发生切换时,Tab页中的Scrollable Widget的State就会销毁,这时如果想恢复滚动位置就需要指定PageStorageKey。 ScrollPosition 一个ScrollController可以同时被多个Scrollable Widget使用,ScrollController会为每一个Scrollable Widget创建一个ScrollPosition对象,这些ScrollPosition保存在ScrollController的positions属性中(List)。ScrollPosition是真正保存滑动位置信息的对象,offset只是一个便捷属性: double get offset => position.pixels; 一个ScrollController虽然可以对应多个Scrollable Widget,但是有一些操作,如读取滚动位置offset,则需要一对一,但是我们仍然可以在一对多的情况下,通过其它方法读取滚动位置,举个例子,假设一个ScrollController同时被两个Scrollable Widget使用,那么我们可以通过如下方式分别读取他们的滚动位置: ... controller.positions.elementAt(0).pixels controller.positions.elementAt(1).pixels ... 我们可以通过controller.positions.length来确定controller被几个Scrollable Widget使用。 方法 ScrollPosition有两个常用方法:animateTo() 和 jumpTo(),它们是真正来控制跳转滚动位置的方法,ScrollController的这两个同名方法,内部最终都会调用ScrollPosition的。 ScrollController控制原理 我们来介绍一下ScrollController的另外三个方法: ScrollPosition createScrollPosition( ScrollPhysics physics, ScrollContext context, ScrollPosition oldPosition); void attach(ScrollPosition position) ; void detach(ScrollPosition position) ; 当ScrollController和Scrollable Widget关联时,Scrollable Widget首先会调用ScrollController的createScrollPosition()方法来创建一个ScrollPosition来存储滚动位置信息,接着,Scrollable Widget会调用attach()方法,将创建的ScrollPosition添加到ScrollController的positions属性中,这一步称为“注册位置”,只有注册后animateTo() 和 jumpTo()才可以被调用。当Scrollable Widget销毁时,会调用ScrollController的detach()方法,将其ScrollPosition对象从ScrollController的positions属性中移除,这一步称为“注销位置”,注销后animateTo() 和 jumpTo() 将不能再被调用。 需要注意的是,ScrollController的animateTo() 和 jumpTo()内部会调用所有ScrollPosition的animateTo() 和 jumpTo(),以实现所有和该ScrollController关联的Scrollable Widget都滚动到指定的位置。 滚动监听 Flutter Widget树中子Widget可以通过发送通知(Notification)与父(包括祖先)Widget通信。父Widget可以通过NotificationListener Widget来监听自己关注的通知,这种通信方式类似于Web开发中浏览器的事件冒泡,我们在Flutter中沿用“冒泡”这个术语。Scrollable Widget在滚动时会发送ScrollNotification类型的通知,ScrollBar正是通过监听滚动通知来实现的。通过NotificationListener监听滚动事件和通过ScrollController有两个主要的不同: 通过NotificationListener可以在从Scrollable Widget到Widget树根之间任意位置都能监听。而ScrollController只能和具体的Scrollable Widget关联后才可以。 收到滚动事件后获得的信息不同;NotificationListener在收到滚动事件时,通知中会携带当前滚动位置和ViewPort的一些信息,而ScrollController只能获取当前滚动位置。 NotificationListener NotificationListener是一个Widget,模板参数T是想监听的通知类型,如果省略,则所有类型通知都会被监听,如果指定特定类型,则只有该类型的通知会被监听。NotificationListener需要一个onNotification回调函数,用于实现监听处理逻辑,该回调可以返回一个布尔值,代表是否阻止该事件继续向上冒泡,如果为true时,则冒泡终止,事件停止向上传播,如果不返回或者返回值为false 时,则冒泡继续。 示例 下面,我们监听ListView的滚动通知,然后显示当前滚动进度百分比: import 'package:flutter/material.dart'; class ScrollNotificationTestRoute extends StatefulWidget { @override _ScrollNotificationTestRouteState createState() => new _ScrollNotificationTestRouteState(); } class _ScrollNotificationTestRouteState extends State { String _progress = \"0%\"; //保存进度百分比 @override Widget build(BuildContext context) { return Scrollbar( //进度条 // 监听滚动通知 child: NotificationListener( onNotification: (ScrollNotification notification) { double progress = notification.metrics.pixels / notification.metrics.maxScrollExtent; //重新构建 setState(() { _progress = \"${(progress * 100).toInt()}%\"; }); print(\"BottomEdge: ${notification.metrics.extentAfter == 0}\"); //return true; //放开此行注释后,进度条将失效 }, child: Stack( alignment: Alignment.center, children: [ ListView.builder( itemCount: 100, itemExtent: 50.0, itemBuilder: (context, index) { return ListTile(title: Text(\"$index\")); } ), CircleAvatar( //显示进度百分比 radius: 30.0, child: Text(_progress), backgroundColor: Colors.black54, ) ], ), ), ); } } 我们看一看运行结果: 在接收到滚动事件时,参数类型为ScrollNotification,它包括一个metrics属性,它的类型是ScrollMetrics,该属性包含当前ViewPort及滚动位置等信息: pixels:当前滚动位置。 maxScrollExtent:最大可滚动长度。 extentBefore:滑出ViewPort顶部的长度;此示例中相当于顶部滑出屏幕上方的列表长度。 extentInside:ViewPort内部长度;此示例中屏幕显示的列表部分的长度。 extentAfter:列表中未滑入ViewPort部分的长度;此示例中列表底部未显示到屏幕范围部分的长度。 atEdge:是否滑到了Scrollable Widget的边界(此示例中相当于列表顶或底部)。 ScrollMetrics还有一些其它属性,读者可以自行查阅API文档。 "},"chapter7/":{"url":"chapter7/","title":"功能型Widgets","keywords":"","body":"功能型Widget简介 功能型Widget指的是不会影响UI布局及外观的Widget,它们通常具有一定的功能,如事件监听、数据存储等,我们之前介绍过的FocusScope(焦点控制)、PageStorage(数据存储)、NotificationListener(事件监听)都属于功能型Widget。由于Widget是Flutter的一等公民,功能型Widget非常多,我们不会去一一介绍,本章中主要介绍几种常用的功能型Widget。 本章目录 导航返回拦截-WillPopScope 数据共享-InheritedWidget 主题-Theme "},"chapter7/willpopscope.html":{"url":"chapter7/willpopscope.html","title":"导航返回拦截-WillPopScope","keywords":"","body":"导航返回拦截WillPopScope 为了避免用户误触返回按钮而导致APP退出,在很多APP中都拦截了用户点击返回键的按钮,当用户在某一个时间段内点击两次时,才会认为用户是要退出(而非误触)。Flutter中可以通过WillPopScope来实现返回按钮拦截,我们看看WillPopScope的默认构造函数: const WillPopScope({ ... @required WillPopCallback onWillPop, @required Widget child }) onWillPop是一个回调函数,当用户点击返回按钮时调用(包括导航返回按钮及Android物理返回按钮),该回调需要返回一个Future对象,如果返回的Future最终值为false时,则当前路由不出栈(不会返回),最终值为true时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。 示例 为了防止用户误触返回键退出,我们拦截返回事件,当用户在1秒内点击两次返回按钮时,则退出,如果间隔超过1秒则不退出,并重新记时。代码如下: import 'package:flutter/material.dart'; class WillPopScopeTestRoute extends StatefulWidget { @override WillPopScopeTestRouteState createState() { return new WillPopScopeTestRouteState(); } } class WillPopScopeTestRouteState extends State { DateTime _lastPressedAt; //上次点击时间 @override Widget build(BuildContext context) { return new WillPopScope( onWillPop: () async { if (_lastPressedAt == null || DateTime.now().difference(_lastPressedAt) > Duration(seconds: 1)) { //两次点击间隔超过1秒则重新计时 _lastPressedAt = DateTime.now(); return false; } return true; }, child: Container( alignment: Alignment.center, child: Text(\"1秒内连续按两次返回键退出\"), ) ); } } 读者可以运行示例看看效果。 "},"chapter7/inherited_widget.html":{"url":"chapter7/inherited_widget.html","title":"数据共享-InheritedWidget","keywords":"","body":"InheritedWidget InheritedWidget是Flutter中非常重要的一个功能型Widget,它可以高效的将数据在Widget树中向下传递、共享,这在一些需要在Widget树中共享数据的场景中非常方便,如Flutter中,正是通过InheritedWidget来共享应用主题(Theme)和Locale(当前语言环境)信息的。 InheritedWidget和React中的context功能类似,和逐级传递数据相比,它们能实现组件跨级传递数据。InheritedWidget的在Widget树中数据传递方向是从上到下的,这和Notification的传递方向正好相反。 didChangeDependencies 在介绍StatefulWidget时,我们提到State对象有一个回调didChangeDependencies,它会在“依赖”发生变化时被Flutter Framework调用。而这个“依赖”指的就是是否使用了父widget中InheritedWidget的数据,如果使用了,则代表有依赖,如果没有使用则代表没有依赖。这种机制可以使子组件在所依赖的主题、locale等发生变化时有机会来做一些事情。 我们看一下之前“计数器”示例应用程序的InheritedWidget版本,需要说明的是,本例主要是为了演示InheritedWidget的功能特性,并不是计数器的推荐实现方式。 首先,我们通过继承InheritedWidget,将当前计数器点击次数保存在ShareDataWidget的data属性中: class ShareDataWidget extends InheritedWidget { ShareDataWidget({ @required this.data, Widget child }) :super(child: child); int data; //需要在子树中共享的数据,保存点击次数 //定义一个便捷方法,方便子树中的widget获取共享数据 static ShareDataWidget of(BuildContext context) { return context.inheritFromWidgetOfExactType(ShareDataWidget); } //该回调决定当data发生变化时,是否通知子树中依赖data的Widget @override bool updateShouldNotify(ShareDataWidget old) { //如果返回false,则子树中依赖(build函数中有调用)本widget //的子widget的`state.didChangeDependencies`会被调用 return old.data != data; } } 然后我们实现一个子widget _TestWidget,在其build方法中引用ShareDataWidget中的数据;同时,在其didChangeDependencies() 回调中打印日志: class _TestWidget extends StatefulWidget { @override __TestWidgetState createState() => new __TestWidgetState(); } class __TestWidgetState extends State { @override Widget build(BuildContext context) { //使用InheritedWidget中的共享数据 return Text(ShareDataWidget .of(context) .data .toString()); } @override void didChangeDependencies() { super.didChangeDependencies(); //父或祖先widget中的InheritedWidget改变(updateShouldNotify返回true)时会被调用。 //如果build中没有依赖InheritedWidget,则此回调不会被调用。 print(\"Dependencies change\"); } } 最后,我们创建一个按钮,每点击一次,就将ShareDataWidget的值自增: class InheritedWidgetTestRoute extends StatefulWidget { @override _InheritedWidgetTestRouteState createState() => new _InheritedWidgetTestRouteState(); } class _InheritedWidgetTestRouteState extends State { int count = 0; @override Widget build(BuildContext context) { return Center( child: ShareDataWidget( //使用ShareDataWidget data: count, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Padding( padding: const EdgeInsets.only(bottom: 20.0), child: _TestWidget(),//子widget中依赖ShareDataWidget ), RaisedButton( child: Text(\"Increment\"), //每点击一次,将count自增,然后重新build,ShareDataWidget的data将被更新 onPressed: () => setState(() => ++count), ) ], ), ), ); } } 运行后界面如下: 每点击一次按钮,计数器就会自增,控制台就会打印一句日志: I/flutter ( 8513): Dependencies change 可见依赖发生变化后,其didChangeDependencies()会被调用。但是读者要注意,如果_TestWidget的build方法中没有使用ShareDataWidget的数据,那么它的didChangeDependencies()将不会被调用,因为它并没有依赖ShareDataWidget。 思考题:Flutter framework是怎么知道子widget有没有依赖InheritedWidget的? 应该在didChangeDependencies()中做什么? 一般来说,子widget很少会重写此方法,因为在依赖改变后framework也都会调用build()方法。但是,如果你需要在依赖改变后执行一些昂贵的操作,比如网络请求,这时最好的方式就是在此方法中执行,这样可以避免每次build()都执行这些昂贵操作。 "},"chapter7/theme.html":{"url":"chapter7/theme.html","title":"主题-Theme","keywords":"","body":"主题 Theme Widget可以为Material APP定义主题数据(ThemeData),Material组件库里很多Widget都使用了主题数据,如导航栏颜色、标题字体、Icon样式等。Theme内会使用InheritedWidget来为其子树Widget共享样式数据。 ThemeData ThemeData是Material Design Widget库的主题数据,Material库的Widget需要遵守相应的设计规范,而这些规范可自定义部分都定义在ThemeData,所以我们可以通过ThemeData来自定义应用主题。我们可以通过Theme.of方法来获取当前的ThemeData。 注意,Material Design 设计规范中有些是不能自定义的,如导航栏高度,ThemeData只包含了可自定义部分。 我们看看ThemeData部分数据: ThemeData({ Brightness brightness, //深色还是浅色 MaterialColor primarySwatch, //主题颜色样本,见下面介绍 Color primaryColor, //主色,决定导航栏颜色 Color accentColor, //次级色,决定大多数Widget的颜色,如进度条、开关等。 Color cardColor, //卡片颜色 Color dividerColor, //分割线颜色 ButtonThemeData buttonTheme, //按钮主题 Color cursorColor, //输入框光标颜色 Color dialogBackgroundColor,//对话框背景颜色 String fontFamily, //文字字体 TextTheme textTheme,// 字体主题,包括标题、body等文字样式 IconThemeData iconTheme, // Icon的默认样式 TargetPlatform platform, //指定平台,应用特定平台控件风格 ... }) 上面只是ThemeData的一小部分属性,完整列表读者可以查看SDK定义。上面属性中需要说明的是primarySwatch,它是主题颜色的一个\"样本\",通过这个样本可以在一些条件下生成一些其它的属性,例如,如果没有指定primaryColor,并且当前主题不是深色主题,那么primaryColor就会默认为primarySwatch指定的颜色,还有一些相似的属性如accentColor 、indicatorColor等也会受primarySwatch影响。 示例 我们实现一个路由换肤功能: class ThemeTestRoute extends StatefulWidget { @override _ThemeTestRouteState createState() => new _ThemeTestRouteState(); } class _ThemeTestRouteState extends State { Color _themeColor = Colors.teal; //当前路由主题色 @override Widget build(BuildContext context) { ThemeData themeData = Theme.of(context); return Theme( data: ThemeData( primarySwatch: _themeColor, //用于导航栏、FloatingActionButton的背景色等 iconTheme: IconThemeData(color: _themeColor) //用于Icon颜色 ), child: Scaffold( appBar: AppBar(title: Text(\"主题测试\")), body: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ //第一行Icon使用主题中的iconTheme Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.favorite), Icon(Icons.airport_shuttle), Text(\" 颜色跟随主题\") ] ), //为第二行Icon自定义颜色(固定为黑色) Theme( data: themeData.copyWith( iconTheme: themeData.iconTheme.copyWith( color: Colors.black ), ), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.favorite), Icon(Icons.airport_shuttle), Text(\" 颜色固定黑色\") ] ), ), ], ), floatingActionButton: FloatingActionButton( onPressed: () => //切换主题 setState(() => _themeColor = _themeColor == Colors.teal ? Colors.blue : Colors.teal ), child: Icon(Icons.palette) ), ), ); } } 运行后点击右下角悬浮按钮则可以切换主题: 需要注意的有三点: 可以通过局部主题覆盖全局主题,正如代码中通过Theme为第二行图标指定固定颜色(黑色)一样,这是一种常用的技巧,Flutter中会经常使用这种方法来自定义子树主题。那么为什么局部主题可以覆盖全局主题?这主要是因为Widget中使用主题样式时是通过Theme.of(BuildContext context)来获取的,我们看看其简化后的代码: static ThemeData of(BuildContext context, { bool shadowThemeOnly = false }) { // 简化代码,并非源码 return context.inheritFromWidgetOfExactType(_InheritedTheme) } context.inheritFromWidgetOfExactType 会在widget树中从当前位置向上查找第一个类型为_InheritedTheme的Widget。所以当局部使用Theme后,其子树中Theme.of()找到的第一个_InheritedTheme便是该Theme的。 本示例是对单个路由换肤,如果相对整个应用换肤,可以去修改MaterialApp的theme属性。 "},"chapter8/":{"url":"chapter8/","title":"事件处理与通知","keywords":"","body":"事件处理与通知 Flutter中的手势系统有两个独立的层。第一层为原始指针(pointer)事件,它描述了屏幕上指针(例如,触摸、鼠标和触控笔)的位置和移动。 第二层为手势,描述由一个或多个指针移动组成的语义动作,如拖动、缩放、双击等。本章将先分别介绍如何处理这两种事件,最后再介绍一下Flutter中重要的Notification机制。 本章目录 原始指针事件处理 手势识别 全局事件总线 通知Notification "},"chapter8/listener.html":{"url":"chapter8/listener.html","title":"原始指针事件处理","keywords":"","body":"Pointer事件处理 本节先来介绍一下原始指针事件(Pointer Event,在移动设备上通常为触摸事件),下一节再介绍手势处理。 在移动端,各个平台或UI系统的原始指针事件模型基本都是一致,即:一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。 当指针按下时,Flutter会对应用程序执行命中测试(Hit Test),以确定指针与屏幕接触的位置存在哪些widget, 指针按下事件(以及该指针的后续事件)然后被分发到由命中测试发现的最内部的widget,然后从那里开始,事件会在widget树中向上冒泡,这些事件会从最内部的widget被分发到到widget根的路径上的所有Widget,这和Web开发中浏览器的事件冒泡机制相似, 但是Flutter中没有机制取消或停止冒泡过程,而浏览器的冒泡是可以停止的。注意,只有通过命中测试的Widget才能触发事件。 Flutter中可以使用Listener widget来监听原始触摸事件,它也是一个功能性widget。 Listener({ Key key, this.onPointerDown, //手指按下回调 this.onPointerMove, //手指移动回调 this.onPointerUp,//手指抬起回调 this.onPointerCancel,//触摸事件取消回调 this.behavior = HitTestBehavior.deferToChild, //在命中测试期间如何表现 Widget child }) 我们先看一个示例,后面再单独讨论一下behavior属性。 ... //定义一个状态,保存当前指针位置 PointerEvent _event; ... Listener( child: Container( alignment: Alignment.center, color: Colors.blue, width: 300.0, height: 150.0, child: Text(_event?.toString()??\"\",style: TextStyle(color: Colors.white)), ), onPointerDown: (PointerDownEvent event) => setState(()=>_event=event), onPointerMove: (PointerMoveEvent event) => setState(()=>_event=event), onPointerUp: (PointerUpEvent event) => setState(()=>_event=event), ), 手指在蓝色矩形区域内移动即可看到当前指针偏移,当触发指针事件时,参数PointerDownEvent、PointerMoveEvent、PointerUpEvent都是PointerEvent的一个子类,PointerEvent类中包括当前指针的一些信息,如: position:它是鼠标相对于当对于全局坐标的偏移。 delta:两次指针移动事件(PointerMoveEvent)的距离。 pressure:按压力度,如果手机屏幕支持压力传感器(如iPhone的3D Touch),此属性会更有意义,如果手机不支持,则始终为1。 orientation:指针移动方向,是一个角度值。 上面只是PointerEvent一些常用属性,除了这些它还有很多属性,读者可以查看API文档。 现在,我们重点来介绍一下behavior属性,它决定子Widget如何响应命中测试,它的值类型为HitTestBehavior,这是一个枚举类,有三个枚举值: deferToChild:子widget会一个接一个的进行命中测试,如果子Widget中有测试通过的,则当前Widget通过,这就意味着,如果指针事件作用于子Widget上时,其父(祖先)Widget也肯定可以收到该事件。 opaque:在命中测试时,将当前Widget当成不透明处理(即使本身是透明的),最终的效果相当于当前Widget的整个区域都是点击区域。举个例子: Listener( child: ConstrainedBox( constraints: BoxConstraints.tight(Size(300.0, 150.0)), child: Center(child: Text(\"Box A\")), ), //behavior: HitTestBehavior.opaque, onPointerDown: (event) => print(\"down A\") ), 上例中,只有点击文本内容区域才会触发点击事件,如果我们想让整个300×150的矩形区域都能点击我们可以将behavior设为HitTestBehavior.opaque。注意,该属性并不能用于在Widget树中拦截(忽略)事件,它只是决定命中测试时的Widget大小。 translucent:当点击Widget透明区域时,可以对自身边界内及底部可视区域都进行命中测试,这意味着点击顶部widget透明区域时,顶部widget和底部widget都可以接收到事件,例如: Stack( children: [ Listener( child: ConstrainedBox( constraints: BoxConstraints.tight(Size(300.0, 200.0)), child: DecoratedBox( decoration: BoxDecoration(color: Colors.blue)), ), onPointerDown: (event) => print(\"down0\"), ), Listener( child: ConstrainedBox( constraints: BoxConstraints.tight(Size(200.0, 100.0)), child: Center(child: Text(\"左上角200*100范围内非文本区域点击\")), ), onPointerDown: (event) => print(\"down1\"), //behavior: HitTestBehavior.translucent, //放开此行注释后可以\"点透\" ) ], ) 上例中,当注释掉最后一行代码后,在左上角200*100范围内非文本区域点击时(顶部Widget透明区域),控制台只会打印“down0”,也就是说顶部widget没有接收到事件,而只有底部接收到了。当放开注释后,再点击时顶部和底部都会接收到事件,此时会打印: I/flutter ( 3039): down1 I/flutter ( 3039): down0 如果behavior值改为HitTestBehavior.opaque,则只会打印\"down1\"。 忽略PointerEvent 假如我们不想让某个子树响应PointerEvent的话,我们可以使用IgnorePointer和AbsorbPointer,这两个Widget都能阻止子树接收指针事件,不同之处在于AbsorbPointer本身会参与命中测试,而IgnorePointer本身不会参与,这就意味着AbsorbPointer本身是可以接收指针事件的(但其子树不行),而IgnorePointer不可以。一个简单的例子如下: Listener( child: AbsorbPointer( child: Listener( child: Container( color: Colors.red, width: 200.0, height: 100.0, ), onPointerDown: (event)=>print(\"in\"), ), ), onPointerDown: (event)=>print(\"up\"), ) 点击Container时,由于它在AbsorbPointer的子树上,所以不会响应指针事件,所以日志不会输出\"in\",但AbsorbPointer本身是可以接收指针事件的,所以会输出\"up\"。如果将AbsorbPointer换成IgnorePointer,那么两个都不会输出。 "},"chapter8/gesture.html":{"url":"chapter8/gesture.html","title":"手势识别","keywords":"","body":"手势识别GestureDetector GestureDetector是一个用于手势识别的功能性Widget,我们通过它可以来识别各种手势,它是指针事件的语义化封装,接下来我们详细介绍一下各种手势识别: 点击、双击、长按 我们通过GestureDetector对Container进行手势识别,触发相应事件后,在Container上显示事件名,为了增大点击区域,将Container设置为200×100,代码如下: class GestureDetectorTestRoute extends StatefulWidget { @override _GestureDetectorTestRouteState createState() => new _GestureDetectorTestRouteState(); } class _GestureDetectorTestRouteState extends State { String _operation = \"No Gesture detected!\"; //保存事件名 @override Widget build(BuildContext context) { return Center( child: GestureDetector( child: Container( alignment: Alignment.center, color: Colors.blue, width: 200.0, height: 100.0, child: Text(_operation, style: TextStyle(color: Colors.white), ), ), onTap: () => updateText(\"Tap\"),//点击 onDoubleTap: () => updateText(\"DoubleTap\"), //双击 onLongPress: () => updateText(\"LongPress\"), //长按 ), ); } void updateText(String text) { //更新显示的事件名 setState(() { _operation = text; }); } } 运行效果: 注意: 当同时监听onTap和onDoubleTap事件时,当用户触发tap事件时,会有200毫秒左右的延时,这是因为当用户点击完之后很可能会再次点击以触发双击事件,所以GestureDetector会等一断时间来确定是否为双击事件。如果用户只监听了onTap(没有监听onDoubleTap)事件时,则没有延时。 拖动、滑动 一次完整的手势过程是指用户手指按下到抬起的整个过程,期间,用户按下手指后可能会移动,也可能不会移动。GestureDetector对于拖动和滑动事件是没有区分的,他们本质上是一样的。GestureDetector会将要监听的widget的原点(左上角)作为本次手势的原点,当用户在监听的widget上按下手指时,手势识别就会开始。下面我们看一个拖动圆形字母A的示例: class _Drag extends StatefulWidget { @override _DragState createState() => new _DragState(); } class _DragState extends State with SingleTickerProviderStateMixin { double _top = 0.0; //距顶部的偏移 double _left = 0.0;//距左边的偏移 @override Widget build(BuildContext context) { return Stack( children: [ Positioned( top: _top, left: _left, child: GestureDetector( child: CircleAvatar(child: Text(\"A\")), //手指按下时会触发此回调 onPanDown: (DragDownDetails e) { //打印手指按下的位置(相对于屏幕) print(\"用户手指按下:${e.globalPosition}\"); }, //手指滑动时会触发此回调 onPanUpdate: (DragUpdateDetails e) { //用户手指滑动时,更新偏移,重新构建 setState(() { _left += e.delta.dx; _top += e.delta.dy; }); }, onPanEnd: (DragEndDetails e){ //打印滑动结束时在x、y轴上的速度 print(e.velocity); }, ), ) ], ); } } 运行后,就可以在任意方向拖动了: 日志: I/flutter ( 8513): 用户手指按下:Offset(26.3, 101.8) I/flutter ( 8513): Velocity(235.5, 125.8) 代码解释: DragDownDetails.globalPosition:当用户按下时,此属性为用户按下的位置相对于屏幕(而非父widget)原点(左上角)的偏移。 DragUpdateDetails.delta:当用户在屏幕上滑动时,会触发多次Update事件,delta指一次Update事件的滑动的偏移量。 DragEndDetails.velocity:该属性代表用户抬起手指时的滑动速度(包含x、y两个轴的),示例中并没有处理手指抬起时的速度,常见的效果是根据用户抬起手指时的速度做一个减速动画。 单一方向拖动 在本示例中,是可以朝任意方向拖动的,但是在很多场景,我们只需要沿一个方向来拖动,如一个垂直方向的列表,GestureDetector可以只识别特定方向的手势事件,我们将上面的例子改为只能沿垂直方向拖动: class _DragVertical extends StatefulWidget { @override _DragVerticalState createState() => new _DragVerticalState(); } class _DragVerticalState extends State { double _top = 0.0; @override Widget build(BuildContext context) { return Stack( children: [ Positioned( top: _top, child: GestureDetector( child: CircleAvatar(child: Text(\"A\")), //垂直方向拖动事件 onVerticalDragUpdate: (DragUpdateDetails details) { setState(() { _top += details.delta.dy; }); } ), ) ], ); } } 这样就只能在垂直方向拖动了,如果只想在水平方向滑动同理。 缩放 GestureDetector可以监听缩放事件,下面示例演示了一个简单的图片缩放效果: class _ScaleTestRouteState extends State { double _width = 200.0; //通过修改图片宽度来达到缩放效果 @override Widget build(BuildContext context) { return Center( child: GestureDetector( //指定宽度,高度自适应 child: Image.asset(\"./images/sea.png\", width: _width), onScaleUpdate: (ScaleUpdateDetails details) { setState(() { //缩放倍数在0.8到10倍之间 _width=200*details.scale.clamp(.8, 10.0); }); }, ), ); } } 运行效果: 现在在图片上双指张开、收缩就可以放大、缩小图片。本示例比较简单,实际中我们通常还需要一些其它功能,如双击放大或缩小一定倍数、双指张开离开屏幕时执行一个减速放大动画等,我们将在后面“动画”一章中实现一个完整的缩放Widget。 GestureRecognizer GestureDetector内部是使用一个或多个GestureRecognizer来识别各种手势的,而GestureRecognizer的作用就是通过Listener来将原始指针事件转换为语义手势,GestureDetector直接可以接收一个子Widget。GestureRecognizer是一个抽象类,一种手势的识别器对应一个GestureRecognizer的子类,Flutter实现了丰富的手势识别器,我们可以直接使用。 示例 假设我们要给一段富文本(RichText)的不同部分分别添加点击事件处理器,但是TextSpan并不是一个Widget,这时我们不能用GestureDetector,但TextSpan有一个recognizer属性,它可以接收一个GestureRecognizer,假设我们在点击时给文本变色: import 'package:flutter/gestures.dart'; class _GestureRecognizerTestRouteState extends State { TapGestureRecognizer _tapGestureRecognizer = new TapGestureRecognizer(); bool _toggle = false; //变色开关 @override void dispose() { //用到GestureRecognizer的话一定要调用其dispose方法释放资源 _tapGestureRecognizer.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Center( child: Text.rich( TextSpan( children: [ TextSpan(text: \"你好世界\"), TextSpan( text: \"点我变色\", style: TextStyle( fontSize: 30.0, color: _toggle ? Colors.blue : Colors.red ), recognizer: _tapGestureRecognizer ..onTap = () { setState(() { _toggle = !_toggle; }); }, ), TextSpan(text: \"你好世界\"), ] ) ), ); } } 运行效果: 注意:使用GestureRecognizer后一定要调用其dispose()方法来释放资源(主要是取消内部的计时器)。 手势竞争与冲突 竞争 如果在上例中我们同时监听水平和垂直方向的拖动事件,那么我们斜着拖动时哪个方向会生效?实际上取决于第一次移动时两个轴上的位移分量,哪个轴的大,哪个轴在本次滑动事件竞争中就胜出。实际上Flutter中的手势识别引入了一个Arena的概念,Arena直译为“竞技场”的意思,每一个手势识别器(GestureRecognizer)都是一个“竞争者”(GestureArenaMember),当发生滑动事件时,他们都要在“竞技场”去竞争本次事件的处理权,而最终只有一个“竞争者”会胜出(win)。例如,假设有一个ListView,它的第一个子Widget也是ListView,如果现在滑动这个子ListView,父ListView会动吗?答案是否定的,这时只有子Widget会动,因为这时子Widget会胜出而获得滑动事件的处理权。 示例 我们以拖动手势为例,同时识别水平和垂直方向的拖动手势,当用户按下手指时就会触发竞争(水平方向和垂直方向),一旦某个方向“获胜”,则直到当次拖动手势结束都会沿着该方向移动。代码如下: import 'package:flutter/material.dart'; class BothDirectionTestRoute extends StatefulWidget { @override BothDirectionTestRouteState createState() => new BothDirectionTestRouteState(); } class BothDirectionTestRouteState extends State { double _top = 0.0; double _left = 0.0; @override Widget build(BuildContext context) { return Stack( children: [ Positioned( top: _top, left: _left, child: GestureDetector( child: CircleAvatar(child: Text(\"A\")), //垂直方向拖动事件 onVerticalDragUpdate: (DragUpdateDetails details) { setState(() { _top += details.delta.dy; }); }, onHorizontalDragUpdate: (DragUpdateDetails details) { setState(() { _left += details.delta.dx; }); }, ), ) ], ); } } 此示例运行后,每次拖动只会沿一个方向移动(水平或垂直),而竞争发生在手指按下后首次移动(move)时,此例中具体的“获胜”条件是:首次移动时的位移在水平和垂直方向上的分量大的一个获胜。 手势冲突 由于手势竞争最终只有一个胜出者,所以,当有多个手势识别器时,可能会产生冲突。假设有一个widget,它可以左右拖动,现在我们也想检测在它上面手指按下和抬起的事件,代码如下: class GestureConflictTestRouteState extends State { double _left = 0.0; @override Widget build(BuildContext context) { return Stack( children: [ Positioned( left: _left, child: GestureDetector( child: CircleAvatar(child: Text(\"A\")), //要拖动和点击的widget onHorizontalDragUpdate: (DragUpdateDetails details) { setState(() { _left += details.delta.dx; }); }, onHorizontalDragEnd: (details){ print(\"onHorizontalDragEnd\"); }, onTapDown: (details){ print(\"down\"); }, onTapUp: (details){ print(\"up\"); }, ), ) ], ); } } 现在我们按住圆形“A”拖动然后抬起手指,控制台日志如下: I/flutter (17539): down I/flutter (17539): onHorizontalDragEnd 我们发现没有打印\"up\",这是因为在拖动时,刚开始按下手指时在没有移动时,拖动手势还没有完整的语义,此时TapDown手势胜出(win),此时打印\"down\",而拖动时,拖动手势会胜出,当手指抬起时,onHorizontalDragEnd 和 onTapUp发生了冲突,但是因为是在拖动的语义中,所以onHorizontalDragEnd胜出,所以就会打印 “onHorizontalDragEnd”。如果我们的代码逻辑中,对于手指按下和抬起是强依赖的,比如在一个轮播图组件中,我们希望手指按下时,暂停轮播,而抬起时恢复轮播,但是由于轮播图组件中本身可能已经处理了拖动手势(支持手动滑动切换),甚至可能也支持了缩放手势,这时我们如果在外部再用onTapDown、onTapUp来监听的话是不行的。这时我们应该怎么做?其实很简单,通过Listener监听原始指针事件就行: Positioned( top:80.0, left: _leftB, child: Listener( onPointerDown: (details) { print(\"down\"); }, onPointerUp: (details) { //会触发 print(\"up\"); }, child: GestureDetector( child: CircleAvatar(child: Text(\"B\")), onHorizontalDragUpdate: (DragUpdateDetails details) { setState(() { _leftB += details.delta.dx; }); }, onHorizontalDragEnd: (details) { print(\"onHorizontalDragEnd\"); }, ), ), ) 总结: 手势冲突只是手势级别的,而手势是对原始指针的语义化的识别,所以在遇到复杂的冲突场景时,都可以通过Listener直接识别原始指针事件来解决冲突。 "},"chapter8/eventbus.html":{"url":"chapter8/eventbus.html","title":"全局事件总线","keywords":"","body":"事件总线 在APP中,我们经常会需要一个广播机制,用以跨页面事件通知,比如一个需要登录的APP中,页面会关注用户登录或注销事件,来进行一些状态更新。这时候,一个事件总线便会非常有用,事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,本节我们实现一个简单的全局事件总线,我们使用单例模式,代码如下: //订阅者回调签名 typedef void EventCallback(arg); class EventBus { //私有构造函数 EventBus._internal(); //保存单例 static EventBus _singleton = new EventBus._internal(); //工厂构造函数 factory EventBus()=> _singleton; //保存事件订阅者队列,key:事件名(id),value: 对应事件的订阅者队列 var _emap = new Map>(); //添加订阅者 void on(eventName, EventCallback f) { if (eventName == null || f == null) return; _emap[eventName] ??= new List(); _emap[eventName].add(f); } //移除订阅者 void off(eventName, [EventCallback f]) { var list = _emap[eventName]; if (eventName == null || list == null) return; if (f == null) { _emap[eventName] = null; } else { list.remove(f); } } //触发事件,事件触发后该事件所有订阅者会被调用 void emit(eventName, [arg]) { var list = _emap[eventName]; if (list == null) return; int len = list.length - 1; //反向遍历,防止在订阅者在回调中移除自身带来的下标错位 for (var i = len; i > -1; --i) { list[i](arg); } } } //定义一个top-level变量,页面引入该文件后可以直接使用bus var bus = new EventBus(); 使用 //页面A中 ... //监听登录事件 bus.on(\"login\", (arg) { // do something }); //登录页B中 ... //登录成功后触发登录事件,页面A中订阅者会被调用 bus.emit(\"login\", userInfo); 注意:Dart中实现单例模式的标准做法就是使用static变量+工厂构造函数的方式,这样就可以保证new EventBus()始终返回都是同一个实例,读者应该理解并掌握这种方法。 事件总线通常用于Widget之间状态共享,但关于Widget之间状态共享也有一些专门的Package如redux,这和web框架Vue/React是一致的。通常情况下事件总线是足以满足业务需求的,如果你决定使用redux的话,一定要想清楚业务是否真的有必要用它,防止“化简为繁”、过度设计。 "},"chapter8/notification.html":{"url":"chapter8/notification.html","title":"通知Notification","keywords":"","body":"Notification Notification是Flutter中一个重要的机制,在Widget树中,每一个节点都可以分发通知,通知会沿着当前节点(context)向上传递,所有父节点都可以通过NotificationListener来监听通知,Flutter中称这种通知由子向父的传递为“通知冒泡”(Notification Bubbling),这个和用户触摸事件冒泡是相似的,但有一点不同:通知冒泡可以中止,但用户触摸事件不行。 Flutter中很多地方使用了通知,如可滚动(Scrollable) Widget中滑动时就会分发ScrollNotification,而Scrollbar正是通过监听ScrollNotification来确定滚动条位置的。除了ScrollNotification,Flutter中还有SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等。下面是一个监听Scrollable Widget滚动通知的例子: NotificationListener( onNotification: (notification){ //print(notification); switch (notification.runtimeType){ case ScrollStartNotification: print(\"开始滚动\"); break; case ScrollUpdateNotification: print(\"正在滚动\"); break; case ScrollEndNotification: print(\"滚动停止\"); break; case OverscrollNotification: print(\"滚动到边界\"); break; } }, child: ListView.builder( itemCount: 100, itemBuilder: (context, index) { return ListTile(title: Text(\"$index\"),); } ), ); 上例中的滚动通知如ScrollStartNotification、ScrollUpdateNotification等都是继承自ScrollNotification类,不同类型的通知子类会包含不同的信息,比如ScrollUpdateNotification有一个scrollDelta属性,它记录了移动的位移,其它通知属性读者可以自己查看SDK文档。 自定义通知 除了Flutter内部通知,我们也可以自定义通知,下面我们看看如何实现自定义通知: 定义一个通知类,要继承自Notification类; class MyNotification extends Notification { MyNotification(this.msg); final String msg; } 分发通知。 Notification有一个dispatch(context)方法,它是用于分发通知的,我们说过context实际上就是操作Element的一个接口,它与Element树上的节点是对应的,通知会从context对应的Element节点向上冒泡。 下面我们看一个完整的例子: class NotificationRoute extends StatefulWidget { @override NotificationRouteState createState() { return new NotificationRouteState(); } } class NotificationRouteState extends State { String _msg=\"\"; @override Widget build(BuildContext context) { //监听通知 return NotificationListener( onNotification: (notification) { setState(() { _msg+=notification.msg+\" \"; }); }, child: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ // RaisedButton( // onPressed: () => MyNotification(\"Hi\").dispatch(context), // child: Text(\"Send Notification\"), // ), Builder( builder: (context) { return RaisedButton( //按钮点击时分发通知 onPressed: () => MyNotification(\"Hi\").dispatch(context), child: Text(\"Send Notification\"), ); }, ), Text(_msg) ], ), ), ); } } class MyNotification extends Notification { MyNotification(this.msg); final String msg; } 上面代码中,我们每点一次按钮就会分发一个MyNotification类型的通知,我们在Widget根上监听通知,收到通知后我们将通知通过Text显示在屏幕上。 注意:代码中注释的部分是不能正常工作的,因为这个context是根Context,而NotificationListener是监听的子树,所以我们通过Builder来构建RaisedButton,来获得按钮位置的context。 运行效果如下: "},"chapter9/":{"url":"chapter9/","title":"动画","keywords":"","body":"简介 精心设计的动画会让用户界面感觉更直观、流畅,能改善用户体验。 Flutter可以轻松实现各种动画类型,对于许多widget,特别是Material Design widgets,都带有在其设计规范中定义的标准动画效果(但也可以自定义这些效果)。本章将详细介绍Flutter的动画系统,并会通过几个小实例来演示,以帮助开发者迅速理解并掌握动画的开发流程与原理。 本章目录 Flutter动画简介 动画结构 自定义路由过渡动画 Hero动画 交错动画 "},"chapter9/intro.html":{"url":"chapter9/intro.html","title":"Flutter动画简介","keywords":"","body":"动画 在任何系统的UI框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变UI外观,由于人眼会产生视觉暂留,最终看到的就是一个“连续”的动画,这和电影的原理是一样的,而UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指标就是帧率FPS(Frame Per Second),指每秒的动画帧数。很明显,帧率越高则动画就会越流畅。一般情况下,对于人眼来说,动画帧率超过16FPS,就比较流畅了,超过32FPS就会非常的细腻平滑,而超过32FPS基本就感受不到差别了。由于动画的每一帧都是要改变UI输出,所以在一个时间段内连续的改变UI输出是比较耗资源的,对设备的软硬件系统要求都较高,所以在UI系统中,动画的平均帧率是重要的性能指标,而在Flutter中,理想情况下是可以实现60FPS的,这和原生应用动画基本是持平的。 Flutter中动画抽象 为了方便开发者创建动画,不同的UI系统对动画都进行了一些抽象,比如在Android中可以通过XML来描述一个动画然后设置给View。Flutter中也对动画进行了抽象,主要涉及Tween、Animation、Curve、Controller这些角色。 Animation Animation对象本身和UI渲染没有任何关系。Animation是一个抽象类,它用于保存动画的插值和状态;其中一个比较常用的Animation类是Animation。Animation对象是一个在一段时间内依次生成一个区间(Tween)之间值的类。Animation对象的输出值可以是线性的、曲线的、一个步进函数或者任何其他曲线函数。 根据Animation对象的控制方式,动画可以反向运行,甚至可以在中间切换方向。Animation还可以生成除double之外的其他类型值,如:Animation\\ 或 Animation\\。可以通过Animation对象的value属性获取动画的当前值。 动画通知 我们可以通过Animation来监听动画的帧和状态变化: addListener()可以给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。 addStatusListener()可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用StatusListener。 在后面的章节中我们将会举例说明。 Curve 动画过程可以是匀速的、加速的或者先加速后减速等。Flutter中通过Curve(曲线)来描述动画过程,Curve可以是线性的(Curves.linear),也可以是非线性的。 CurvedAnimation 将动画过程定义为一个非线性曲线. final CurvedAnimation curve = new CurvedAnimation(parent: controller, curve: Curves.easeIn); 注: Curves 类类定义了许多常用的曲线,也可以创建自己的,例如: class ShakeCurve extends Curve { @override double transform(double t) { return math.sin(t * math.PI * 2); } } CurvedAnimation和AnimationController(下面介绍)都是Animation类型。CurvedAnimation可以通过包装AnimationController和Curve生成一个新的动画对象 。 AnimationController AnimationController用于控制动画,它包含动画的启动forward()、停止stop() 、反向播放 reverse()等方法。AnimationController会在动画的每一帧,就会生成一个新的值。默认情况下,AnimationController在给定的时间段内线性的生成从0.0到1.0(默认区间)的数字。 例如,下面代码创建一个Animation对象,但不会启动它运行: final AnimationController controller = new AnimationController( duration: const Duration(milliseconds: 2000), vsync: this); AnimationController生成数字的区间可以通过lowerBound和upperBound来指定,如: final AnimationController controller = new AnimationController( duration: const Duration(milliseconds: 2000), lowerBound: 10.0, upperBound: 20.0, vsync: this ); AnimationController派生自Animation,因此可以在需要Animation对象的任何地方使用。 但是,AnimationController具有控制动画的其他方法,例如forward()方法可以启动动画。数字的产生与屏幕刷新有关,因此每秒钟通常会产生60个数字(即60fps),在动画的每一帧,生成新的数字后,每个Animation对象会调用其Listener对象回调,等动画状态发生改变时(如动画结束)会调用StatusListeners监听器。 duration表示动画执行的时长,通过它我们可以控制动画的速度。 注意: 在某些情况下,动画值可能会超出AnimationController的0.0-1.0的范围。例如,fling()函数允许您提供速度(velocity)、力量(force)等,因此可以在0.0到1.0范围之外。 CurvedAnimation生成的值也可以超出0.0到1.0的范围。根据选择的曲线,CurvedAnimation的输出可以具有比输入更大的范围。例如,Curves.elasticIn等弹性曲线会生成大于或小于默认范围的值。 Ticker 当创建一个AnimationController时,需要传递一个vsync参数,它接收一个TickerProvider类型的对象,它的主要职责是创建Ticker,定义如下: abstract class TickerProvider { //通过一个回调创建一个Ticker Ticker createTicker(TickerCallback onTick); } Flutter应用在启动时都会绑定一个SchedulerBinding,通过SchedulerBinding可以给每一次屏幕刷新添加回调,而Ticker就是通过SchedulerBinding来添加屏幕刷新回调,这样一来,每次屏幕刷新都会调用TickerCallback。使用Ticker(而不是Timer)来驱动动画会防止屏幕外动画(动画的UI不在当前屏幕时,如锁屏时)消耗不必要的资源,因为Flutter中屏幕刷新时会通知到绑定的SchedulerBinding,而Ticker是受SchedulerBinding驱动的,由于锁屏后屏幕会停止刷新,所以Ticker就不会再触发。 通过将SingleTickerProviderStateMixin添加到State的定义中,然后将State对象作为vsync的值,这在后面的例子中可以见到。 Tween 默认情况下,AnimationController对象值的范围是0.0到1.0。如果我们需要不同的范围或不同的数据类型,则可以使用Tween来配置动画以生成不同的范围或数据类型的值。例如,像下面示例,Tween生成从-200.0到0.0的值: final Tween doubleTween = new Tween(begin: -200.0, end: 0.0); Tween构造函数需要begin和end两个参数。Tween的唯一职责就是定义从输入范围到输出范围的映射。输入范围通常为0.0到1.0,但这不是必须的,我们可以自定义需要的范围。 Tween继承自Animatable,而不是继承自Animation。Animatable与Animation相似,不是必须输出double值。例如,ColorTween指定两种颜色之间的过渡。 final Tween colorTween = new ColorTween(begin: Colors.transparent, end: Colors.black54); Tween对象不存储任何状态,相反,它提供了evaluate(Animation animation)方法,它可以获取动画当前值。 Animation对象的当前值可以通过value()方法取到。evaluate函数还执行一些其它处理,例如分别确保在动画值为0.0和1.0时返回开始和结束状态。 Tween.animate 要使用Tween对象,需要调用其animate()方法,然后传入一个控制器对象。例如,以下代码在500毫秒内生成从0到255的整数值。 final AnimationController controller = new AnimationController( duration: const Duration(milliseconds: 500), vsync: this); Animation alpha = new IntTween(begin: 0, end: 255).animate(controller); 注意animate()返回的是一个Animation,而不是一个Animatable。 以下示例构建了一个控制器、一条曲线和一个Tween: final AnimationController controller = new AnimationController( duration: const Duration(milliseconds: 500), vsync: this); final Animation curve = new CurvedAnimation(parent: controller, curve: Curves.easeOut); Animation alpha = new IntTween(begin: 0, end: 255).animate(curve); "},"chapter9/animation_structure.html":{"url":"chapter9/animation_structure.html","title":"动画结构","keywords":"","body":"动画基本结构 我们通过实现一个图片逐渐放大的示例来演示一下Flutter中动画的基本结构: class ScaleAnimationRoute extends StatefulWidget { @override _ScaleAnimationRouteState createState() => new _ScaleAnimationRouteState(); } //需要继承TickerProvider,如果有多个AnimationController,则应该使用TickerProviderStateMixin。 class _ScaleAnimationRouteState extends State with SingleTickerProviderStateMixin{ Animation animation; AnimationController controller; initState() { super.initState(); controller = new AnimationController( duration: const Duration(seconds: 3), vsync: this); //图片宽高从0变到300 animation = new Tween(begin: 0.0, end: 300.0).animate(controller) ..addListener(() { setState(()=>{}); }); //启动动画(正向执行) controller.forward(); } @override Widget build(BuildContext context) { return new Center( child: Image.asset(\"images/avatar.png\", width: animation.value, height: animation.value ), ); } dispose() { //路由销毁时需要释放动画资源 controller.dispose(); super.dispose(); } } 上面代码中addListener()函数调用了setState(),所以每次动画生成一个新的数字时,当前帧被标记为脏(dirty),这会导致widget的build()方法再次被调用,而在build()中,改变Image的宽高,因为它的高度和宽度现在使用的是animation.value ,所以就会逐渐放大。值得注意的是动画完成时要释放控制器(调用dispose()方法)以防止内存泄漏。 上面的例子中并没有指定Curve,所以放大的过程是线性的(匀速),下面我们指定一个Curve,来实现一个类似于弹簧效果的动画过程,我们只需要将initState中的代码改为下面这样即可: initState() { super.initState(); controller = new AnimationController( duration: const Duration(seconds: 3), vsync: this); //使用弹性曲线 animation=CurvedAnimation(parent: controller, curve: Curves.bounceIn); //图片宽高从0变到300 animation = new Tween(begin: 0.0, end: 300.0).animate(animation) ..addListener(() { setState(() { }); }); //启动动画 controller.forward(); } 使用AnimatedWidget简化 细心的读者可能已经发现上面示例中通过addListener()和setState() 来更新UI这一步其实是通用的,如果每个动画中都加这么一句是比较繁琐的。AnimatedWidget类封装了调用setState()的细节,并允许我们将Widget分离出来,重构后的代码如下: class AnimatedImage extends AnimatedWidget { AnimatedImage({Key key, Animation animation}) : super(key: key, listenable: animation); Widget build(BuildContext context) { final Animation animation = listenable; return new Center( child: Image.asset(\"images/avatar.png\", width: animation.value, height: animation.value ), ); } } class ScaleAnimationRoute extends StatefulWidget { @override _ScaleAnimationRouteState createState() => new _ScaleAnimationRouteState(); } class _ScaleAnimationRouteState extends State with SingleTickerProviderStateMixin { Animation animation; AnimationController controller; initState() { super.initState(); controller = new AnimationController( duration: const Duration(seconds: 3), vsync: this); //图片宽高从0变到300 animation = new Tween(begin: 0.0, end: 300.0).animate(controller); //启动动画 controller.forward(); } @override Widget build(BuildContext context) { return AnimatedImage(animation: animation,); } dispose() { //路由销毁时需要释放动画资源 controller.dispose(); super.dispose(); } } 用AnimatedBuilder重构 用AnimatedWidget可以从动画中分离出widget,而动画的渲染过程(即设置宽高)仍然在AnimatedWidget中,假设如果我们再添加一个widget透明度变化的动画,那么我们需要再实现一个AnimatedWidget,这样不是很优雅,如果我们能把渲染过程也抽象出来,那就会好很多,而AnimatedBuilder正是将渲染逻辑分离出来, 上面的build方法中的代码可以改为: @override Widget build(BuildContext context) { //return AnimatedImage(animation: animation,); return AnimatedBuilder( animation: animation, child: Image.asset(\"images/avatar.png\"), builder: (BuildContext ctx, Widget child) { return new Center( child: Container( height: animation.value, width: animation.value, child: child, ), ); }, ); } 上面的代码中有一个迷惑的问题是,child看起来像被指定了两次。但实际发生的事情是:将外部引用child传递给AnimatedBuilder后AnimatedBuilder再将其传递给匿名构造器, 然后将该对象用作其子对象。最终的结果是AnimatedBuilder返回的对象插入到Widget树中。 也许你会说这和我们刚开始的示例差不了多少,其实它会带来三个好处: 不用显式的去添加帧监听器,然后再调用setState() 了,这个好处和AnimatedWidget是一样的。 动画构建的范围缩小了,如果没有builder,setState()将会在父widget上下文调用,这将会导致父widget的build方法重新调用,而有了builder之后,只会导致动画widget的build重新调用,这在复杂布局下性能会提高。 通过AnimatedBuilder可以封装常见的过渡效果来复用动画。下面我们通过封装一个GrowTransition来说明,它可以对子widget实现放大动画: class GrowTransition extends StatelessWidget { GrowTransition({this.child, this.animation}); final Widget child; final Animation animation; Widget build(BuildContext context) { return new Center( child: new AnimatedBuilder( animation: animation, builder: (BuildContext context, Widget child) { return new Container( height: animation.value, width: animation.value, child: child ); }, child: child ), ); } } 这样,最初的示例就可以改为: ... Widget build(BuildContext context) { return GrowTransition( child: Image.asset(\"images/avatar.png\"), animation: animation, ); } Flutter中正是通过这种方式封装了很多动画,如:FadeTransition、ScaleTransition、SizeTransition、FractionalTranslation等,很多时候都可以复用这些预置的过渡类。 动画状态监听 上面说过,我们可以通过Animation的addStatusListener()方法来添加动画状态改变监听器。Flutter中,有四种动画状态,在AnimationStatus枚举类中定义,下面我们逐个说明: 枚举值 含义 dismissed 动画在起始点停止 forward 动画正在正向执行 reverse 动画正在反向执行 completed 动画在终点停止 示例 我们将上面图片放大的示例改为先放大再缩小再放大……这样的循环动画。要实现这种效果,我们只需要监听动画状态的改变即可,即:在动画正向执行结束时反转动画,在动画反向执行结束时再正向执行动画。代码如下: initState() { super.initState(); controller = new AnimationController( duration: const Duration(seconds: 1), vsync: this); //图片宽高从0变到300 animation = new Tween(begin: 0.0, end: 300.0).animate(controller); animation.addStatusListener((status) { if (status == AnimationStatus.completed) { //动画执行结束时反向执行动画 controller.reverse(); } else if (status == AnimationStatus.dismissed) { //动画恢复到初始状态时执行动画(正向) controller.forward(); } }); //启动动画(正向) controller.forward(); } "},"chapter9/route_transition.html":{"url":"chapter9/route_transition.html","title":"自定义路由过渡动画","keywords":"","body":"自定义路由切换动画 Material库中提供了一个MaterialPageRoute,它可以使用和平台风格一致的路由切换动画,如在iOS上会左右滑动切换,而在Android上会上下滑动切换。如果在Android上也想使用左右切换风格,可以直接使用CupertinoPageRoute, 如: Navigator.push(context, CupertinoPageRoute( builder: (context){ return PageB(); //路由B } )); 如果想自定义路由切换动画,可以使用PageRouteBuilder,例如我们想以渐隐渐入动画来实现路由过渡: Navigator.push(context, PageRouteBuilder( transitionDuration: Duration(milliseconds: 500), //动画时间为500毫秒 pageBuilder: (BuildContext context, Animation animation, Animation secondaryAnimation) { return new FadeTransition( //使用渐隐渐入过渡, opacity: animation, child: PageB() //路由B ); })); }), 我们可以看到pageBuilder 有一个animation参数,这是Flutter路由管理器提供的,在路由切换时pageBuilder在每个动画帧都会被回调,因此我们可以通过animation对象来自定义过渡动画。 无论是MaterialPageRoute、CupertinoPageRoute,还是PageRouteBuilder,它们都继承自PageRoute类,而PageRouteBuilder其实只是PageRoute的一个包装,我们可以直接继承PageRoute类来实现自定义路由,上面的例子可以通过如下方式实现: 定义一个路由类FadeRoute class FadeRoute extends PageRoute { FadeRoute({ @required this.builder, this.transitionDuration = const Duration(milliseconds: 300), this.opaque = true, this.barrierDismissible = false, this.barrierColor, this.barrierLabel, this.maintainState = true, }); final WidgetBuilder builder; @override final Duration transitionDuration; @override final bool opaque; @override final bool barrierDismissible; @override final Color barrierColor; @override final String barrierLabel; @override final bool maintainState; @override Widget buildPage(BuildContext context, Animation animation, Animation secondaryAnimation) => builder(context); @override Widget buildTransitions(BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) { return FadeTransition( opacity: animation, child: builder(context), ); } } 使用FadeRoute Navigator.push(context, FadeRoute(builder: (context) { return PageB(); })); 虽然上面的两种方法都可以实现自定义切换动画,但实际使用时应考虑优先使用PageRouteBuilder,这样无需定义一个新的路由类,使用起来会比较方便。但是有些时候PageRouteBuilder是不能满足需求的,例如在应用过渡动画时我们需要读取当前路由的一些属性,这时就只能通过继承PageRoute的方式了,举个例子,假如我们只想在打开新路由时应用动画,而在返回时不使用动画,那么我们在构建过渡动画时就必须判断当前路由isActive属性是否为true,代码如下: @override Widget buildTransitions(BuildContext context, Animation animation, Animation secondaryAnimation, Widget child) { //当前路由被激活,是打开新路由 if(isActive) { return FadeTransition( opacity: animation, child: builder(context), ); }else{ //是返回,则不应用过渡动画 return Padding(padding: EdgeInsets.zero); } } 关于路由参数的详细信息读者可以自行查阅API文档,比较简单,不再赘述。 "},"chapter9/hero.html":{"url":"chapter9/hero.html","title":"Hero动画","keywords":"","body":"Hero动画 Hero指的是可以在路由(页面)之间“飞行”的widget,简单来说Hero动画就是在路由切换时,有一个共享的Widget可以在新旧路由间切换,由于共享的Widget在新旧路由页面上的位置、外观可能有所差异,所以在路由切换时会逐渐过渡,这样就会产生一个Hero动画。 你可能多次看到过 hero 动画。例如,一个路由中显示待售商品的缩略图列表,选择一个条目会将其跳转到一个新路由,新路由中包含该商品的详细信息和“购买”按钮。 在Flutter中将图片从一个路由“飞”到另一个路由称为hero动画,尽管相同的动作有时也称为 共享元素转换。下面我们通过一个示例来体验一下hero 动画。 示例 假设有两个路由A和B,他们的内容交互如下: A:包含一个用户头像,圆形,点击后跳到B路由,可以查看大图。 B:显示用户头像原图,矩形; 在AB两个路由之间跳转的时候,用户头像会逐渐过渡到目标路由页的头像上,接下来我们先看看代码,然后再解析: // 路由A class HeroAnimationRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Container( alignment: Alignment.topCenter, child: InkWell( child: Hero( tag: \"avatar\", //唯一标记,前后两个路由页Hero的tag必须相同 child: ClipOval( child: Image.asset(\"images/avatar.png\", width: 50.0, ), ), ), onTap: () { //打开B路由 Navigator.push(context, PageRouteBuilder( pageBuilder: (BuildContext context, Animation animation, Animation secondaryAnimation) { return new FadeTransition( opacity: animation, child: PageScaffold( title: \"原图\", body: HeroAnimationRouteB(), ), ); }) ); }, ), ); } } 路由B: class HeroAnimationRouteB extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: Hero( tag: \"avatar\", //唯一标记,前后两个路由页Hero的tag必须相同 child: Image.asset(\"images/avatar.png\"), ), ); } } 我们可以看到,实现Hero动画只需要用Hero Widget将要共享的Widget包装起来,并提供一个相同的tag即可,中间的过渡帧都是Flutter Framework自动完成的。必须要注意, 前后路由页的共享Hero的tag必须是相同的,Flutter Framework内部正式通过tag来对应新旧路由页Widget的对应关系的。 Hero动画的原理比较简单,Flutter Framework知道新旧路由页中共享元素的位置和大小,所以根据这两个端点,在动画执行过程中求出过渡时的插值即可,幸运的是,这些事情Flutter已经帮我们做了。 "},"chapter9/stagger_animation.html":{"url":"chapter9/stagger_animation.html","title":"交错动画","keywords":"","body":"交错动画 有些时候我们可能会需要一些复杂的动画,这些动画可能由一个动画序列或重叠的动画组成,比如:有一个柱状图,需要在高度增长的同时改变颜色,等到增长到最大高度后,我们需要在X轴上平移一段距离。这时我们就需要使用交错动画(Stagger Animation)。交错动画需要注意以下几点: 要创建交错动画,需要使用多个动画对象 一个AnimationController控制所有动画 给每一个动画对象指定间隔(Interval) 所有动画都由同一个AnimationController驱动,无论动画实时持续多长时间,控制器的值必须介于0.0和1.0之间,而每个动画的间隔(Interval)介于0.0和1.0之间。对于在间隔中设置动画的每个属性,请创建一个Tween。 Tween指定该属性的开始值和结束值。也就是说0.0到1.0代表整个动画过程,我们可以给不同动画指定起始点和终止点来决定它们的开始时间和终止时间。 示例 下面我们看一个例子,实现一个柱状图增长的动画: 开始时高度从0增长到300像素,同时颜色由绿色渐变为红色;这个过程占据整个动画时间的60%。 高度增长到300后,开始沿X轴向右平移100像素;这个过程占用整个动画时间的40%。 我们将执行动画的Widget分离出来: class StaggerAnimation extends StatelessWidget { StaggerAnimation({ Key key, this.controller }): super(key: key){ //高度动画 height = Tween( begin:.0 , end: 300.0, ).animate( CurvedAnimation( parent: controller, curve: Interval( 0.0, 0.6, //间隔,前60%的动画时间 curve: Curves.ease, ), ), ); color = ColorTween( begin:Colors.green , end:Colors.red, ).animate( CurvedAnimation( parent: controller, curve: Interval( 0.0, 0.6,//间隔,前60%的动画时间 curve: Curves.ease, ), ), ); padding = Tween( begin:EdgeInsets.only(left: .0), end:EdgeInsets.only(left: 100.0), ).animate( CurvedAnimation( parent: controller, curve: Interval( 0.6, 1.0, //间隔,后40%的动画时间 curve: Curves.ease, ), ), ); } final Animation controller; Animation height; Animation padding; Animation color; Widget _buildAnimation(BuildContext context, Widget child) { return Container( alignment: Alignment.bottomCenter, padding:padding.value , child: Container( color: color.value, width: 50.0, height: height.value, ), ); } @override Widget build(BuildContext context) { return AnimatedBuilder( builder: _buildAnimation, animation: controller, ); } } StaggerAnimation中定义了三个动画,分别是对Container的height、color、padding属性设置的动画,然后通过Interval来为每个动画指定在整个动画过程的起始点和终点。 下面我们来实现启动动画的路由: class StaggerDemo extends StatefulWidget { @override _StaggerDemoState createState() => _StaggerDemoState(); } class _StaggerDemoState extends State with TickerProviderStateMixin { AnimationController _controller; @override void initState() { super.initState(); _controller = AnimationController( duration: const Duration(milliseconds: 2000), vsync: this ); } Future _playAnimation() async { try { //先正向执行动画 await _controller.forward().orCancel; //再反向执行动画 await _controller.reverse().orCancel; } on TickerCanceled { // the animation got canceled, probably because we were disposed } } @override Widget build(BuildContext context) { return GestureDetector( behavior: HitTestBehavior.opaque, onTap: () { _playAnimation(); }, child: Center( child: Container( width: 300.0, height: 300.0, decoration: BoxDecoration( color: Colors.black.withOpacity(0.1), border: Border.all( color: Colors.black.withOpacity(0.5), ), ), //调用我们定义的交错动画Widget child: StaggerAnimation( controller: _controller ), ), ), ); } } 执行效果如下,点击灰色矩形,就可以看到整个动画效果: "},"chapter13/":{"url":"chapter13/","title":"自定义Widget","keywords":"","body":"本章目录 自定义Widget方法简介 通过组合现有Widget实现 实例:TurnBox CustomPaint与Canvas 实例:圆形渐变进度条 "},"chapter13/intro.html":{"url":"chapter13/intro.html","title":"自定义Widget方法简介","keywords":"","body":"自定义Widget方法简介 当Flutter提供的现有Widget无法满足我们的需求,或者我们为了共享代码需要封装一些通用Widget,这时我们就需要自定义Widget。在Flutter中自定义Widget有三种方式:通过组合其它Widget、自绘和实现RenderObject,本节我们先分别介绍一下这三种方式的特点,后面章节中则详细介绍它们的细节。 组合其它Widget 这种方式是通过拼装其它低级别的Widget来组合成一个高级别的Widget,例如我们之前介绍的Container就是一个组合Widget,它是由DecoratedBox、ConstrainedBox、Transform、Padding、Align等组成。 在Flutter中,组合的思想非常重要,Flutter提供了非常多的基础Widget,而我们的界面开发都是按照需要组合这些Widget来实现各种不同的布局。 自绘 如果遇到无法通过系统提供的现有Widget实现的UI时,如我们需要一个渐变圆形进度条,而Flutter提供的CircularProgressIndicator并不支持在显示精确进度时对进度条应用渐变色(其valueColor 属性只支持执行旋转动画时变化Indicator的颜色),这时最好的方法就是通过自定义Widget绘制逻辑来画出我们期望的外观。Flutter中提供了CustomPaint和Canvas供我们自绘UI外观。 实现RenderObject Flutter提供的任何具有UI外观的Widget,如文本Text、Image都是通过相应的RenderObject渲染出来的,如Text是由RenderParagraph渲染,而Image是由RenderImage渲染。RenderObject是一个抽象类,它定义了一个抽象方法paint(...): void paint(PaintingContext context, Offset offset) PaintingContext代表Widget的绘制上下文,通过PaintingContext.canvas可以获得Canvas,绘制逻辑主要是通过Canvas API来实现。子类需要实现此方法以实现自身的绘制逻辑,如RenderParagraph需要实现文本绘制逻辑,而RenderImage需要实现图片绘制逻辑。 可以发现,RenderObject中最终也是通过Canvas来绘制的,那么通过实现RenderObject的方式和上面介绍的通过CustomPaint和Canvas自绘的方式有什么区别?其实答案很简单,CustomPaint只是为了方便开发者封装的一个代理类,它直接继承自SingleChildRenderObjectWidget,通过RenderCustomPaint的paint方法将Canvas和画笔Painter(需要开发者实现,后面章节介绍)连接起来实现了最终的绘制(绘制逻辑在Painter中)。 总结 组合是自定义组件最简单的方法,在任何需要自定义的场景下,都应该优先考虑是否能够通过组合来实现。而自绘和通过实现RenderObject的方法本质上是一样的,都需要开发者调用Canvas API手动去绘制UI,缺点是必须了解Canvas API,并且得自己去实现绘制逻辑,而优点是强大灵活,理论上可以实现任何外观的UI。 在本章接下来的小节中,我们将通过一些实例来详细介绍自定义UI的过程,由于后两种方法本质是相同的,后续我们只介绍CustomPaint和Canvas的方式,读者如果对自定义RenderObject的方法好奇,可以查看RenderParagraph或RenderImage源码。 "},"chapter13/combine.html":{"url":"chapter13/combine.html","title":"通过组合现有Widget实现","keywords":"","body":"通过组合现有Widget实现自定义Widget 在Flutter中页面UI通常都是由一些低阶别的Widget组合而成,当我们需要封装一些通用Widget时,应该首先考虑是否可以通过组合其它Widget来实现,如果可以则应优先使用组合,因为直接通过现有Widget拼装会非常方便、简单、高效。 示例:自定义渐变按钮 Flutter Widget库中的按钮默认不支持渐变背景,为了实现渐变背景按钮,我们自定义一个GradientButton Widget。我们先来看看效果: 我们看看GradientButton实现: import 'package:flutter/material.dart'; class GradientButton extends StatelessWidget { GradientButton({ this.colors, this.width, this.height, this.onTap, @required this.child, }); // 渐变色数组 final List colors; // 按钮宽高 final double width; final double height; final Widget child; //点击回调 final GestureTapCallback onTap; @override Widget build(BuildContext context) { ThemeData theme = Theme.of(context); //确保colors数组不空 List _colors = colors ?? [theme.primaryColor, theme.primaryColorDark ?? theme.primaryColor]; return DecoratedBox( decoration: BoxDecoration( gradient: LinearGradient(colors: _colors), ), child: Material( type: MaterialType.transparency, child: InkWell( splashColor: colors.last, highlightColor: Colors.transparent, onTap: onTap, child: ConstrainedBox( constraints: BoxConstraints.tightFor(height: height, width: width), child: Center( child: Padding( padding: const EdgeInsets.all(8.0), child: DefaultTextStyle( style: TextStyle(fontWeight: FontWeight.bold), child: child), ), ), ), ), ), ); } } 可以看到GradientButton是由Padding、Center、InkWell等Widget组合而成。当然上面的代码只是一个示例,作为一个按钮它还并不完整,比如没有禁用状态、不能定义圆角等,读者可以根据实际需要来完善。 使用GradientButton class GradientButtonRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Container( child: Column( children: [ GradientButton( colors: [Colors.orange,Colors.red], height: 50.0, child: Text(\"Submit\"), onTap:onTap , ), GradientButton( height: 50.0, colors: [Colors.lightGreen, Colors.green[700]], child: Text(\"Submit\"), onTap: onTap, ), GradientButton( height: 50.0, colors: [Colors.lightBlue[300], Colors.blueAccent], child: Text(\"Submit\"), onTap: onTap, ), ], ), ); } onTap(){ print(\"button click\"); } } 总结 通过组合的方式定义Widget和我们之前写界面并无差异,不过在抽离出单独的Widget时我们要考虑代码规范性,如必要参数要用@required 标注,对于可选参数在特定场景需要判空或设置默认值等。这是由于使用者大多时候可能不了解Widget的内部细节,所以为了保证代码健壮性,我们需要在用户错误地使用Widget时能够兼容或报错提示(使用assert断言函数)。 "},"chapter13/turn_box.html":{"url":"chapter13/turn_box.html","title":"实例:TurnBox","keywords":"","body":"实例:TurnBox 我们之前已经介绍过RotatedBox,但是它有两个缺点:一是只能将其子节点以90度的倍数旋转,二是当旋转的角度发生变化时,旋转角度更新过程没有动画。 本节我们将实现一个TurnBox,它可以以任意角度来旋转其子节点,并且在角度发生变化时可以执行一个动画过渡到新状态,同时,我们可以手动指定动画速度。 TurnBox的完整代码如下: import 'package:flutter/widgets.dart'; class TurnBox extends StatefulWidget { const TurnBox({ Key key, this.turns = .0, //旋转的“圈”数,一圈为360度,如0.25圈即90度 this.speed = 200, //过渡动画执行的总时长 this.child }) :super(key: key); final double turns; final int speed; final Widget child; @override _TurnBoxState createState() => new _TurnBoxState(); } class _TurnBoxState extends State with SingleTickerProviderStateMixin { AnimationController _controller; @override void initState() { super.initState(); _controller = new AnimationController( vsync: this, lowerBound: -double.infinity, upperBound: double.infinity ); _controller.value = widget.turns; } @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return RotationTransition( turns: _controller, child: widget.child, ); } @override void didUpdateWidget(TurnBox oldWidget) { super.didUpdateWidget(oldWidget); //旋转角度发生变化时执行过渡动画 if (oldWidget.turns != widget.turns) { _controller.animateTo( widget.turns, duration: Duration(milliseconds: widget.speed??200), curve: Curves.easeOut, ); } } } 代码比较简单,我们主要是通过包装(组合)RotationTransition来实现的。 下面我们测试一下TurnBox的功能,测试代码如下: import 'package:flutter/material.dart'; import '../widgets/index.dart'; class TurnBoxRoute extends StatefulWidget { @override _TurnBoxRouteState createState() => new _TurnBoxRouteState(); } class _TurnBoxRouteState extends State { double _turns = .0; @override Widget build(BuildContext context) { return Center( child: Column( children: [ TurnBox( turns: _turns, speed: 500, child: Icon(Icons.refresh, size: 50,), ), TurnBox( turns: _turns, speed: 1000, child: Icon(Icons.refresh, size: 150.0,), ), RaisedButton( child: Text(\"顺时针旋转1/5圈\"), onPressed: () { setState(() { _turns += .2; }); }, ), RaisedButton( child: Text(\"逆时针旋转1/5圈\"), onPressed: () { setState(() { _turns -= .2; }); }, ) ], ), ); } } 测试代码运行后效果如下图: 当我们点击旋转按钮时,两个图标的旋转都会旋转1/5圈,但旋转的速度是不同的,读者可以自己运行一下示例看看效果。 "},"chapter13/custom_paint.html":{"url":"chapter13/custom_paint.html","title":"CustomPaint与Canvas","keywords":"","body":"CustomPaint与Canvas 对于一些复杂或不规则的UI,我们可能无法使用现有Widget组合的方式来实现,比如我们需要一个正六边形、一个渐变的圆形进度条、一个棋盘等,当然有时候我们可以使用图片来实现,但在一些需要动态交互的场景静态图片是实现不了的,比如要实现一个手写输入面板。这时,我们就需要来自己绘制UI外观。 几乎所有的UI系统都会提供一个自绘UI的接口,这个接口通常会提供一块2D画布Canvas,Canvas内部封装了一些基本绘制的API,开发者可以通过Canvas绘制各种自定义图形。在Flutter中,提供了一个CustomPaint Widget,它可以结合一个画笔CustomPainter来实现绘制自定义图形。 CustomPaint 我们看看CustomPaint构造函数: const CustomPaint({ Key key, this.painter, this.foregroundPainter, this.size = Size.zero, this.isComplex = false, this.willChange = false, Widget child, //子节点,可以为空 }) painter: 背景画笔,会显示在子节点后面; foregroundPainter: 前景画笔,会显示在子节点前面 size:当child为null时,代表默认绘制区域大小,如果有child则忽略此参数,画布尺寸则为child尺寸。如果有child但是想指定画布为特定大小,可以使用SizeBox包裹CustomPaint实现。 isComplex:是否复杂的绘制,如果是,Flutter会应用一些缓存策略来减少重复渲染的开销。 willChange:和isComplex配合使用,当启用缓存时,该属性代表在下一帧中绘制是否会改变。 可以看到,绘制时我们需要提供前景或背景画笔,两者也可以同时提供。我们的画笔需要继承CustomPainter类,我们在画笔类中实现真正的绘制逻辑。 注意 如果CustomPaint有子节点,为了避免子节点不必要的重绘并提高性能,通常情况下都会将子节点包裹在RepaintBoundary Widget中,这样会在绘制时创建一个新的绘制层(Layer),其子Widget将在新的Layer上绘制,而父Widget将在原来Layer上绘制,也就是说RepaintBoundary 子Widget的绘制将独立于父Widget的绘制,RepaintBoundary会隔离其子节点和CustomPaint本身的绘制边界。示例如下: CustomPaint( size: Size(300, 300), //指定画布大小 painter: MyPainter(), child: RepaintBoundary(child:...)), ) CustomPainter CustomPainter中提定义了一个虚函数paint: void paint(Canvas canvas, Size size); paint有两个参数: Canvas:一个画布,包括各种绘制方法,我们列出一下常用的方法: |API名称 | 功能 | | ---------- | ------ | | drawLine | 画线 | | drawPoint | 画点 | | drawPath | 画路径 | | drawImage | 画图像 | | drawRect | 画矩形 | | drawCircle | 画圆 | | drawOval | 画椭圆 | | drawArc | 画圆弧 | Size:当前绘制区域大小。 画笔Paint 现在画布有了,我们最后还缺一个画笔,Flutter提供了Paint类来实现画笔。在Paint中,我们可以配置画笔的各种属性如粗细、颜色、样式等。如: var paint = Paint() //创建一个画笔并配置其属性 ..isAntiAlias = true //是否抗锯齿 ..style = PaintingStyle.fill //画笔样式:填充 ..color=Color(0x77cdb175);//画笔颜色 更多的配置属性读者可以参考Paint类定义。 示例:五子棋/盘 下面我们通过一个五子棋游戏中棋盘和棋子的绘制来演示自绘UI的过程,首先我们看一下我们的目标结果: 代码: import 'package:flutter/material.dart'; import 'dart:math'; class CustomPaintRoute extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: CustomPaint( size: Size(300, 300), //指定画布大小 painter: MyPainter(), ), ); } } class MyPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { double eWidth = size.width / 15; double eHeight = size.height / 15; //画棋盘背景 var paint = Paint() ..isAntiAlias = true ..style = PaintingStyle.fill //填充 ..color = Color(0x77cdb175); //背景为纸黄色 canvas.drawRect(Offset.zero & size, paint); //画棋盘网格 paint ..style = PaintingStyle.stroke //线 ..color = Colors.black87 ..strokeWidth = 1.0; for (int i = 0; i true; } 性能 绘制是比较昂贵的操作,所以我们在实现自绘控件时应该考虑到性能开销,下面是两条关于性能优化的建议: 尽可能的利用好shouldRepaint返回值;在UI树重新build时,控件在绘制前都会先调用该方法以确定是否有必要重绘;假如我们绘制的UI不依赖外部状态,那么就应该始终返回false,因为外部状态改变导致重新build时不会影响我们的UI外观;如果绘制依赖外部状态,那么我们就应该在shouldRepaint中判断依赖的状态是否改变,如果已改变则应返回true来重绘,反之则应返回false不需要重绘。 绘制尽可能多的分层;在上面五子棋的示例中,我们将棋盘和棋子的绘制放在了一起,这样会有一个问题:由于棋盘始终是不变的,用户每次落子时变的只是棋子,但是如果按照上面的代码来实现,每次绘制棋子时都要重新绘制一次棋盘,这是没必要的。优化的方法就是将棋盘单独抽为一个Widget,并设置其shouldRepaint回调值为false,然后将棋盘Widget作为背景。然后将棋子的绘制放到另一个Widget中,这样落子时只需要绘制棋子。 总结 自绘控件非常强大,理论上可以实现任何2D图形外观,实际上Flutter提供的所有Widget最终都是调用Canvas绘制出来的,只不过绘制的逻辑被封装起来了,读者有兴趣可以查看具有外观样式的Widget的源码,找到其对应的RenderObject对象,如Text Widget最终会通过RenderParagraph对象来通过Canvas实现文本绘制逻辑。 下一节我们再通过实现一个自绘的圆形渐变进度条的实例来帮助读者加深印象。 "},"chapter13/gradient_circular_progress_demo.html":{"url":"chapter13/gradient_circular_progress_demo.html","title":"实例:圆形渐变进度条(自绘)","keywords":"","body":"实例:圆形渐变进度条(自绘) 本节我们实现一个圆形渐变进度条,它支持: 支持多种渐变色。 任意弧度;整个进度可以不是整圆。 可以自定义粗细、两端是否圆角等样式。 可以发现要实现这样的一个进度条是无法通过现有组件组合而成的,所以我们通过自绘方式实现。 实现代码如下: import 'dart:math'; import 'package:flutter/material.dart'; class GradientCircularProgressIndicator extends StatelessWidget { GradientCircularProgressIndicator({ this.stokeWidth = 2.0, @required this.radius, @required this.colors, this.stops, this.strokeCapRound = false, this.backgroundColor = const Color(0xFFEEEEEE), this.totalAngle = 2 * pi, this.value }); ///粗细 final double stokeWidth; /// 圆的半径 final double radius; ///两端是否为圆角 final bool strokeCapRound; /// 当前进度,取值范围 [0.0-1.0] final double value; /// 进度条背景色 final Color backgroundColor; /// 进度条的总弧度,2*PI为整圆,小于2*PI则不是整圆 final double totalAngle; /// 渐变色数组 final List colors; /// 渐变色的终止点,对应colors属性 final List stops; @override Widget build(BuildContext context) { double _offset = .0; // 如果两端为圆角,则需要对起始位置进行调整,否则圆角部分会偏离起始位置 // 下面调整的角度的计算公式是通过数学几何知识得出,读者有兴趣可以研究一下为什么是这样 if (strokeCapRound) { _offset = asin(stokeWidth / (radius * 2 - stokeWidth)); } var _colors = colors; if (_colors == null) { Color color = Theme .of(context) .accentColor; _colors = [color, color]; } return Transform.rotate( angle: -pi / 2.0 - _offset, child: CustomPaint( size: Size.fromRadius(radius), painter: _GradientCircularProgressPainter( stokeWidth: stokeWidth, strokeCapRound: strokeCapRound, backgroundColor: backgroundColor, value: value, total: totalAngle, radius: radius, colors: _colors, ) ), ); } } //实现画笔 class _GradientCircularProgressPainter extends CustomPainter { _GradientCircularProgressPainter({ this.stokeWidth: 10.0, this.strokeCapRound: false, this.backgroundColor = const Color(0xFFEEEEEE), this.radius, this.total = 2 * pi, @required this.colors, this.stops, this.value }); final double stokeWidth; final bool strokeCapRound; final double value; final Color backgroundColor; final List colors; final double total; final double radius; final List stops; @override void paint(Canvas canvas, Size size) { if (radius != null) { size = Size.fromRadius(radius); } double _offset = stokeWidth / 2.0; double _value = (value ?? .0); _value = _value.clamp(.0, 1.0) * total; double _start = .0; if (strokeCapRound) { _start = asin(stokeWidth/ (size.width - stokeWidth)); } Rect rect = Offset(_offset, _offset) & Size( size.width - stokeWidth, size.height - stokeWidth ); var paint = Paint() ..strokeCap = strokeCapRound ? StrokeCap.round : StrokeCap.butt ..style = PaintingStyle.stroke ..isAntiAlias = true ..strokeWidth = stokeWidth; // 先画背景 if (backgroundColor != Colors.transparent) { paint.color = backgroundColor; canvas.drawArc( rect, _start, total, false, paint ); } // 再画前景,应用渐变 if (_value > 0) { paint.shader = SweepGradient( startAngle: 0.0, endAngle: _value, colors: colors, stops: stops, ).createShader(rect); canvas.drawArc( rect, _start, _value, false, paint ); } } @override bool shouldRepaint(CustomPainter oldDelegate) => true; } 下面我们来测试一下,为了尽可能多的展示GradientCircularProgressIndicator的不同外观和用途,这个示例代码会比较长,并且添加了动画,建议读者将此示例运行起来观看实际效果,我们先看看其中的一帧动画的截图: 完整的代码: import 'dart:math'; import 'package:flutter/material.dart'; import '../widgets/index.dart'; class GradientCircularProgressRoute extends StatefulWidget { @override GradientCircularProgressRouteState createState() { return new GradientCircularProgressRouteState(); } } class GradientCircularProgressRouteState extends State with TickerProviderStateMixin { AnimationController _animationController; @override void initState() { super.initState(); _animationController = new AnimationController(vsync: this, duration: Duration(seconds: 3)); bool isForward = true; _animationController.addStatusListener((status) { if (status == AnimationStatus.forward) { isForward = true; } else if (status == AnimationStatus.completed || status == AnimationStatus.dismissed) { if (isForward) { _animationController.reverse(); } else { _animationController.forward(); } } else if (status == AnimationStatus.reverse) { isForward = false; } }); _animationController.forward(); } @override void dispose() { _animationController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return SingleChildScrollView( child: Center( child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ AnimatedBuilder( animation: _animationController, builder: (BuildContext context, Widget child) { return Padding( padding: const EdgeInsets.symmetric(vertical: 16.0), child: Column( children: [ Wrap( spacing: 10.0, runSpacing: 16.0, children: [ GradientCircularProgressIndicator( // No gradient colors: [Colors.blue, Colors.blue], radius: 50.0, stokeWidth: 3.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange], radius: 50.0, stokeWidth: 3.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange, Colors.red], radius: 50.0, stokeWidth: 5.0, value: _animationController.value, ), GradientCircularProgressIndicator( colors: [Colors.teal, Colors.cyan], radius: 50.0, stokeWidth: 5.0, strokeCapRound: true, value: CurvedAnimation( parent: _animationController, curve: Curves.decelerate) .value, ), TurnBox( turns: 1 / 8, child: GradientCircularProgressIndicator( colors: [Colors.red, Colors.orange, Colors.red], radius: 50.0, stokeWidth: 5.0, strokeCapRound: true, backgroundColor: Colors.red[50], totalAngle: 1.5 * pi, value: CurvedAnimation( parent: _animationController, curve: Curves.ease) .value), ), RotatedBox( quarterTurns: 1, child: GradientCircularProgressIndicator( colors: [Colors.blue[700], Colors.blue[200]], radius: 50.0, stokeWidth: 3.0, strokeCapRound: true, backgroundColor: Colors.transparent, value: _animationController.value), ), GradientCircularProgressIndicator( colors: [ Colors.red, Colors.amber, Colors.cyan, Colors.green[200], Colors.blue, Colors.red ], radius: 50.0, stokeWidth: 5.0, strokeCapRound: true, value: _animationController.value, ), ], ), GradientCircularProgressIndicator( colors: [Colors.blue[700], Colors.blue[200]], radius: 100.0, stokeWidth: 20.0, value: _animationController.value, ), Padding( padding: const EdgeInsets.symmetric(vertical: 16.0), child: GradientCircularProgressIndicator( colors: [Colors.blue[700], Colors.blue[300]], radius: 100.0, stokeWidth: 20.0, value: _animationController.value, strokeCapRound: true, ), ), //剪裁半圆 ClipRect( child: Align( alignment: Alignment.topCenter, heightFactor: .5, child: Padding( padding: const EdgeInsets.only(bottom: 8.0), child: SizedBox( //width: 100.0, child: TurnBox( turns: .75, child: GradientCircularProgressIndicator( colors: [Colors.teal, Colors.cyan[500]], radius: 100.0, stokeWidth: 8.0, value: _animationController.value, totalAngle: pi, strokeCapRound: true, ), ), ), ), ), ), SizedBox( height: 104.0, width: 200.0, child: Stack( alignment: Alignment.center, children: [ Positioned( height: 200.0, top: .0, child: TurnBox( turns: .75, child: GradientCircularProgressIndicator( colors: [Colors.teal, Colors.cyan[500]], radius: 100.0, stokeWidth: 8.0, value: _animationController.value, totalAngle: pi, strokeCapRound: true, ), ), ), Padding( padding: const EdgeInsets.only(top: 10.0), child: Text( \"${(_animationController.value * 100).toInt()}%\", style: TextStyle( fontSize: 25.0, color: Colors.blueGrey, ), ), ) ], ), ), ], ), ); }, ), ], ), ), ); } } "},"chapter10/":{"url":"chapter10/","title":"文件操作与网络请求","keywords":"","body":"本章目录 文件操作 Http请求-HttpClient Http请求-Dio package WebSocket 使用Socket API Json转Model "},"chapter10/file_operation.html":{"url":"chapter10/file_operation.html","title":"文件操作","keywords":"","body":"文件操作 Dart的IO库包含了文件读写的相关类,它属于Dart语法标准的一部分,所以通过Dart IO库,无论是Dart VM下的脚本还是Flutter,都是通过Dart IO库来操作文件的,不过和Dart VM相比,Flutter有一个重要差异是文件系统路径不同,这是因为Dart VM是运行在PC或服务器操作系统下,而Flutter是运行在移动操作系统中,他们的文件系统会有一些差异。 APP目录 Android和iOS的应用存储目录不同,PathProvider 插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置: 临时目录: 可以使用 getTemporaryDirectory() 来获取临时目录; 系统可随时清除的临时目录(缓存)。在iOS上,这对应于NSTemporaryDirectory() 返回的值。在Android上,这是getCacheDir())返回的值。 文档目录: 可以使用getApplicationDocumentsDirectory()来获取应用程序的文档目录,该目录用于存储只有自己可以访问的文件。只有当应用程序被卸载时,系统才会清除该目录。在iOS上,这对应于NSDocumentDirectory。在Android上,这是AppData目录。 外部存储目录:可以使用getExternalStorageDirectory()来获取外部存储目录,如SD卡;由于iOS不支持外部目录,所以在iOS下调用该方法会抛出UnsupportedError异常,而在Android下结果是android SDK中getExternalStorageDirectory的返回值。 一旦你的Flutter应用程序有一个文件位置的引用,你可以使用dart:ioAPI来执行对文件系统的读/写操作。有关使用Dart处理文件和目录的详细内容可以参考Dart语言文档,下面我们看一个简单的例子。 示例 我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。 这里,我们使用文件来保存数据: 引入PathProvider插件;在pubspec.yaml文件中添加如下声明: path_provider: ^0.4.1 添加后,执行flutter packages get 获取一下, 版本号可能随着时间推移会发生变化,读者可以使用最新版。 实现: import 'dart:io'; import 'dart:async'; import 'package:flutter/material.dart'; import 'package:path_provider/path_provider.dart'; class FileOperationRoute extends StatefulWidget { FileOperationRoute({Key key}) : super(key: key); @override _FileOperationRouteState createState() => new _FileOperationRouteState(); } class _FileOperationRouteState extends State { int _counter; @override void initState() { super.initState(); //从文件读取点击次数 _readCounter().then((int value) { setState(() { _counter = value; }); }); } Future _getLocalFile() async { // 获取应用目录 String dir = (await getApplicationDocumentsDirectory()).path; return new File('$dir/counter.txt'); } Future _readCounter() async { try { File file = await _getLocalFile(); // 读取点击次数(以字符串) String contents = await file.readAsString(); return int.parse(contents); } on FileSystemException { return 0; } } Future _incrementCounter() async { setState(() { _counter++; }); // 将点击次数以字符串类型写到文件中 await (await _getLocalFile()).writeAsString('$_counter'); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar(title: new Text('文件操作')), body: new Center( child: new Text('点击了 $_counter 次'), ), floatingActionButton: new FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: new Icon(Icons.add), ), ); } } 上面代码比较简单,不再赘述,需要说明的是,本示例只是为了演示文件读写,而在实际开发中,如果要存储一些简单的数据,使用shared_preferences插件会比较简单。 注意,Dart IO库操作文件的API非常丰富,但本书不是介绍Dart语言的,故不详细说明,读者需要的话可以自行学习。 "},"chapter10/http.html":{"url":"chapter10/http.html","title":"Http请求-HttpClient","keywords":"","body":"通过HttpClient发起HTTP请求 Dart IO库中提供了Http请求的一些类,我们可以直接使用HttpClient来发起请求。使用HttpClient发起请求分为五步: 创建一个HttpClient HttpClient httpClient = new HttpClient(); 打开Http连接,设置请求头 HttpClientRequest request = await httpClient.getUrl(uri); 这一步可以使用任意Http method,如httpClient.post(...)、httpClient.delete(...)等。如果包含Query参数,可以在构建uri时添加,如: Uri uri=Uri(scheme: \"https\", host: \"flutterchina.club\", queryParameters: { \"xx\":\"xx\", \"yy\":\"dd\" }); 通过HttpClientRequest可以设置请求header,如: request.headers.add(\"user-agent\", \"test\"); 如果是post或put等可以携带请求体方法,可以通过HttpClientRequest对象发送request body,如: String payload=\"...\"; request.add(utf8.encode(payload)); //request.addStream(_inputStream); //可以直接添加输入流 等待连接服务器 HttpClientResponse response = await request.close(); 这一步完成后,请求信息就已经发送给服务器了,返回一个HttpClientResponse对象,它包含响应头(header)和响应流(响应体的Stream),接下来就可以通过读取响应流来获取响应内容。 读取响应内容 String responseBody = await response.transform(utf8.decoder).join(); 我们通过读取响应流来获取服务器返回的数据,在读取时我们可以设置编码格式,这里是utf8。 请求结束,关闭HttpClient httpClient.close(); 关闭client后,通过该client发起的所有请求都会中止。 示例 我们实现一个获取百度首页html的例子,示例效果如下: ​ 点击“获取百度首页”按钮后,会请求百度首页,请求成功后,我们将返回内容显示出来并在控制台打印响应header,代码如下: import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; class HttpTestRoute extends StatefulWidget { @override _HttpTestRouteState createState() => new _HttpTestRouteState(); } class _HttpTestRouteState extends State { bool _loading = false; String _text = \"\"; @override Widget build(BuildContext context) { return ConstrainedBox( constraints: BoxConstraints.expand(), child: SingleChildScrollView( child: Column( children: [ RaisedButton( child: Text(\"获取百度首页\"), onPressed: _loading ? null : () async { setState(() { _loading = true; _text = \"正在请求...\"; }); try { //创建一个HttpClient HttpClient httpClient = new HttpClient(); //打开Http连接 HttpClientRequest request = await httpClient.getUrl( Uri.parse(\"https://www.baidu.com\")); //使用iPhone的UA request.headers.add(\"user-agent\", \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1\"); //等待连接服务器(会将请求信息发送给服务器) HttpClientResponse response = await request.close(); //读取响应内容 _text = await response.transform(utf8.decoder).join(); //输出响应头 print(response.headers); //关闭client后,通过该client发起的所有请求都会中止。 httpClient.close(); } catch (e) { _text = \"请求失败:$e\"; } finally { setState(() { _loading = false; }); } } ), Container( width: MediaQuery.of(context).size.width-50.0, child: Text(_text.replaceAll(new RegExp(r\"\\s\"), \"\")) ) ], ), ), ); } } 控制台输出: I/flutter (18545): connection: Keep-Alive I/flutter (18545): cache-control: no-cache I/flutter (18545): set-cookie: .... //有多个,省略... I/flutter (18545): transfer-encoding: chunked I/flutter (18545): date: Tue, 30 Oct 2018 10:00:52 GMT I/flutter (18545): content-encoding: gzip I/flutter (18545): vary: Accept-Encoding I/flutter (18545): strict-transport-security: max-age=172800 I/flutter (18545): content-type: text/html;charset=utf-8 I/flutter (18545): tracecode: 00525262401065761290103018, 00522983 HttpClient配置 HttpClient有很多属性可以配置,常用的属性列表如下: 属性 含义 idleTimeout 对应请求头中的keep-alive字段值,为了避免频繁建立连接,httpClient在请求结束后会保持连接一段时间,超过这个阈值后才会关闭连接。 connectionTimeout 和服务器建立连接的超时,如果超过这个值则会抛出SocketException异常。 maxConnectionsPerHost 同一个host,同时允许建立连接的最大数量。 autoUncompress 对应请求头中的Content-Encoding,如果设置为true,则请求头中Content-Encoding的值为当前HttpClient支持的压缩算法列表,目前只有\"gzip\" userAgent 对应请求头中的User-Agent字段。 可以发现,有些属性只是为了更方便的设置请求头,对于这些属性,你完全可以通过HttpClientRequest直接设置header,不同的是通过HttpClient设置的对整个httpClient都生效,而通过HttpClientRequest设置的只对当前请求生效。 HTTP请求认证 Http协议的认证(Authentication)机制可以用于保护非公开资源。如果Http服务器开启了认证,那么用户在发起请求时就需要携带用户凭据,如果你在浏览器中访问了启用Basic认证的资源时,浏览就会弹出一个登录框,如: 我们先看看Basic认证的基本过程: 客户端发送http请求给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话, 服务器会返回一个401 Unauthozied给客户端,并且在响应header中添加一个 “WWW-Authenticate” 字段,例如: WWW-Authenticate: Basic realm=\"admin\" 其中\"Basic\"为认证方式,realm为用户角色的分组,可以在后台添加分组。 客户端得到响应码后,将用户名和密码进行base64编码(格式为用户名:密码),设置请求头Authorization,继续访问 : Authorization: Basic YXXFISDJFISJFGIJIJG 服务器验证用户凭据,如果通过就返回资源内容。 注意,Http的方式除了Basic认证之外还有:Digest认证、Client认证、Form Based认证等,目前Flutter的HttpClient只支持Basic和Digest两种认证方式,这两种认证方式最大的区别是发送用户凭据时,对于用户凭据的内容,前者只是简单的通过Base64编码(可逆),而后者会进行哈希运算,相对来说安全一点点,但是为了安全起见,无论是采用Basic认证还是Digest认证,都应该在Https协议下,这样可以防止抓包和中间人攻击。 HttpClient关于Http认证的方法和属性: addCredentials(Uri url, String realm, HttpClientCredentials credentials) 该方法用于添加用户凭据,如: httpClient.addCredentials(_uri, \"admin\", new HttpClientBasicCredentials(\"username\",\"password\"), //Basic认证凭据 ); 如果是Digest认证,可以创建Digest认证凭据: HttpClientDigestCredentials(\"username\",\"password\") authenticate(Future f(Uri url, String scheme, String realm)) 这是一个setter,类型是一个回调,当服务器需要用户凭据且该用户凭据未被添加时,httpClient会调用此回调,在这个回调当中,一般会调用addCredential()来动态添加用户凭证,例如: httpClient.authenticate=(Uri url, String scheme, String realm) async{ if(url.host==\"xx.com\" && realm==\"admin\"){ httpClient.addCredentials(url, \"admin\", new HttpClientBasicCredentials(\"username\",\"pwd\"), ); return true; } return false; }; 一个建议是,如果所有请求都需要认证,那么应该在HttpClient初始化时就调用addCredentials()来添加全局凭证,而不是去动态添加。 代理 可以通过findProxy来设置代理策略,例如,我们要将所有请求通过代理服务器(192.168.1.2:8888)发送出去: client.findProxy = (uri) { // 如果需要过滤uri,可以手动判断 return \"PROXY 192.168.1.2:8888\"; }; findProxy 回调返回值是一个遵循浏览器PAC脚本格式的字符串,详情可以查看API文档,如果不需要代理,返回\"DIRECT\"即可。 在APP开发中,很多时候我们需要抓包来调试,而抓包软件(如charles)就是一个代理,这时我们就可以将请求发送到我们的抓包软件,我们就可以在抓包软件中看到请求的数据了。 有时代理服务器也启用了身份验证,这和http协议的认证是相似的,HttpClient提供了对应的Proxy认证方法和属性: set authenticateProxy( Future f(String host, int port, String scheme, String realm)); void addProxyCredentials( String host, int port, String realm, HttpClientCredentials credentials); 他们的使用方法和上面“HTTP请求认证”一节中介绍的addCredentials和authenticate 相同,故不再赘述。 证书校验 Https中为了防止通过伪造证书而发起的中间人攻击,客户端应该对自签名或非CA颁发的证书进行校验。HttpClient对证书校验的逻辑如下: 如果请求的Https证书是可信CA颁发的,并且访问host包含在证书的domain列表中(或者符合通配规则)并且证书未过期,则验证通过。 如果第一步验证失败,但在创建HttpClient时,已经通过SecurityContext将证书添加到证书信任链中,那么当服务器返回的证书在信任链中的话,则验证通过。 如果1、2验证都失败了,如果用户提供了badCertificateCallback回调,则会调用它,如果回调返回true,则允许继续链接,如果返回false,则终止链接。 综上所述,我们的证书校验其实就是提供一个badCertificateCallback回调,下面通过一个示例来说明。 示例 假设我们的后台服务使用的是自签名证书,证书格式是PEM格式,我们将证书的内容保存在本地字符串中,那么我们的校验逻辑如下: String PEM=\"XXXXX\";//可以从文件读取 ... httpClient.badCertificateCallback=(X509Certificate cert, String host, int port){ if(cert.pem==PEM){ return true; //证书一致,则允许发送数据 } return false; }; X509Certificate是证书的标准格式,包含了证书除私钥外所有信息,读者可以自行查阅文档。另外,上面的示例没有校验host,是因为只要服务器返回的证书内容和本地的保存一致就已经能证明是我们的服务器了(而不是中间人),host验证通常是为了防止证书和域名不匹配。 对于自签名的证书,我们也可以将其添加到本地证书信任链中,这样证书验证时就会自动通过,而不会再走到badCertificateCallback回调中: SecurityContext sc=new SecurityContext(); //file为证书路径 sc.setTrustedCertificates(file); //创建一个HttpClient HttpClient httpClient = new HttpClient(context: sc); 注意,通过setTrustedCertificates()设置的证书格式必须为PEM或PKCS12,如果证书格式为PKCS12,则需将证书密码传入,这样则会在代码中暴露证书密码,所以客户端证书校验不建议使用PKCS12格式的证书。 总结 值得注意的是,HttpClient提供的这些属性和方法最终都会作用在请求header里,我们完全可以通过手动去设置header来实现,之所以提供这些方法,只是为了方便开发者而已。另外,Http协议是一个非常重要的、使用最多的网络协议,每一个开发者都应该对http协议非常熟悉。 "},"chapter10/dio.html":{"url":"chapter10/dio.html","title":"Http请求-Dio package","keywords":"","body":"网络操作 Dio http库 通过上一节介绍,我们可以发现直接使用HttpClient发起网络请求是比较麻烦的,很多事情得我们手动处理,如果再涉及到文件上传/下载、Cookie管理等就会非常繁琐。幸运的是,Dart社区有一些第三方http请求库,用它们来发起http请求将会简单的多,本节我们介绍一下目前人气较高的dio库。 dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等。 引入 引入dio: dependencies: dio: ^x.x.x #请使用pub上的最新版本 导入并创建dio实例: import 'package:dio/dio.dart'; Dio dio = new Dio(); 接下来就可以通过 dio实例来发起网络请求了,注意,一个dio实例可以发起多个http请求,一般来说,APP只有一个http数据源时,dio应该使用单例模式。 示例 发起 GET 请求 : Response response; response=await dio.get(\"/test?id=12&name=wendu\") print(response.data.toString()); 对于GET请求我们可以将query参数通过对象来传递,上面的代码等同于: response=await dio.get(\"/test\",data:{\"id\":12,\"name\":\"wendu\"}) print(response.data.toString()); 发起一个 POST 请求: response=await dio.post(\"/test\",data:{\"id\":12,\"name\":\"wendu\"}) 发起多个并发请求: response= await Future.wait([dio.post(\"/info\"),dio.get(\"/token\")]); 下载文件: response=await dio.download(\"https://www.google.com/\",_savePath); 发送 FormData: FormData formData = new FormData.from({ \"name\": \"wendux\", \"age\": 25, }); response = await dio.post(\"/info\", data: formData) 如果发送的数据是FormData,则dio会将请求header的contentType设为“multipart/form-data”。 通过FormData上传多个文件: FormData formData = new FormData.from({ \"name\": \"wendux\", \"age\": 25, \"file1\": new UploadFileInfo(new File(\"./upload.txt\"), \"upload1.txt\"), \"file2\": new UploadFileInfo(new File(\"./upload.txt\"), \"upload2.txt\"), // 支持文件数组上传 \"files\": [ new UploadFileInfo(new File(\"./example/upload.txt\"), \"upload.txt\"), new UploadFileInfo(new File(\"./example/upload.txt\"), \"upload.txt\") ] }); response = await dio.post(\"/info\", data: formData) 值得一提的是,dio内部仍然使用HttpClient发起的请求,所以代理、请求认证、证书校验等和HttpClient是相同的,我们可以在onHttpClientCreate回调中设置,例如: dio.onHttpClientCreate = (HttpClient client) { //设置代理 client.findProxy = (uri) { return \"PROXY 192.168.1.2:8888\"; }; //校验证书 httpClient.badCertificateCallback=(X509Certificate cert, String host, int port){ if(cert.pem==PEM){ return true; //证书一致,则允许发送数据 } return false; }; }; 注意,onHttpClientCreate会在当前dio实例内部需要创建HttpClient时调用,所以通过此回调配置HttpClient会对整个dio实例生效,如果你想针对某个应用请求单独的代理或证书校验策略,可以创建一个新的dio实例即可。 怎么样,是不是很简单,除了这些基本的用法,dio还支持请求配置、拦截器等,官方资料比较详细,故本书不再赘述,详情可以参考dio主页:https://github.com/flutterchina/dio 。 "},"chapter10/websocket.html":{"url":"chapter10/websocket.html","title":"WebSocket","keywords":"","body":"使用WebSockets Http协议是无状态的,只能由客户端主动发起,服务端再被动响应,服务端无法向客户端主动推送内容,并且一旦服务器响应结束,链接就会断开(见注解部分),所以无法进行实时通信。WebSocket协议正是为解决客户端与服务端实时通信而产生的技术,现在已经被主流浏览器支持,所以对于Web开发者来说应该比较熟悉了,Flutter也提供了专门的包来支持WebSocket协议。 注意:Http协议中虽然可以通过keep-alive机制使服务器在响应结束后链接会保持一段时间,但最终还是会断开,keep-alive机制主要是用于避免在同一台服务器请求多个资源时频繁创建链接,它本质上是支持链接复用的技术,而并非用于实时通信,读者需要知道这两者的区别。 WebSocket协议本质上是一个基于tcp的协议,它是先通过HTTP协议发起一条特殊的http请求进行握手后,如果服务端支持WebSocket协议,则会进行协议升级。WebSocket会使用http协议握手后创建的tcp链接,和http协议不同的是,WebSocket的tcp链接是个长链接(不会断开),所以服务端与客户端就可以通过此TCP连接进行实时通信。有关WebSocket协议细节,读者可以看RFC文档,下面我们重点看看Flutter中如何使用WebSocket。 在接下来例子中,我们将连接到由websocket.org提供的测试服务器。服务器将简单地返回我们发送给它的相同消息! 步骤 连接到WebSocket服务器。 监听来自服务器的消息。 将数据发送到服务器。 关闭WebSocket连接。 1. 连接到WebSocket服务器 web_socket_channel package 提供了我们需要连接到WebSocket服务器的工具. 该package提供了一个WebSocketChannel允许我们既可以监听来自服务器的消息,又可以将消息发送到服务器的方法。 在Flutter中,我们可以创建一个WebSocketChannel连接到一台服务器: final channel = new IOWebSocketChannel.connect('ws://echo.websocket.org'); 2. 监听来自服务器的消息 现在我们建立了连接,我们可以监听来自服务器的消息,在我们发送消息给测试服务器之后,它会返回相同的消息。 我们如何收取消息并显示它们?在这个例子中,我们将使用一个StreamBuilder Widget来监听新消息, 并用一个Text Widget来显示它们。 new StreamBuilder( stream: widget.channel.stream, builder: (context, snapshot) { return new Text(snapshot.hasData ? '${snapshot.data}' : ''); }, ); 工作原理 WebSocketChannel提供了一个来自服务器的消息Stream 。 该Stream类是dart:async包中的一个基础类。它提供了一种方法来监听来自数据源的异步事件。与Future返回单个异步响应不同,Stream类可以随着时间推移传递很多事件。 该StreamBuilder Widget将连接到一个Stream, 并在每次收到消息时通知Flutter重新构建界面。 3. 将数据发送到服务器 为了将数据发送到服务器,我们会add消息给WebSocketChannel提供的sink。 channel.sink.add('Hello!'); 工作原理 WebSocketChannel提供了一个StreamSink,它将消息发给服务器。 StreamSink类提供了给数据源同步或异步添加事件的一般方法。 4. 关闭WebSocket连接 在我们使用WebSocket后,要关闭连接: channel.sink.close(); 完整的例子 import 'package:flutter/material.dart'; import 'package:web_socket_channel/io.dart'; class WebSocketRoute extends StatefulWidget { @override _WebSocketRouteState createState() => new _WebSocketRouteState(); } class _WebSocketRouteState extends State { TextEditingController _controller = new TextEditingController(); IOWebSocketChannel channel; String _text = \"\"; @override void initState() { //创建websocket连接 channel = new IOWebSocketChannel.connect('ws://echo.websocket.org'); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text(\"WebSocket(内容回显)\"), ), body: new Padding( padding: const EdgeInsets.all(20.0), child: new Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ new Form( child: new TextFormField( controller: _controller, decoration: new InputDecoration(labelText: 'Send a message'), ), ), new StreamBuilder( stream: channel.stream, builder: (context, snapshot) { //网络不通会走到这 if (snapshot.hasError) { _text = \"网络不通...\"; } else if (snapshot.hasData) { _text = \"echo: \"+snapshot.data; } return new Padding( padding: const EdgeInsets.symmetric(vertical: 24.0), child: new Text(_text), ); }, ) ], ), ), floatingActionButton: new FloatingActionButton( onPressed: _sendMessage, tooltip: 'Send message', child: new Icon(Icons.send), ), ); } void _sendMessage() { if (_controller.text.isNotEmpty) { channel.sink.add(_controller.text); } } @override void dispose() { channel.sink.close(); super.dispose(); } } 上面的例子比较简单,不再赘述。我们现在思考一个问题,假如我们想通过WebSocket传输二进制数据应该怎么做(比如要从服务器接收一张图片)?我们发现StreamBuilder和Stream都没有指定接收类型的参数,并且在创建WebSocket链接时也没有相应的配置,貌似没有什么办法……其实很简单,要接收二进制数据仍然使用StreamBuilder,因为WebSocket中所有发送的数据使用帧的形式发送,而帧是有固定格式,每一个帧的数据类型都可以通过Opcode字段指定,它可以指定当前帧是文本类型还是二进制类型(还有其它类型),所以客户端在收到帧时就已经知道了其数据类型,所以flutter完全可以在收到数据后解析出正确的类型,所以就无需开发者去关心,当服务器传输的数据是指定为二进制时,StreamBuilder的snapshot.data的类型就是List,是文本时,则为String。 "},"chapter10/socket.html":{"url":"chapter10/socket.html","title":"使用Socket API","keywords":"","body":"Socket 我们之前介绍的Http协议和WebSocket协议都属于应用层协议,除了它们,应用层协议还有很多如:SMTP、FTP等,它们都是通过Socket实现的。其实,操作系统中提供的原生网络请求API是标准的,在C语言的Socket库中,它主要提供了端到端建立链接和发送数据的基础API,而高级编程语言中的Socket库其实都是对操作系统的socket API的一个封装。所以,如果我们需要自定义协议或者想直接来控制管理网络链接、又或者我们觉得自带的HttpClient不好用想重新实现一个,这时我们就需要使用Socket。Flutter的Socket API在dart io包中,下面我们看一个使用Socket实现简单http请求的示例,以请求百度首页为例: _request() async{ //建立连接 var socket=await Socket.connect(\"baidu.com\", 80); //根据http协议,发送请求头 socket.writeln(\"GET / HTTP/1.1\"); socket.writeln(\"Host:baidu.com\"); socket.writeln(\"Connection:close\"); socket.writeln(); await socket.flush(); //发送 //读取返回内容 _response =await socket.transform(utf8.decoder).join(); await socket.close(); } 可以看到,使用Socket需要我们自己实现Http协议细节,本例只是一个简单示例,没有处理重定向、cookie等。本示例完整代码参考示例demo,运行后如下: 可以看到响应内容分两个部分,第一部分是响应头,第二部分是响应体,服务端可以根据请求信息动态来输出响应体。由于本示例请求头比较简单,所以响应体和浏览器中访问的会有差别,读者可以补充一些请求头(如user-agent)来看看输出的变化。 "},"chapter10/json_model.html":{"url":"chapter10/json_model.html","title":"Json转Model","keywords":"","body":"Json Model 在实战中,后台接口往往会返回一些结构化数据,如JSON、XML等,如之前我们请求Github API的示例,它返回的数据就是JSON格式的字符串,为了方便我们在代码中操作JSON,我们先将JSON格式的字符串转为Dart对象,这个可以通过dart:convert中内置的JSON解码器json.decode() 来实现,该方法可以根据JSON字符串具体内容将其转为List或Map,这样我们就可以通过他们来查找所需的值,如: //一个JSON格式的用户列表字符串 String jsonStr='[{\"name\":\"Jack\"},{\"name\":\"Rose\"}]'; //将JSON字符串转为Dart对象(此处是List) List items=json.decode(jsonStr); //输出第一个用户的姓名 print(items[0][\"name\"]); 通过json.decode() 将JSON字符串转为List/Map的方法比较简单,它没有外部依赖或其它的设置,对于小项目很方便。但当项目变大时,这种手动编写序列化逻辑可能变得难以管理且容易出错,例如有如下JSON: { \"name\": \"John Smith\", \"email\": \"john@example.com\" } 我们可以通过调用json.decode方法来解码JSON ,使用JSON字符串作为参数: Map user = json.decode(json); print('Howdy, ${user['name']}!'); print('We sent the verification link to ${user['email']}.'); 由于json.decode()仅返回一个Map,这意味着直到运行时我们才知道值的类型。 通过这种方法,我们失去了大部分静态类型语言特性:类型安全、自动补全和最重要的编译时异常。这样一来,我们的代码可能会变得非常容易出错。例如,当我们访问name或email字段时,我们输入的很快,导致字段名打错了。但由于这个JSON在map结构中,所以编译器不知道这个错误的字段名,所以编译时不会报错。 其实,这个问题在很多平台上都会遇到,而也早就有了好的解决方法即“Json Model化”,具体做法就是,通过预定义一些与Json结构对应的Model类,然后在请求到数据后再动态根据数据创建出Model类的实例。这样一来,在开发阶段我们使用的是Model类的实例,而不再是Map/List,这样访问内部属性时就不会发生拼写错误。例如,我们可以通过引入一个简单的模型类(Model class)来解决前面提到的问题,我们称之为User。在User类内部,我们有: 一个User.fromJson 构造函数, 用于从一个map构造出一个 User实例 map structure 一个toJson 方法, 将 User 实例转化为一个map. 这样,调用代码现在可以具有类型安全、自动补全字段(name和email)以及编译时异常。如果我们将拼写错误字段视为int类型而不是String, 那么我们的代码就不会通过编译,而不是在运行时崩溃。 user.dart class User { final String name; final String email; User(this.name, this.email); User.fromJson(Map json) : name = json['name'], email = json['email']; Map toJson() => { 'name': name, 'email': email, }; } 现在,序列化逻辑移到了模型本身内部。采用这种新方法,我们可以非常容易地反序列化user. Map userMap = json.decode(json); var user = new User.fromJson(userMap); print('Howdy, ${user.name}!'); print('We sent the verification link to ${user.email}.'); 要序列化一个user,我们只是将该User对象传递给该json.encode方法。我们不需要手动调用toJson这个方法,因为`JSON.encode内部会自动调用。 String json = json.encode(user); 这样,调用代码就不用担心JSON序列化了,但是,Model类还是必须的。在实践中,User.fromJson和User.toJson方法都需要单元测试到位,以验证正确的行为。 另外,实际场景中,JSON对象很少会这么简单,嵌套的JSON对象并不罕见,如果有什么能为我们自动处理JSON序列化,那将会非常好。幸运的是,有! 自动生成Model 尽管还有其他库可用,但在本书中,我们介绍一下官方推荐的json_serializable package包。 它是一个自动化的源代码生成器,可以在开发阶段为我们生成JSON序列化模板,这样一来,由于序列化代码不再由我们手写和维护,我们将运行时产生JSON序列化异常的风险降至最低。 在项目中设置json_serializable 要包含json_serializable到我们的项目中,我们需要一个常规和两个开发依赖项。简而言之,开发依赖项是不包含在我们的应用程序源代码中的依赖项,它是开发过程中的一些辅助工具、脚本,和node中的开发依赖项相似。 pubspec.yaml dependencies: # Your other regular dependencies here json_annotation: ^2.0.0 dev_dependencies: # Your other dev_dependencies here build_runner: ^1.0.0 json_serializable: ^2.0.0 在您的项目根文件夹中运行 flutter packages get (或者在编辑器中点击 “Packages Get”) 以在项目中使用这些新的依赖项. 以json_serializable的方式创建model类 让我们看看如何将我们的User类转换为一个json_serializable。为了简单起见,我们使用前面示例中的简化JSON model。 user.dart import 'package:json_annotation/json_annotation.dart'; // user.g.dart 将在我们运行生成命令后自动生成 part 'user.g.dart'; ///这个标注是告诉生成器,这个类是需要生成Model类的 @JsonSerializable() class User{ User(this.name, this.email); String name; String email; //不同的类使用不同的mixin即可 factory User.fromJson(Map json) => _$UserFromJson(json); Map toJson() => _$UserToJson(this); } 有了上面的设置,源码生成器将生成用于序列化name和email字段的JSON代码。 如果需要,自定义命名策略也很容易。例如,如果我们正在使用的API返回带有snake_case的对象,但我们想在我们的模型中使用lowerCamelCase, 那么我们可以使用@JsonKey标注: //显式关联JSON字段名与Model属性的对应关系 @JsonKey(name: 'registration_date_millis') final int registrationDateMillis; 运行代码生成程序 json_serializable第一次创建类时,您会看到与下图类似的错误。 这些错误是完全正常的,这是因为Model类的生成代码还不存在。为了解决这个问题,我们必须运行代码生成器来为我们生成序列化模板。有两种运行代码生成器的方法: 一次性生成 通过在我们的项目根目录下运行: flutter packages pub run build_runner build 这触发了一次性构建,我们可以在需要时为我们的Model生成json序列化代码,它通过我们的源文件,找出需要生成Model类的源文件(包含@JsonSerializable标注的)来生成对应的.g.dart文件。一个好的建议是将所有Model类放在一个单独的目录下,然后在该目录下执行命令。 虽然这非常方便,但如果我们不需要每次在Model类中进行更改时都要手动运行构建命令的话会更好。 持续生成 使用watcher可以使我们的源代码生成的过程更加方便。它会监视我们项目中文件的变化,并在需要时自动构建必要的文件,我们可以通过flutter packages pub run build_runner watch在项目根目录下运行来启动watcher。只需启动一次观察器,然后它就会在后台运行,这是安全的。 自动化生成模板 上面的方法有一个最大的问题就是要为每一个json写模板,这是比较枯燥的。如果有一个工具可以直接根据JSON文本生成模板,那我们就能彻底解放双手了。笔者自己用dart实现了一个脚本,它可以自动生成模板,并直接将JSON转为Model类,下面我们看看怎么做: 定义一个\"模板的模板\",名为\"template.dart\": import 'package:json_annotation/json_annotation.dart'; %t part '%s.g.dart'; @JsonSerializable() class %s { %s(); %s factory %s.fromJson(Map json) => _$%sFromJson(json); Map toJson() => _$%sToJson(this); } 模板中的“%t”、“%s”为占位符,将在脚本运行时动态被替换为合适的导入头和类名。 写一个自动生成模板的脚本(mo.dart),它可以根据指定的JSON目录,遍历生成模板,在生成时我们定义一些规则: 如果JSON文件名以下划线“_”开始,则忽略此JSON文件。 复杂的JSON对象往往会出现嵌套,我们可以通过一个特殊标志来手动指定嵌套的对象(后面举例)。 脚本我们通过Dart来写,源码如下: import 'dart:convert'; import 'dart:io'; import 'package:path/path.dart' as path; const TAG=\"\\$\"; const SRC=\"./json\"; //JSON 目录 const DIST=\"lib/models/\"; //输出model目录 void walk() { //遍历JSON目录生成模板 var src = new Directory(SRC); var list = src.listSync(); var template=new File(\"./template.dart\").readAsStringSync(); File file; list.forEach((f) { if (FileSystemEntity.isFileSync(f.path)) { file = new File(f.path); var paths=path.basename(f.path).split(\".\"); String name=paths.first; if(paths.last.toLowerCase()!=\"json\"||name.startsWith(\"_\")) return ; if(name.startsWith(\"_\")) return; //下面生成模板 var map = json.decode(file.readAsStringSync()); //为了避免重复导入相同的包,我们用Set来保存生成的import语句。 var set= new Set(); StringBuffer attrs= new StringBuffer(); (map as Map).forEach((key, v) { if(key.startsWith(\"_\")) return ; attrs.write(getType(v,set,name)); attrs.write(\" \"); attrs.write(key); attrs.writeln(\";\"); attrs.write(\" \"); }); String className=name[0].toUpperCase()+name.substring(1); var dist=format(template,[name,className,className,attrs.toString(), className,className,className]); var _import=set.join(\";\\r\\n\"); _import+=_import.isEmpty?\"\":\";\"; dist=dist.replaceFirst(\"%t\",_import ); //将生成的模板输出 new File(\"$DIST$name.dart\").writeAsStringSync(dist); } }); } String changeFirstChar(String str, [bool upper=true] ){ return (upper?str[0].toUpperCase():str[0].toLowerCase())+str.substring(1); } //将JSON类型转为对应的dart类型 String getType(v,Set set,String current){ current=current.toLowerCase(); if(v is bool){ return \"bool\"; }else if(v is num){ return \"num\"; }else if(v is Map){ return \"Map\"; }else if(v is List){ return \"List\"; }else if(v is String){ //处理特殊标志 if(v.startsWith(\"$TAG[]\")){ var className=changeFirstChar(v.substring(3),false); if(className.toLowerCase()!=current) { set.add('import \"$className.dart\"'); } return \"List\"; }else if(v.startsWith(TAG)){ var fileName=changeFirstChar(v.substring(1),false); if(fileName.toLowerCase()!=current) { set.add('import \"$fileName.dart\"'); } return changeFirstChar(fileName); } return \"String\"; }else{ return \"String\"; } } //替换模板占位符 String format(String fmt, List params) { int matchIndex = 0; String replace(Match m) { if (matchIndex 写一个shell(mo.sh),将生成模板和生成model串起来: dart mo.dart flutter packages pub run build_runner build --delete-conflicting-outputs 至此,我们的脚本写好了,我们在根目录下新建一个json目录,然后把user.json移进去,然后在lib目录下创建一个models目录,用于保存最终生成的Model类。现在我们只需要一句命令即可生成Model类了: ./mo.sh 运行后,一切都将自动执行,现在好多了,不是吗? 嵌套JSON 我们定义一个person.json内容修改为: { \"name\": \"John Smith\", \"email\": \"john@example.com\", \"mother\":{ \"name\": \"Alice\", \"email\":\"alice@example.com\" }, \"friends\":[ { \"name\": \"Jack\", \"email\":\"Jack@example.com\" }, { \"name\": \"Nancy\", \"email\":\"Nancy@example.com\" } ] } 每个Person都有name 、email 、 mother和friends四个字段,由于mother也是一个Person,朋友是多个Person(数组),所以我们期望生成的Model是下面这样: import 'package:json_annotation/json_annotation.dart'; part 'person.g.dart'; @JsonSerializable() class Person { Person(); String name; String email; Person mother; List friends; factory Person.fromJson(Map json) => _$PersonFromJson(json); Map toJson() => _$PersonToJson(this); } 这时,我们只需要简单修改一下JSON,添加一些特殊标志,重新运行mo.sh即可: { \"name\": \"John Smith\", \"email\": \"john@example.com\", \"mother\":\"$person\", \"friends\":\"$[]person\" } 我们使用美元符“$”作为特殊标志符(如果与内容冲突,可以修改mo.dart中的TAG常量,自定义标志符),脚本在遇到特殊标志符后会先把相应字段转为相应的对象或对象数组,对象数组需要在标志符后面添加数组符“[]”,符号后面接具体的类型名,此例中是person。其它类型同理,加入我们给User添加一个Person类型的 boss字段: { \"name\": \"John Smith\", \"email\": \"john@example.com\", \"boss\":\"$person\" } 重新运行mo.sh,生成的user.dart如下: import 'package:json_annotation/json_annotation.dart'; import \"person.dart\"; part 'user.g.dart'; @JsonSerializable() class User { User(); String name; String email; Person boss; factory User.fromJson(Map json) => _$UserFromJson(json); Map toJson() => _$UserToJson(this); } 可以看到,boss字段已自动添加,并自动导入了“person.dart”。 使用IDE插件生成model 目前Android Studio(或IntelliJ)有一个插件,它可以自动将Json转为model,该插件会对嵌套Json也会生成model。这个特性在有些时候可能会引起重定义,如两个Json都内嵌了一个user的对象时,会导致user model在不同的文件中会被定义两次,需要开发者手动去重。 FAQ 很多人可能会问Flutter中有没有像Java开发中的Gson/Jackson一样的Json序列化类库?答案是没有!因为这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰Dart的tree shaking,使用tree shaking,可以在release版中“去除”未使用的代码,这可以显著优化应用程序的大小。由于反射会默认应用到所有代码,因此tree shaking会很难工作,因为在启用反射时很难知道哪些代码未被使用,因此冗余代码很难剥离,所以Flutter中禁用了Dart的反射功能,而正因如此也就无法实现动态转化Model的功能。 "},"chapter11/":{"url":"chapter11/","title":"包与插件","keywords":"","body":"包与插件 开发package 插件开发:平台通道简介 插件开发:实现Android端API 插件开发:实现IOS端API "},"chapter11/develop_package.html":{"url":"chapter11/develop_package.html","title":"开发package","keywords":"","body":"Package 使用package可以创建共享的模块化代码。一个最小的package包括: 一个pubspec.yaml文件:声明了package的名称、版本、作者等的元数据文件。 一个 lib 文件夹:包括包中公开的(public)代码,最少应有一个.dart文件 Flutter Packages分为两类: Dart包:其中一些可能包含Flutter的特定功能,因此对Flutter框架具有依赖性,这种包仅用于Flutter,例如fluro包。 插件包:一种专用的Dart包,其中包含用Dart代码编写的API,以及针对Android(使用Java或Kotlin)和针对iOS(使用OC或Swift)平台的特定实现,也就是说插件包括原生代码,一个具体的例子是battery插件包。 注意,虽然Flutter的Dart运行时和Dart VM运行时不是完全相同,但是如果Package中没有涉及这些存在差异的部分,那么这样的包可以同时支持Flutter和Dart VM,如Dart http网络库dio. 开发Dart包 第一步:创建Dart包 您可以通过Android Studio:File>New>New Flutter Project 来创建: 您也可以通过使用--template=package 来执行 flutter create 命令来创建: flutter create --template=package hello 这将在hello/文件夹下创建一个具有以下专用内容的package工程: lib/hello.dart:Package的Dart代码 test/hello_test.dart:Package的单元测试代码。 实现package 对于纯Dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能即可 。要测试软件包,请在test目录中添加unit tests。下面我们看看如何组织Package包的代码,我们以shelf Package为例,它的目录结构如下: 在lib根目录下的shelf.dart中,导出了多个lib/src目录下的dart文件: export 'src/cascade.dart'; export 'src/handler.dart'; export 'src/handlers/logger.dart'; export 'src/hijack_exception.dart'; export 'src/middleware.dart'; export 'src/pipeline.dart'; export 'src/request.dart'; export 'src/response.dart'; export 'src/server.dart'; export 'src/server_handler.dart'; 而Package中主要的功能的源码都在src目录下。shelf Package也导出了一个迷你库: shelf_io,它主要是处理HttpRequest的。 导入包 当需要使用这个Package时,我们可以通过\"package:\"指令来指定包的入口文件: import 'package:utilities/utilities.dart'; 同一个包中的源码文件之间也可以使用相对路径来导入。 生成文档 可以使用 dartdoc 工具来为Package生成文档,开发者需要做的就是遵守文档注释语法在代码中添加文档注释,最后使用dartdoc可以直接生成API文档(一个静态网站)。文档注释是使用三斜线\"///\"开始,如: /// The event handler responsible for updating the badge in the UI. void updateBadge() { ... } 详细的文档语法请参考dartdoc 。 处理包的相互依赖 如果我们正在开发一个hello包,它依赖于另一个包,则需要将该依赖包添加到pubspec.yaml文件的dependencies部分。 下面的代码使url_launcher插件的API在hello包中是可用的: 在 hello/pubspec.yaml中: dependencies: url_launcher: ^0.4.2 现在可以在hello中import 'package:url_launcher/url_launcher.dart' 然后调用 launch()方法了。 这与在Flutter应用程序或任何其他Dart项目中引用软件包没有什么不同。 但是,如果hello碰巧是一个插件包,其平台特定的代码需要访问url_launcher公开的特定于平台的API,那么我们还需要为特定于平台的构建文件添加合适的依赖声明,如下所示。 Android 在 hello/android/build.gradle: android { // lines skipped dependencies { provided rootProject.findProject(\":url_launcher\") } } 您现在可以在hello/android/src源码中import io.flutter.plugins.urllauncher.UrlLauncherPlugin访问UrlLauncherPlugin类。 iOS 在hello/ios/hello.podspec: Pod::Spec.new do |s| # lines skipped s.dependency 'url_launcher' 您现在可以在hello/ios/Classes源码中 #import \"UrlLauncherPlugin.h\" 然后访问 UrlLauncherPlugin类。 解决依赖冲突 假设我们想在我们的hello包中使用some_package和other_package,并且这两个包都依赖url_launcher,但是依赖的是url_launcher的不同的版本。 那我们就有潜在的冲突。避免这种情况的最好方法是在指定依赖关系时,程序包作者使用版本范围而不是特定版本。 dependencies: url_launcher: ^0.4.2 # 这样会较好, 任何0.4.x(x >= 2)都可. image_picker: '0.1.1' # 不是很好,只有0.1.1版本. 如果some_package声明了上面的依赖关系,other_package声明了url_launcher版本像’0.4.5’或’^0.4.0’,pub将能够自动解决问题。 即使some_package和other_package声明了不兼容的url_launcher版本,它仍然可能会和url_launcher以兼容的方式正常工作。 你可以通过向hello包的pubspec.yaml文件中添加依赖性覆盖声明来处理冲突,从而强制使用特定版本: 强制使用 0.4.3版本的url_launcher,在 hello/pubspec.yaml中: dependencies: some_package: other_package: dependency_overrides: url_launcher: '0.4.3' 如果冲突的依赖不是一个包,而是一个特定于Android的库,比如guava,那么必须将依赖重写声明添加到Gradle构建逻辑中。 强制使用23.0版本的guava库,在hello/android/build.gradle中: configurations.all { resolutionStrategy { force 'com.google.guava:guava:23.0-android' } } Cocoapods目前不提供依赖覆盖功能。 发布Package 一旦实现了一个包,我们可以在Pub上发布它 ,这样其他开发者就可以轻松使用它。 在发布之前,检查pubspec.yaml、README.md以及CHANGELOG.md文件,以确保其内容的完整性和正确性。然后,运行 dry-run 命令以查看是否都准备OK了: flutter packages pub publish --dry-run 验证无误后,我们就可以运行发布命令了: flutter packages pub publish 如果你遇到包发布失败的情况,先检查是否因为众所周知的网络原因,如果是网络问题,可以使用VPN,这里需要注意的是一些代理只会代理部分APP的网络请求,如浏览器的,它们可能并不能代理dart的网络请求,所以在这种情况下,即使开了代理也依然无法连接到Pub,因此,在发布Pub包时使用全局代理或全局VPN会保险些。如果网络没有问题,以管理员权限(sudo)运行发布命令重试。 "},"chapter11/platform-channel.html":{"url":"chapter11/platform-channel.html","title":"插件开发:平台通道简介","keywords":"","body":"插件开发:平台通道简介 所谓“平台特定”或“特定平台”,平台指的就是指Flutter运行的平台,如Android或IOS,可以认为就是应用的原生部分。所以,平台通道正是Flutter和原生之间通信的桥梁,它也是Flutter插件的底层基础设施。 Flutter使用了一个灵活的系统,允许您调用特定平台的API,无论在Android上的Java或Kotlin代码中,还是iOS上的ObjectiveC或Swift代码中均可用。 Flutter与原生之间的通信依赖灵活的消息传递方式: 应用的Flutter部分通过平台通道(platform channel)将消息发送到其应用程序的所在的宿主(iOS或Android)应用(原生应用)。 宿主监听平台通道,并接收该消息。然后它会调用该平台的API,并将响应发送回客户端,即应用程序的Flutter部分。 平台通道 使用平台通道在Flutter(client)和原生(host)之间传递消息,如下图所示: 当在Flutter中调用原生方法时,调用信息通过平台通道传递到原生,原生收到调用信息后方可执行指定的操作,如需返回数据,则原生会将数据再通过平台通道传递给Flutter。值得注意的是消息传递是异步的,这确保了用户界面在消息传递时不会被挂起。 在客户端,MethodChannel API 可以发送与方法调用相对应的消息。 在宿主平台上,MethodChannel 在Android API 和 FlutterMethodChannel iOS API可以接收方法调用并返回结果。这些类可以帮助我们用很少的代码就能开发平台插件。 注意: 如果需要,方法调用(消息传递)可以是反向的,即宿主作为客户端调用Dart中实现的API。 quick_actions插件就是一个具体的例子。 平台通道数据类型支持 平台通道使用标准消息编/解码器对消息进行编解码,它可以高效的对消息进行二进制序列化与反序列化。由于Dart与原生平台之间数据类型有所差异,下面我们列出数据类型之间的映射关系。 Dart Android iOS null null nil (NSNull when nested) bool java.lang.Boolean NSNumber numberWithBool: int java.lang.Integer NSNumber numberWithInt: int, if 32 bits not enough java.lang.Long NSNumber numberWithLong: int, if 64 bits not enough java.math.BigInteger FlutterStandardBigInteger double java.lang.Double NSNumber numberWithDouble: String java.lang.String NSString Uint8List byte[] FlutterStandardTypedData typedDataWithBytes: Int32List int[] FlutterStandardTypedData typedDataWithInt32: Int64List long[] FlutterStandardTypedData typedDataWithInt64: Float64List double[] FlutterStandardTypedData typedDataWithFloat64: List java.util.ArrayList NSArray Map java.util.HashMap NSDictionary 当在发送和接收值时,这些值在消息中的序列化和反序列化会自动进行。 开发Flutter插件 使用平台通道调用原生代码 下面我们通过一个获取电池电量的插件来介绍一下Flutter插件的开发流程。该插件中我们在Dart中通过getBatteryLevel 调用Android BatteryManager API和iOS device.batteryLevel API。 创建一个新的应用程序项目 首先创建一个新的应用程序: 在终端中运行:flutter create batterylevel 默认情况下,模板支持使用Java编写Android代码,或使用Objective-C编写iOS代码。要使用Kotlin或Swift,请使用-i和/或-a标志: 在终端中运行: flutter create -i swift -a kotlin batterylevel 创建Flutter平台客户端 该应用的State类拥有当前的应用状态。我们需要延长这一点以保持当前的电量 首先,我们构建通道。我们使用MethodChannel调用一个方法来返回电池电量。 通道的客户端和宿主通过通道构造函数中传递的通道名称进行连接。单个应用中使用的所有通道名称必须是唯一的; 我们建议在通道名称前加一个唯一的“域名前缀”,例如samples.flutter.io/battery。 import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; ... class _MyHomePageState extends State { static const platform = const MethodChannel('samples.flutter.io/battery'); // Get battery level. } 接下来,我们调用通道上的方法,指定通过字符串标识符调用方法getBatteryLevel。 该调用可能失败(平台不支持平台API,例如在模拟器中运行时),所以我们将invokeMethod调用包装在try-catch语句中。 我们使用返回的结果,在setState中来更新用户界面状态batteryLevel。 // Get battery level. String _batteryLevel = 'Unknown battery level.'; Future _getBatteryLevel() async { String batteryLevel; try { final int result = await platform.invokeMethod('getBatteryLevel'); batteryLevel = 'Battery level at $result % .'; } on PlatformException catch (e) { batteryLevel = \"Failed to get battery level: '${e.message}'.\"; } setState(() { _batteryLevel = batteryLevel; }); } 最后,我们在build创建包含一个小字体显示电池状态和一个用于刷新值的按钮的用户界面。 @override Widget build(BuildContext context) { return new Material( child: new Center( child: new Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ new RaisedButton( child: new Text('Get Battery Level'), onPressed: _getBatteryLevel, ), new Text(_batteryLevel), ], ), ), ); } 在接下来的两节中,我们会分别介绍Android和iOS端API的实现。 自定义平台通道和编解码器 除了上面提到的MethodChannel,还可以使用BasicMessageChannel,它支持使用自定义消息编解码器进行基本的异步消息传递。 此外,可以使用专门的BinaryCodec、StringCodec和 JSONMessageCodec类,或创建自己的编解码器。 "},"chapter11/android_implement.html":{"url":"chapter11/android_implement.html","title":"插件开发:实现Android端API","keywords":"","body":"插件开发:Android端API实现 本节我们接着上一节\"获取电池电量\"插件的示例,来完成Android端API的实现。以下步骤是使用Java的示例,如果您更喜欢Kotlin,可以直接跳到后面Kotlin部分。 首先在Android Studio中打开您的Flutter应用的Android部分: 启动 Android Studio 选择 File > Open… 定位到您 Flutter app目录, 然后选择里面的 android文件夹,点击 OK 在java目录下打开 MainActivity.java 接下来,在onCreate里创建MethodChannel并设置一个MethodCallHandler。确保使用和Flutter客户端中使用的通道名称相同的名称。 import io.flutter.app.FlutterActivity; import io.flutter.plugin.common.MethodCall; import io.flutter.plugin.common.MethodChannel; import io.flutter.plugin.common.MethodChannel.MethodCallHandler; import io.flutter.plugin.common.MethodChannel.Result; public class MainActivity extends FlutterActivity { private static final String CHANNEL = \"samples.flutter.io/battery\"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler( new MethodCallHandler() { @Override public void onMethodCall(MethodCall call, Result result) { // TODO } }); } } 接下来,我们添加Java代码,使用Android电池API来获取电池电量。此代码和在原生Android应用中编写的代码完全相同。 首先,添加需要导入的依赖。 import android.content.ContextWrapper; import android.content.Intent; import android.content.IntentFilter; import android.os.BatteryManager; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; import android.os.Bundle; 然后,将下面的新方法添加到activity类中的,位于onCreate 方法下方: private int getBatteryLevel() { int batteryLevel = -1; if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE); batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY); } else { Intent intent = new ContextWrapper(getApplicationContext()). registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); batteryLevel = (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); } return batteryLevel; } 最后,我们完成之前添加的onMethodCall方法。我们需要处理平台方法名为getBatteryLevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的Android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的API,我们也会通知返回: @Override public void onMethodCall(MethodCall call, Result result) { if (call.method.equals(\"getBatteryLevel\")) { int batteryLevel = getBatteryLevel(); if (batteryLevel != -1) { result.success(batteryLevel); } else { result.error(\"UNAVAILABLE\", \"Battery level not available.\", null); } } else { result.notImplemented(); } } 现在就可以在Android上运行该应用程序了,如果使用的是Android模拟器,则可以通过工具栏中的\"...\"按钮访问Extended Controls面板中的电池电量。 使用Kotlin添加Android平台特定的实现 使用Kotlin和使用Java的步骤类似,首先在Android Studio中打开您的Flutter应用的Android部分: 启动 Android Studio。 选择 the menu item \"File > Open…\"。 定位到 Flutter app目录, 然后选择里面的 android文件夹,点击 OK。 在kotlin目录中打开MainActivity.kt。 接下来,在onCreate里创建MethodChannel并设置一个MethodCallHandler。确保使用与在Flutter客户端使用的通道名称相同。 import android.os.Bundle import io.flutter.app.FlutterActivity import io.flutter.plugin.common.MethodChannel import io.flutter.plugins.GeneratedPluginRegistrant class MainActivity() : FlutterActivity() { private val CHANNEL = \"samples.flutter.io/battery\" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result -> // TODO } } } 接下来,我们添加Kotlin代码,使用Android电池API来获取电池电量,这和原生开发是一样的。 首先,添加需要导入的依赖。 import android.content.Context import android.content.ContextWrapper import android.content.Intent import android.content.IntentFilter import android.os.BatteryManager import android.os.Build.VERSION import android.os.Build.VERSION_CODES 然后,将下面的新方法添加到activity类中的,位于onCreate 方法下方: private fun getBatteryLevel(): Int { val batteryLevel: Int if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { val batteryManager = getSystemService(Context.BATTERY_SERVICE) as BatteryManager batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY) } else { val intent = ContextWrapper(applicationContext).registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED)) batteryLevel = intent!!.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100 / intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1) } return batteryLevel } 最后,我们完成之前添加的onMethodCall方法。我们需要处理平台方法名为getBatteryLevel的调用消息,所以我们需要先在call参数判断调用的方法是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的Android代码,并通过result参数返回成功或错误情况的响应信息。如果调用了未定义的API,我们也会通知返回: ​ MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result -> if (call.method == \"getBatteryLevel\") { val batteryLevel = getBatteryLevel() if (batteryLevel != -1) { result.success(batteryLevel) } else { result.error(\"UNAVAILABLE\", \"Battery level not available.\", null) } } else { result.notImplemented() } } 您现在就可以在Android上运行该应用程序。如果您使用的是Android模拟器,则可以通过工具栏中的\"...\"按钮访问Extended Controls面板中的电池电量。 "},"chapter11/ios_implement.html":{"url":"chapter11/ios_implement.html","title":"插件开发:实现IOS端API","keywords":"","body":"插件开发:iOS端API实现 本节我们接着之前\"获取电池电量\"插件的示例,来完成iOS端API的实现。以下步骤使用Objective-C,如果您更喜欢Swift,可以直接跳到后面Swift部分。 首先打开Xcode中Flutter应用程序的iOS部分: 启动 Xcode 选择 File > Open… 定位到您 Flutter app目录, 然后选择里面的 iOS文件夹,点击 OK 确保Xcode项目的构建没有错误。 选择 Runner > Runner ,打开AppDelegate.m 接下来,在application didFinishLaunchingWithOptions:方法内部创建一个FlutterMethodChannel,并添加一个处理方法。 确保与在Flutter客户端使用的通道名称相同。 #import @implementation AppDelegate - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController; FlutterMethodChannel* batteryChannel = [FlutterMethodChannel methodChannelWithName:@\"samples.flutter.io/battery\" binaryMessenger:controller]; [batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) { // TODO }]; return [super application:application didFinishLaunchingWithOptions:launchOptions]; } 接下来,我们添加Objective-C代码,使用iOS电池API来获取电池电量,这和原生是相同的。 在AppDelegate类中添加以下新的方法: - (int)getBatteryLevel { UIDevice* device = UIDevice.currentDevice; device.batteryMonitoringEnabled = YES; if (device.batteryState == UIDeviceBatteryStateUnknown) { return -1; } else { return (int)(device.batteryLevel * 100); } } 最后,我们完成之前添加的setMethodCallHandler方法。我们需要处理的平台方法名为getBatteryLevel,所以我们在call参数中需要先判断是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的iOS代码,并使用result参数返回成功或错误的响应。如果调用了未定义的API,我们也会通知返回: [batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) { if ([@\"getBatteryLevel\" isEqualToString:call.method]) { int batteryLevel = [self getBatteryLevel]; if (batteryLevel == -1) { result([FlutterError errorWithCode:@\"UNAVAILABLE\" message:@\"电池信息不可用\" details:nil]); } else { result(@(batteryLevel)); } } else { result(FlutterMethodNotImplemented); } }]; 现在可以在iOS上运行该应用程序了,如果使用的是iOS模拟器,请注意,它不支持电池API,因此应用程序将显示“电池信息不可用”。 使用Swift实现iOS API 以下步骤与上面使用Objective-C相似,首先打开Xcode中Flutter应用程序的iOS部分: 启动 Xcode 选择 File > Open… 定位到您 Flutter app目录, 然后选择里面的 ios文件夹,点击 OK 确保Xcode项目的构建没有错误。 选择 Runner > Runner ,然后打开AppDelegate.swift 接下来,覆盖application方法并创建一个FlutterMethodChannel绑定通道名称samples.flutter.io/battery: @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GeneratedPluginRegistrant.register(with: self); let controller : FlutterViewController = window?.rootViewController as! FlutterViewController; let batteryChannel = FlutterMethodChannel.init(name: \"samples.flutter.io/battery\", binaryMessenger: controller); batteryChannel.setMethodCallHandler({ (call: FlutterMethodCall, result: FlutterResult) -> Void in // Handle battery messages. }); return super.application(application, didFinishLaunchingWithOptions: launchOptions); } } 接下来,我们添加Swift代码,使用iOS电池API来获取电池电量,这和原生开发是相同的。 将以下新方法添加到AppDelegate.swift底部: private func receiveBatteryLevel(result: FlutterResult) { let device = UIDevice.current; device.isBatteryMonitoringEnabled = true; if (device.batteryState == UIDeviceBatteryState.unknown) { result(FlutterError.init(code: \"UNAVAILABLE\", message: \"电池信息不可用\", details: nil)); } else { result(Int(device.batteryLevel * 100)); } } 最后,我们完成之前添加的setMethodCallHandler方法。我们需要处理的平台方法名为getBatteryLevel,所以我们在call参数中需要先判断是否为getBatteryLevel。 这个平台方法的实现只需调用我们在前一步中编写的iOS代码,并使用result参数返回成功或错误的响应。如果调用了未定义的API,我们也会通知返回: batteryChannel.setMethodCallHandler({ (call: FlutterMethodCall, result: FlutterResult) -> Void in if (\"getBatteryLevel\" == call.method) { receiveBatteryLevel(result: result); } else { result(FlutterMethodNotImplemented); } }); 现在可以在iOS上运行应用程序,如果使用的是iOS模拟器,请注意,它不支持电池API,因此应用程序将显示“电池信息不可用”。 "},"todo.html":{"url":"todo.html","title":"系统能力调用","keywords":"","body":"提示 本文档尚未完成,您可以: 去Flutter中文网查看相关内容。 您想补充此文档?可以查看《Flutter实战》开源项目\"贡献须知\"。 点击下面的\"赏\"按钮,请作者喝杯咖啡,鼓励继续创作~~ "},"chapter12/":{"url":"chapter12/","title":"国际化","keywords":"","body":"本章目录 让App支持多语言 实现Localizations 使用Intl包 "},"chapter12/multi_languages_support.html":{"url":"chapter12/multi_languages_support.html","title":"让App支持多语言","keywords":"","body":"让App支持多语言 如果我们的应用要支持多种语言,那么我们需要“国际化”它。这意味着我们在开发时需要为应用程序支持的每种语言环境设置“本地化”的一些值,如文本和布局。Flutter提供一些widget和类以帮助实现国际化,而Flutter的库本身也是国际化的。 接下来我们以MaterialApp类为入口的应用来说明如何支持国际化。 大多数应用程序都是通过MaterialApp为入口,但根据低级别的WidgetsApp类为入口编写的应用程序也可以使用相同的类和逻辑进行国际化。MaterialApp实际上也是WidgetsApp的一个包装。 支持国际化 默认情况下,Flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为“flutter_localizations”的包。 截至2018年5月,该包支持24种语言。要使用flutter_localizations包,首先需要添加依赖到pubspec.yaml文件中: dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter 接下来,下载flutter_localizations库,然后指定MaterialApp的localizationsDelegates和supportedLocales: import 'package:flutter_localizations/flutter_localizations.dart'; new MaterialApp( localizationsDelegates: [ // 本地化的代理类 GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: [ const Locale('en', 'US'), // 美国英语 const Locale('zh', 'CN'), // 中文简体 //其它Locales ], // ... ) 基于WidgetsApp的应用程序类似,只是不需要GlobalMaterialLocalizations.delegate。 localizationsDelegates列表中的元素是生成本地化值集合的工厂。GlobalMaterialLocalizations.delegate 为Material 组件库提供的本地化的字符串和其他值,它可以使Material Widget支持多语言。 GlobalWidgetsLocalizations.delegate定义widget默认的文本方向,从左到右或从右到左,这是因为有些语言的阅读习惯并不是从左到右,比如如阿拉伯语就是从右向左的。 获取当前区域Locale Locale类是用来标识用户的语言环境的,它包括语言和国家两个标志如: const Locale('zh', 'CN') // 中文简体 我们始终可以通过以下方式来获取应用的当前区域Locale: Locale myLocale = Localizations.localeOf(context); Localizations Widget一般位于Widget树中其它业务组件的顶部,它的作用是定义区域Locale以及设置子树依赖的本地化资源。 如果系统的语言环境发生变化,WidgetsApp将创建一个新的Localizations Widget并重建它,这样子树中通过Localizations.localeOf(context) 获取的Locale就会更新。 监听系统语言切换 当我们更改系统语言设置时,APP中的Localizations widget会重新构建,Localizations.localeOf(context)` 获取的Locale就会更新,最终界面会重新build达到切换语言的效果。但是这个过程是隐式完成的,我们并没有主动去监听系统语言切换,但是有时我们需要在系统语言发生改变时做一些事,这时我们就需要监听locale改变事件。 我们可以通过localeResolutionCallback或localeListResolutionCallback回调来监听locale改变的事件,我们先看看localeResolutionCallback的回调函数签名: Locale Function(Locale locale, Iterable supportedLocales) 参数locale的值为当前的当前的系统语言设置,当应用启动时或用户动态改变系统语言设置时此locale即为系统的当前locale。当开发者手动指定APP的locale时,那么此locale参数代表开发者指定的locale,此时将忽略系统locale如: MaterialApp( ... locale: const Locale('en', 'US'), //手动指定locale ... ) 上面的例子中手动指定了应用locale为美国英语,指定后即使设备当前语言是中文简体,应用中的locale也依然是美国英语。 如果locale为null,则表示Flutter未能获取到设备的Locale信息,所以我们在使用locale之前一定要先判空。 supportedLocales 为当前应用支持的locale列表,是开发者在MaterialApp中通过supportedLocales属性注册的。 返回值是一个Locale,此Locale为Flutter APP最终的Locale。通常在不支持的语言区域时返回一个默认的Locale。 localeListResolutionCallback和localeResolutionCallback唯一的不同就在第一个参数类型,前者接收的是一个Locale列表,而后者接收的是单个Locale。 Locale Function(List locales, Iterable supportedLocales) 在新版的Android系统中,用户可以设置一个语言列表,这样一来,支持多语言的应用就会得到这个列表,应用通常的处理方式就是按照列表的顺序依次尝试加载相应的Locale,如果某一种语言加载成功则会停止。下面是Android中设置语言列表的截图: 在Flutter中,应该优先使用localeListResolutionCallback,当然你不必担心Android系统的差异性,如果在低版本的Android系统中,Flutter会自动处理这种情况,这时Locale列表只会包含一项。 Localization widget Localizations widget用于加载和查找包含本地化值的对象。应用程序通过Localizations.of(context,type)来引用这些对象。 如果设备的Locale区域设置发生更改,则Localizations widget会自动加载新区域的Locale值,然后重新构建使用了它们的widget。 发生这种情况是因为Localizations内部使用了InheritedWidget ,当build函数引用了InheritedWidget时,会创建对InheritedWidget的隐式依赖关系。当InheritedWidget发生更改时,即Localizations widget的Locale设置发生更改时,将重建其依赖的上下文。 本地化值由Localizations的 LocalizationsDelegates 列表加载 。 每个委托必须定义一个异步load() 方法,以生成封装了一系列本地化值的对象。通常这些对象为每个本地化值定义一个方法。 在大型应用程序中,不同模块或Package可能会与自己的本地化值捆绑在一起。 这就是为什么要用Localizations 管理对象表的原因。 要检索由LocalizationsDelegate load方法之一产生的对象,可以指定一个BuildContext和对象的类型。例如,Material 组件库的本地化字符串由MaterialLocalizations类定义, 此类的实例由MaterialApp类提供的LocalizationDelegate创建, 它们可以通过Localizations.of被获取到: Localizations.of(context, MaterialLocalizations); 这个特殊的Localizations.of()表达式会经常使用,所以MaterialLocalizations类提供了一个便捷方法: static MaterialLocalizations of(BuildContext context) { return Localizations.of(context, MaterialLocalizations); } // 可以直接调用便捷方法 tooltip: MaterialLocalizations.of(context).backButtonTooltip, 使用打包好的LocalizationsDelegates 为了尽可能小而且简单,flutter软件包中仅提供美国英语值的MaterialLocalizations和WidgetsLocalizations接口的实现。 这些实现类分别称为DefaultMaterialLocalizations和DefaultWidgetsLocalizations。flutter_localizations Package包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现, 国际化的应用程序必须按照本节开头说明的那样为这些类指定本地化Delegate。 上述的GlobalMaterialLocalizations和GlobalWidgetsLocalizations只是Material组件库的本地化实现,如果我们要让自己的布局支持多语言,那么就需要实现在即的Localizations,我们将在下一节介绍其具体的实现方式。 "},"chapter12/locallization_implement.html":{"url":"chapter12/locallization_implement.html","title":"实现Localizations","keywords":"","body":"实现Localizations 前面讲了Material组件库如何支持国际化,本节我们将介绍一下我们自己的UI中如何支持多语言。根据上节所述,我们需要实现两个类:一个Delegate类一个Localizations类,下面我们通过一个实例说明。 实现Localizations类 我们已经知道Localizations类中主要实现提供了本地化值,如文本: //Locale资源类 class DemoLocalizations { DemoLocalizations(this.isZh); //是否为中文 bool isZh = false; //为了使用方便,我们定义一个静态方法 static DemoLocalizations of(BuildContext context) { return Localizations.of(context, DemoLocalizations); } //Locale相关值,title为应用标题 String get title { return isZh ? \"Flutter应用\" : \"Flutter APP\"; } //... 其它的值 } DemoLocalizations中会根据当前的语言来返回不同的文本,如title,我们可以将所有需要支持多语言的文本都在此类中定义。DemoLocalizations的实例将会在Delegate类的load方法中创建。 实现Delegate类 Delegate类的职责是在Locale改变时加载新的Locale资源,所以它有一个load方法,Delegate类需要继承自LocalizationsDelegate类,实现相应的接口,示例如下: //Locale代理类 class DemoLocalizationsDelegate extends LocalizationsDelegate { const DemoLocalizationsDelegate(); //是否支持某个Local @override bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode); // Flutter会调用此类加载相应的Locale资源类 @override Future load(Locale locale) { print(\"xxxx$locale\"); return SynchronousFuture( DemoLocalizations(locale.languageCode == \"zh\") ); } @override bool shouldReload(DemoLocalizationsDelegate old) => false; } shouldReload的返回值决定当Localizations Widget重新build时,是否调用load方法重新加载Locale资源。一般情况下,Locale资源只应该在Locale切换时加载一次,不需要每次在Localizations 重新build时都加载,所以返回false即可。可能有些人会担心返回false的话在APP启动后用户再改变系统语言时load方法将不会被调用,所以Locale资源将不会被加载。事实上,每当Locale改变时Flutter都会再调用load方法加载新的Locale,无论shouldReload返回true还是false。 最后一步:添加多语言支持 和上一节中介绍的相同,我们现在需要先注册DemoLocalizationsDelegate类,然后再通过DemoLocalizations.of(context)来动态获取当前Locale文本。 只需要在MaterialApp或WidgetsApp的localizationsDelegates列表中添加我们的Delegate实例即可完成注册: localizationsDelegates: [ // 本地化的代理类 GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, // 注册我们的Delegate DemoLocalizationsDelegate() ], 接下来我们可以在Widget中使用Locale值: return Scaffold( appBar: AppBar( //使用Locale title title: Text(DemoLocalizations.of(context).title), ), ... //省略无关代码 ) 这样,当在美国英语和中文简体之间切换系统语言时,APP的标题将会分别为“Flutter APP”和“Flutter应用”。 总结 本节我们通过一个简单的示例说明了Flutter应用国际化的基本过程及原理。但是上面的实例还有一个严重的不足就是我们需要在DemoLocalizations类中获取title时手动的判断当前语言Locale,然后返回合适的文本。试想一下,当我们要支持的语言不是两种而是8种甚至20几种时,如果为每个文本属性都要分别去判断到底是哪种Locale从而获取相应语言的文本将会是一件非常复杂的事。还有,通常情况下翻译人员并不是开发人员,能不能像i18n或i10n标准那样可以将翻译单独保存为一个arb文件交由翻译人员去翻译,翻译好之后开发人员再通过工具将arb文件转为代码。答案是肯定的!我们将在下一节介绍如何通过Dart intl包来实现这些。 "},"chapter12/intl.html":{"url":"chapter12/intl.html","title":"使用Intl包","keywords":"","body":"使用Intl包 使用Intl包我们不仅可以非常轻松的实现国际化,而且也可以将字符串文本分离成单独的文件,方便开发人员和翻译人员分工协作。为了使用Intl包我们需要添加两个依赖: dependencies: #...省略无关项 intl: ^0.15.7 dev_dependencies: #...省略无关项 intl_translation: ^0.17.2 intl_translation 包主要包含了一些工具,它在开发阶段主要主要的作用是从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码,而intl包主要是引用和加载intl_translation生成后的dart代码。下面我们将一步步来说明如何使用: 第一步:创建必要目录 首先,在项目根目录下创建一个i10n-arb目录,该目录保存我们接下来通过intl_translation命令生成的arb文件。一个简单的arb文件内容如下: { \"@@last_modified\": \"2018-12-10T15:46:20.897228\", \"@@locale\":\"zh_CH\", \"title\": \"Flutter应用\", \"@title\": { \"description\": \"Title for the Demo application\", \"type\": \"text\", \"placeholders\": {} } } 我们根据\"@@locale\"字段可以看出这个arb对应的是中文简体的翻译,里面的title字段对应的正是我们应用标题的中文简体翻译。@title字段是对title的一些描述信息。 接下来,我们在lib目录下创建一个i10n的目录,该目录用于保存从arb文件生成的dart代码文件。 第二步:实现Localizations和Delegate类 和上一节中的步骤类似,我们仍然要实现Localizations和Delegate类,不同的是,现在我们在实现时要使用intl包的一些方法(有些是动态生成的)。 下面我们在lib/i10n目录下新建一个“localization_intl.dart”的文件,文件内容如下: import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'messages_all.dart'; //1 class DemoLocalizations { static Future load(Locale locale) { final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString(); final String localeName = Intl.canonicalizedLocale(name); //2 return initializeMessages(localeName).then((b) { Intl.defaultLocale = localeName; return new DemoLocalizations(); }); } static DemoLocalizations of(BuildContext context) { return Localizations.of(context, DemoLocalizations); } String get title { return Intl.message( 'Flutter APP', name: 'title', desc: 'Title for the Demo application', ); } } //Locale代理类 class DemoLocalizationsDelegate extends LocalizationsDelegate { const DemoLocalizationsDelegate(); //是否支持某个Local @override bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode); // Flutter会调用此类加载相应的Locale资源类 @override Future load(Locale locale) { //3 return DemoLocalizations.load(locale); } // 当Localizations Widget重新build时,是否调用load重新加载Locale资源. @override bool shouldReload(DemoLocalizationsDelegate old) => false; } 注意: 注释1的\"messages_all.dart\"文件是通过intl_translation工具从arb文件生成的代码,所以在第一次运行生成命令之前,此文件不存在。注释2处的initializeMessages()方法和\"messages_all.dart\"文件一样,是同时生成的。 注释3处和上一节示例代码不同,这里我们直接调用DemoLocalizations.load()即可。 第三部:添加需要国际化的属性 现在我们可以在DemoLocalizations类中添加需要国际化的属性或方法,如上面示例代码中的title属性,这时我们就要用到Intl库提供的一些方法,这些方法可以帮我们轻松实现不同语言的一些语法特性,如复数语境,举个例子,比如我们有一个电子邮件列表页,我们需要在顶部显示未读邮件的数量,在未读数量不同事,我们展示的文本可能会不同: 未读邮件数 提示语 0 There are no emails left 1 There is 1 email left n(n>1) There are n emails left 我们可以通过Intl.plural(...)来实现: remainingEmailsMessage(int howMany) => Intl.plural(howMany, zero: 'There are no emails left', one: 'There is $howMany email left', other: 'There are $howMany emails left', name: \"remainingEmailsMessage\", args: [howMany], desc: \"How many emails remain after archiving.\", examples: const {'howMany': 42, 'userName': 'Fred'}); 可以看到通过Intl.plural方法可以在howMany值不同时输出不同的提示信息。 Intl包还有一些其他的方法,读者可以自行查看其文档,本书不在赘述。 第四步:生成arb文件 现在我们可以通intl_translation包的工具来提取代码中的字符串到一个arb文件,运行如下命名: flutter pub pub run intl_translation:extract_to_arb --output-dir=i10n-arb \\ lib/i10n/localization_intl.dart 运行此命令后,会将我们之前通过Intl API标识的属性和字符串提取到“i10n-arb/intl_messages.arb”文件中,我们看看其内容: { \"@@last_modified\": \"2018-12-10T17:37:28.505088\", \"title\": \"Flutter APP\", \"@title\": { \"description\": \"Title for the Demo application\", \"type\": \"text\", \"placeholders\": {} }, \"remainingEmailsMessage\": \"{howMany,plural, =0{There are no emails left}=1{There is {howMany} email left}other{There are {howMany} emails left}}\", \"@remainingEmailsMessage\": { \"description\": \"How many emails remain after archiving.\", \"type\": \"text\", \"placeholders\": { \"howMany\": { \"example\": 42 } } } } 这个是默认的Locale资源文件,如果我们现在要支持中文简体,只需要在该文件同级目录创建一个\"intl_zh_CN.arb\"文件,然后将\"intl_messages.arb\"的内容拷贝到\"intl_zh_CN.arb\"文件,接下来将英文翻译为中文即可,翻译后的\"intl_zh_CN.arb\"文件内容如下: { \"@@last_modified\": \"2018-12-10T15:46:20.897228\", \"@@locale\":\"zh_CH\", \"title\": \"Flutter应用\", \"@title\": { \"description\": \"Title for the Demo application\", \"type\": \"text\", \"placeholders\": {} }, \"remainingEmailsMessage\": \"{howMany,plural, =0{没有未读邮件}=1{有{howMany}封未读邮件}other{有{howMany}封未读邮件}}\", \"@remainingEmailsMessage\": { \"description\": \"How many emails remain after archiving.\", \"type\": \"text\", \"placeholders\": { \"howMany\": { \"example\": 42 } } } } 我们必须要翻译title和remainingEmailsMessage字段,description是该字段的说明,通常给翻译人员看,代码中不会用到。 有两点需要说明: 如果某个特定的arb中缺失某个属性,那么应用将会加载默认的arb文件(intl_messages.arb)中的相应属性,这是Intl的托底策略。 每次运行提取命令时,intl_messages.arb都会根据代码重新生成,但其他arb文件不会,所以当要添加新的字段或方法时,其他arb文件是增量的,不用担心会覆盖。 arb文件是标准的,其格式规范可以自行了解。通常会将arb文件交给翻译人员,当他们完成翻译后,我们再通过下面的步骤根据arb文件生成最终的dart代码。 第五步:生成dart代码 最后一步就是根据arb生成dart文件: flutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i10n --no-use-deferred-loading lib/i10n/localization_intl.dart i10n-arb/intl_*.arb 这句命令在首次运行时会在\"lib/i10n\"目录下生成多个文件,对应多种Locale,这些代码便是最终要使用的dart代码。 总结 至此,我们将使用Intl包对APP进行国际化的流程介绍完了,我们可以发现,其中第一步和第二步只在第一次需要,而我们开发时的主要的工作都是在第三步。由于最后两步在第三步完成后每次也都需要,所以我们可以将最后两步放在一个shell脚本里,当我们完成第三步或完成arb文件翻译后只需要分别执行该脚本即可。我们在根目录下创建一个intl.sh的脚本,内容为: flutter pub pub run intl_translation:extract_to_arb --output-dir=i10n-arb lib/i10n/localization_intl.dart flutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i10n --no-use-deferred-loading lib/i10n/localization_intl.dart i10n-arb/intl_*.arb 然后授予执行权限: chmod +x intl.sh 执行intl.sh ./intl.sh "},"chapter14/":{"url":"chapter14/","title":"Flutter核心原理","keywords":"","body":"本章目录 Flutter UI系统 Element和BuildContext RenderObject和RenderBox Flutter从启动到显示 "},"chapter14/flutter_ui_system.html":{"url":"chapter14/flutter_ui_system.html","title":"Flutter UI系统","keywords":"","body":"Flutter UI系统 在本书的前面章节中,我们多次提到\"UI系统\"这个概念,本书中所指的UI系统特指:基于一个平台,在此平台上实现GUI的一个系统,这里的平台特指操作系统,如Android、iOS或者Windows、macOS。我们说过各个平台UI系统的原理是相通的,也就是说无论是Android还是iOS,他们将一个用户界面展示到屏幕的流程是相似的,所以,在介绍Flutter UI系统之前,我们先看看UI系统的基本原理,这样可以帮助读者对操作系统和系统底层UI逻辑有一个清晰的认识。 UI系统原理 硬件绘图基本原理 提到原理,我们要从屏幕显示图像的基本原理谈起。我们知道显示器(屏幕)是由一个个物理显示单元组成,每一个单元我们可以称之为一个物理像素点,而每一个像素点可以发出多种颜色,显示器成相的原理就是在不同的物理像素点上显示不同的颜色,最终构成完整的图像。 一个像素点能发出的所有颜色总数是显示器的一个重要指标,比如我们所说的1600万色的屏幕就是指一个像素点可以显示出1600万种颜色,而显示器颜色是有RGB三基色组成,所以1600万即2的24次方,即每个基本色(R、G、B)深度扩展至8 bit(位),颜色深度越深,所能显示的色彩更加丰富靓丽。 为了更新显示画面,显示器是以固定的频率刷新(从GPU取数据),比如有一部手机屏幕的刷新频率是 60Hz。当一帧图像绘制完毕后准备绘制下一帧时,显示器会发出一个垂直同步信号(如VSync), 60Hz的屏幕就会一秒内发出 60次这样的信号。而这个信号主要是用于同步CPU、GPU和显示器的。一般地来说,计算机系统中,CPU、GPU和显示器以一种特定的方式协作:CPU将计算好的显示内容提交给 GPU,GPU渲染后放入帧缓冲区,然后视频控制器按照同步信号从帧缓冲区取帧数据传递给显示器显示。 CPU和GPU的任务是各有偏重的,CPU主要用于基本数学和逻辑计算,而GPU主要执行和图形处理相关的复杂的数学,如矩阵变化和几何计算,GPU的主要作用就是确定最终输送给显示器的各个像素点的色值。 操作系统绘制API的封装 由于最终的图形计算和绘制都是由相应的硬件来完成,而直接操作硬件的指令通常都会有操作系统屏蔽,应用开发者通常不会直接面对硬件,操作系统屏蔽了这些底层硬件操作后会提供一些封装后的API供操作系统之上的应用调用,但是对于应用开发者来说,直接调用这些操作系统提供的API是比较复杂和低效的,因为操作系统提供的API往往比较基础,直接调用需要了解API的很多细节。正是因为这个原因,几乎所有用于开发GUI程序的编程语言都会在操作系统之上再封装一层,将操作系统原生API封装在一个编程框架和模型中,然后定义一种简单的开发规则来开发GUI应用程序,而这一层抽象,正是我们所说的“UI”系统,如Android SDK正是封装了Android操作系统API,提供了一个“UI描述文件XML+Java操作DOM”的UI系统,而iOS的UIKit 对View的抽象也是一样的,他们都将操作系统API抽象成一个基础对象(如用于2D图形绘制的Canvas),然后再定义一套规则来描述UI,如UI树结构,UI操作的单线程原则等。 Flutter UI系统 我们可以看到,无论是Android SDK还是iOS的UIKit 的职责都是相同的,它们只是语言载体和底层的系统不同而已。那么可不可以实现这么一个UI系统:可以使用同一种编程语言开发,然后针对不同操作系统API抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了。而Flutter的原理正是如此,它提供了一套Dart API,然后在底层通过OpenGL这种跨平台的绘制库(内部会调用操作系统API)实现了一套代码跨多端。由于Dart API也是调用操作系统API,所以它的性能接近原生。 注意,虽然Dart是先调用了OpenGL,OpenGL才会调用操作系统API,但是这仍然是原生渲染,因为OpenGL只是操作系统API的一个封装库,它并不像WebView渲染那样需要JavaScript运行环境和CSS渲染器,所以不会有性能损失。 至此,我们已经介绍了Flutter UI系统和操作系统交互的这一部分原理,现在需要说一些它对应用开发者定义的开发标准。其实在前面的章节中,我们已经对这个标准非常熟悉了, 简单概括就是:组合和响应式。我们要开发一个UI界面,需要通过组合其它Widget来实现,Flutter中,一切都是Widget,当UI要发生变化时,我们不去直接修改DOM,而是通过更新状态,让Flutter UI系统来根据新的状态来重新构建UI。 讲到这里,读者可能发现Flutter UI系统和Flutter Framework的概念是差不多的,的确如此,之所以用“UI系统”,是因为其他平台中可能不这么叫,我们只是为了概念统一,便于描述,读者不必纠结于概念本身。 在接下来的小节中,我们先详细介绍一下Element、RenderObject,它们是组成Flutter UI系统的基石。最后我们在分析一下Flutter应用启动和运行的整体过程。 "},"chapter14/element_buildcontext.html":{"url":"chapter14/element_buildcontext.html","title":"Element和BuildContext","keywords":"","body":"Element与BuildContext Element 在“Widget简介”一节,我们介绍了Widget和Element的关系,我们知道最终的UI树其实是由一个个独立的Element节点构成。我们也知道了组件最终的Layout、渲染都是通过RenderObject来完成的,从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element.renderObject属性上,最后再通过RenderObject来完成布局排列和绘制。 Element就是Widget在UI树具体位置的一个实例化对象,大多数Element只有唯一的renderObject,但还有一些Element会有多个子节点,如继承自RenderObjectElement的一些类,比如MultiChildRenderObjectElement。最终所有Element的RenderObject构成一棵树,我们称之为渲染树,即render tree。 Element的生命周期如下: Framework 调用Widget.createElement 创建一个Element实例,记为element Framework 调用 element.mount(parentElement,newSlot) ,mount方法中首先调用elment所对应Widget的createRenderObject方法创建与element相关联的RenderObject对象,然后调用element.attachRenderObject方法将element.renderObject添加到渲染树中插槽指定的位置(这一步不是必须的,一般发生在Element树结构发生变化时才需要重新attach)。插入到渲染树后的element就处于“active”状态,处于“active”状态后就可以显示在屏幕上了(可以隐藏)。 当element父Widget的配置数据改变时,为了进行Element复用,Framework在决定重新创建Element前会先尝试复用相同位置旧的element:调用Element对应Widget的canUpdate()方法,如果返回true,则复用旧Element,旧的Element会使用新的Widget配置数据更新,反之则会创建一个新的Element,不会复用。Widget.canUpdate()主要是判断newWidget与oldWidget的runtimeType和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来禁止复用。 当有父Widget的配置数据改变时,同时其State.build返回的Widget结构与之前不同,此时就需要重新构建对应的Element树。为了进行Element复用,在Element重新构建前会先尝试是否可以复用旧树上相同位置的element,element节点在更新前都会调用其对应Widget的canUpdate方法,如果返回true,则复用旧Element,旧的Element会使用新Widget配置数据更新,反之则会创建一个新的Element。Widget.canUpdate主要是判断newWidget与oldWidget的runtimeType和key是否同时相等,如果同时相等就返回true,否则就会返回false。根据这个原理,当我们需要强制更新一个Widget时,可以通过指定不同的Key来避免复用。 当有祖先Element决定要移除element 时(如Widget树结构发生了变化,导致element对应的Widget被移除),这时该祖先Element就会调用deactivateChild 方法来移除它,移除后element.renderObject也会被从渲染树中移除,然后Framework会调用element.deactivate 方法,这时element状态变为“inactive”状态。 “inactive”态的element将不会再显示到屏幕。为了避免在一次动画执行过程中反复创建、移除某个特定element,“inactive”态的element在当前动画最后一帧结束前都会保留,如果在动画执行结束后它还未能重新变成”active“状态,Framework就会调用其unmount方法将其彻底移除,这时element的状态为defunct,它将永远不会再被插入到树中。 如果element要重新插入到Element树的其它位置,如element或element的祖先拥有一个GlobalKey(用于全局复用元素),那么Framework会先将element从现有位置移除,然后再调用其activate方法,并将其renderObject重新attach到渲染树。 看完Element的生命周期,可能有些读者会有疑问,开发者会直接操作Element树吗?其实对于开发者来说,大多数情况下只需要关注Widget树就行,Flutter框架已经将对Widget树的操作映射到了Element树上,这可以极大的降低复杂度,提高开发效率。但是了解Element对理解整个Flutter UI框架是至关重要的,Flutter正是通过Element这个纽带将Widget和RenderObject关联起来,了解Element层不仅会帮助读者对Flutter UI框架有个清晰的认识,而且也会提高自己的抽象能力和设计能力。另外在有些时候,我们必须得直接使用Element对象来完成一些操作,比如获取主题Theme数据,具体细节将在下文介绍。 BuildContext 无论是StatelessWidget和StatefulWidget的build方法都会传一个BuildContext对象: Widget build(BuildContext context) {} 我们知道,在很多时候我们都需要使用这个context 做一些事,比如: Theme.of(context) //获取主题 Navigator.push(context, route) //入栈新路由 Localizations.of(context, type) //获取Local context.size //获取上下文大小 context.findRenderObject() //查找当前或最近的一个祖先RenderObject 那么BuildContext到底是什么呢,查看其定义,发现其是一个抽象接口类: abstract class BuildContext { ... } 那StatelessWidget和StatefulWidget的build方法传入的context对象是哪个实现了BuildContext的类。我们顺藤摸瓜,发现调用时发生在StatelessWidget和StatefulWidget对应的StatelessElement和StatefulElement的build方法中,以StatelessElement为例: class StatelessElement extends ComponentElement { ... @override Widget build() => widget.build(this); ... } 发现build传递的是this,很明显了,这个BuildContext很可能就是Element类,查看Element类定义,发现Element类果然实现了BuildContext接口: class Element extends DiagnosticableTree implements BuildContext { ... } 至此真相大白,BuildContext就是Widget对应的Element,所以我们可以通过context在StatelessWidget和StatefulWidget的build方法中直接访问Element对象。我们获取主题数据的代码Theme.of(context)内部正是调用了Element的inheritFromWidgetOfExactType()方法。 思考题:为什么build方法的参数不定义成Element对象,而要定义成BuildContext ? 进阶 我们可以看到Element是Flutter UI框架内部连接Widget和RenderObject的纽带,大多数时候开发者只需要关注Widget层即可,但是Widget层有时候并不能完全屏蔽Element细节,所以Framework在StatelessWidget和StatefulWidget中通过build方法参数将Element对象也传递给了开发者,这样便可以在需要时直接操作Element对象。那么现在笔者提两个问题,请读者先自己思考一下: 如果没有Widget层,单靠Element层是否可以搭建起一个可用的UI框架?如果可以应该是什么样子? Flutter UI框架能不做成响应式吗? 对于问题1,答案当然是肯定的,因为我们之前说过Widget树只是Element树的映射,我们完全可以直接通过Element来搭建一个UI框架。下面举一个例子: 我们通过纯粹的Element来模拟一个StatefulWidget的功能,假设有一个页面,该页面有一个按钮,按钮的文本是1-9 9个数,点击一次按钮,则对9个数随机排一次序,代码如下: class HomeView extends ComponentElement{ HomeView(Widget widget) : super(widget); String text = \"123456789\"; @override Widget build() { Color primary=Theme.of(this).primaryColor; //1 return GestureDetector( child: Center( child: FlatButton( child: Text(text, style: TextStyle(color: primary),), onPressed: () { var t = text.split(\"\")..shuffle(); text = t.join(); markNeedsBuild(); //点击后将该Element标记为dirty,Element将会rebuild }, ), ), ); } } 上面build方法不接收参数,这一点和在StatelessWidget和StatefulWidget中build(BuildContext)方法不同。代码中需要用到BuildContext的地方直接用this代替即可,如代码注释1处Theme.of(this)参数直接传this即可,因为当前对象本身就是Element实例。 当text发生改变时,我们调用markNeedsBuild()方法将当前Element标记为dirty即可,标记为dirty的Element会在下一帧中重建。实际上,State.setState()在内部也是调用的markNeedsBuild()方法。 上面代码中build方法返回的仍然是一个Widget,这是由于Flutter框架中已经有了Widget这一层,并且组件库都已经是以Widget的形式提供了,如果在Flutter框架中所有组件都像示例的HomeView一样以Element形式提供,那么就可以用纯Element来构建UI了,HomeView的build方法返回值类型就可以是Element了。 如果我们需要将上面代码在现有Flutter框架中跑起来,那么还是得提供一个”适配器“Widget将HomeView结合到现有框架中,下面CustomHome就相当于”适配器“: class CustomHome extends Widget { @override Element createElement() { return HomeView(this); } } 现在就可以将CustomHome添加到Widget树了,我们在一个新路由页创建它,最终效果如下: 点击按钮则按钮文本会随机排序。 对于问题2,答案当然也是肯定的,Flutter engine提供的dart API是原始且独立的,这个与操作系统提供的API类似,上层UI框架设计成什么样完全取决于设计者,完全可以将UI框架设计成Android风格或iOS风格,但这些事Google不会再去做,我们也没必要再去搞这一套,这是因为响应式的思想本身是很棒的,之所以提出这个问题,是因为笔者认为做与不做是一回事,但知道能不能做是另一回事,这能反映出我们对知识的掌握程度。 总结 本节详细的介绍了Element的生命周期,以及它与Widget、BuildContext的关系,也介绍了Element在Flutter UI系统中的角色和作用,我们将在下一节介绍Flutter UI系统中另一个重要的角色RenderObject。 "},"chapter14/render_object.html":{"url":"chapter14/render_object.html","title":"RenderObject与RenderBox","keywords":"","body":"RenderObject和RenderBox 在上一节我们说过每个Element都对应一个RenderObject,我们可以通过Element.renderObject 来获取。并且我们也说过RenderObject的主要职责是Layout和绘制,所有的RenderObject会组成一棵渲染树Render Tree。本节我们将重点介绍一下RenderObject的作用。 RenderObject就是渲染树中的一个对象,它拥有一个parent和一个parentData 插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而parentData正是一个预留变量,它正是由parent 来赋值的,parent通常会通过子RenderObject的parentData存储一些和子元素相关的数据,如在Stack布局中,RenderStack就会将子元素的偏移数据存储在子元素的parentData中(具体可以查看Positioned实现)。 RenderObject类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。 它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,Flutter提供了一个RenderBox类,它继承自RenderObject,布局坐标系统采用笛卡尔坐标系,这和Android和iOS原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用RenderBox就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下RenderBox。 布局过程 Constraints 在 RenderBox 中,有个 size属性用来保存控件的宽和高。RenderBox的layout是通过在组件树中从上往下传递BoxConstraints对象的实现的。BoxConstraints对象可以限制子节点的最大和最小宽高,子节点必须遵守父节点给定的限制条件。 在布局阶段,父节点会调用子节点的layout()方法,下面我们看看RenderObject中layout()方法的大致实现(删掉了一些无关代码和异常捕获): void layout(Constraints constraints, { bool parentUsesSize = false }) { ... RenderObject relayoutBoundary; if (!parentUsesSize || sizedByParent || constraints.isTight || parent is! RenderObject) { relayoutBoundary = this; } else { final RenderObject parent = this.parent; relayoutBoundary = parent._relayoutBoundary; } ... if (sizedByParent) { performResize(); } performLayout(); ... } 可以看到layout方法需要传入两个参数,第一个为constraints,即 父节点对子节点大小的限制,该值根据父节点的布局逻辑确定。另外一个参数是 parentUsesSize,该值用于确定 relayoutBoundary,该参数表示子节点布局变化是否影响父节点,如果为true,当子节点布局发生变化时父节点都会标记为需要重新布局,如果为false,则子节点布局发生变化后不会影响父节点。 relayoutBoundary 上面layout()源码中定义了一个relayoutBoundary变量,什么是 relayoutBoundary?在前面介绍Element时,我们讲过当一个Element标记为 dirty 时便会重新build,这时 RenderObject 便会重新布局,我们是通过调用 markNeedsBuild() 来标记Element为dirty的。在 RenderObject中有一个类似的markNeedsLayout()方法,它会将 RenderObject 的布局状态标记为 dirty,这样在下一个frame中便会重新layout,我们看看RenderObject的markNeedsLayout()的部分源码: void markNeedsLayout() { ... assert(_relayoutBoundary != null); if (_relayoutBoundary != this) { markParentNeedsLayout(); } else { _needsLayout = true; if (owner != null) { ... owner._nodesNeedingLayout.add(this); owner.requestVisualUpdate(); } } } 代码大致逻辑是先判断自身是不是 relayoutBoundary,如果不是就继续向 parent 查找,一直向上查找到是 relayoutBoundary 的 RenderObject为止,然后再将其标记为 dirty 的。这样来看它的作用就比较明显了,意思就是当一个控件的大小被改变时可能会影响到它的 parent,因此 parent 也需要被重新布局,那么到什么时候是个头呢?答案就是 relayoutBoundary,如果一个 RenderObject 是 relayoutBoundary,就表示它的大小变化不会再影响到 parent 的大小了,于是 parent 也就不用重新布局了。 performResize 和 performLayout RenderBox实际的测量和布局逻辑是在performResize() 和 performLayout()两个方法中,RenderBox子类需要实现这两个方法来定制自身的布局逻辑。根据layout() 源码可以看出只有 sizedByParent 为 true 时,performResize() 才会被调用,而 performLayout() 是每次布局都会被调用的。sizedByParent 意为该节点的大小是否仅通过 parent 传给它的 constraints 就可以确定了,即该节点的大小与它自身的属性和其子节点无关,比如如果一个控件永远充满 parent 的大小,那么 sizedByParent就应该返回true,此时其大小在 performResize() 中就确定了,在后面的 performLayout() 方法中将不会再被修改了,这种情况下 performLayout() 只负责布局子节点。 在 performLayout() 方法中除了完成自身布局,也必须完成子节点的布局,这是因为只有父子节点全部完成后布局流程才算真正完成。所以最终的调用栈将会变成:layout() > performResize()/performLayout() > child.layout() > ... ,如此递归完成整个UI的布局。 RenderBox子类要定制布局算法不应该重写layout()方法,因为对于任何RenderBox的子类来说,它的layout流程基本是相同的,不同之处只在具体的布局算法,而具体的布局算法子类应该通过重写performResize() 和 performLayout()两个方法来实现,他们会在layout()中被调用。 ParentData 当layout结束后,每个节点的位置(相对于父节点的偏移)就已经确定了,RenderObject就可以根据位置信息来进行最终的绘制。但是在layout过程中,节点的位置信息怎么保存?对于大多数RenderBox子类来说如果子类只有一个子节点,那么子节点偏移一般都是Offset.zero ,如果有多个子节点,则每个子节点的偏移就可能不同。而子节点在父节点的偏移数据正是通过RenderObject的parentData属性来保存的。在RenderBox中,其parentData属性默认是一个BoxParentData对象,该属性只能通过父节点的setupParentData()方法来设置: abstract class RenderBox extends RenderObject { @override void setupParentData(covariant RenderObject child) { if (child.parentData is! BoxParentData) child.parentData = BoxParentData(); } ... } BoxParentData定义如下: /// Parentdata 会被RenderBox和它的子类使用. class BoxParentData extends ParentData { /// offset表示在子节点在父节点坐标系中的绘制偏移 Offset offset = Offset.zero; @override String toString() => 'offset=$offset'; } 一定要注意,RenderObject的parentData 只能通过父元素设置. 当然,ParentData并不仅仅可以用来存储偏移信息,通常所有和子节点特定的数据都可以存储到子节点的ParentData中,如ContainerBox的ParentData就保存了指向兄弟节点的previousSibling和nextSibling,Element.visitChildren()方法也正是通过它们来实现对子节点的遍历。再比如KeepAlive Widget,它使用KeepAliveParentDataMixin(继承自ParentData) 来保存子节的keepAlive状态。 绘制过程 RenderObject可以通过paint()方法来完成具体绘制逻辑,流程和布局流程相似,子类可以实现paint()方法来完成自身的绘制逻辑,paint()签名如下: void paint(PaintingContext context, Offset offset) { } 通过context.canvas可以取到Canvas对象,接下来就可以调用Canvas API来实现具体的绘制逻辑。 如果节点有子节点,它除了完成自身绘制逻辑之外,还要调用子节点的绘制方法。我们以RenderFlex对象为例说明: @override void paint(PaintingContext context, Offset offset) { // 如果子元素未超出当前边界,则绘制子元素 if (_overflow 代码很简单,首先判断有无溢出,如果没有则调用defaultPaint(context, offset)来完成绘制,该方法源码如下: void defaultPaint(PaintingContext context, Offset offset) { ChildType child = firstChild; while (child != null) { final ParentDataType childParentData = child.parentData; //绘制子节点, context.paintChild(child, childParentData.offset + offset); child = childParentData.nextSibling; } } 很明显,由于Flex本身没有需要绘制的东西,所以直接遍历其子节点,然后调用paintChild()来绘制子节点,同时将子节点ParentData中在layout阶段保存的offset加上自身偏移作为第二个参数传递给paintChild()。而如果子节点还有子节点时,paintChild()方法还会调用子节点的paint()方法,如此递归完成整个节点树的绘制,最终调用栈为: paint() > paintChild() > paint() ... 。 当需要绘制的内容大小溢出当前空间时,将会执行paintOverflowIndicator() 来绘制溢出部分提示,这个就是我们经常看到的溢出提示,如: RepaintBoundary 我们已经在CustomPaint一节中介绍过RepaintBoundary,现在我们深入的了解一些。与 RelayoutBoundary 相似,RepaintBoundary是用于在确定重绘边界的,与 RelayoutBoundary 不同的是,这个绘制边界需要由开发者通过RepaintBoundary Widget自己指定,如: CustomPaint( size: Size(300, 300), //指定画布大小 painter: MyPainter(), child: RepaintBoundary( child: Container(...), ), ), 下面我们看看RepaintBoundary的原理,RenderObject有一个isRepaintBoundary属性,该属性决定这个RenderObject重绘时是否独立于其父元素,如果该属性值为true ,则独立绘制,反之则一起绘制。那独立绘制是怎么实现的呢? 答案就在paintChild()源码中: void paintChild(RenderObject child, Offset offset) { ... if (child.isRepaintBoundary) { stopRecordingIfNeeded(); _compositeChild(child, offset); } else { child._paintWithContext(this, offset); } ... } 我们可以看到,在绘制子节点时,如果child.isRepaintBoundary 为 true则会调用_compositeChild()方法,_compositeChild()源码如下: void _compositeChild(RenderObject child, Offset offset) { // 给子节点创建一个layer ,然后再上面绘制子节点 if (child._needsPaint) { repaintCompositedChild(child, debugAlsoPaintedParent: true); } else { ... } assert(child._layer != null); child._layer.offset = offset; appendLayer(child._layer); } 很明显了,独立绘制是通过在不同的layer(层)上绘制的。所以,很明显,正确使用isRepaintBoundary属性可以提高绘制效率,避免不必要的重绘。具体原理是:和触发重新build和layout类似,RenderObject也提供了一个markNeedsPaint()方法,其源码如下: void markNeedsPaint() { ... //如果RenderObject.isRepaintBoundary 为true,则该RenderObject拥有layer,直接绘制 if (isRepaintBoundary) { ... if (owner != null) { //找到最近的layer,绘制 owner._nodesNeedingPaint.add(this); owner.requestVisualUpdate(); } } else if (parent is RenderObject) { // 没有自己的layer, 会和一个祖先节点共用一个layer assert(_layer == null); final RenderObject parent = this.parent; // 向父级递归查找 parent.markNeedsPaint(); assert(parent == this.parent); } else { // 如果直到根节点也没找到一个Layer,那么便需要绘制自身,因为没有其它节点可以绘制根节点。 if (owner != null) owner.requestVisualUpdate(); } } 可以看出,当调用 markNeedsPaint() 方法时,会从当前 RenderObject 开始一直向父节点查找,直到找到 一个isRepaintBoundary 为 true的RenderObject 时,才会触发重绘,这样便可以实现局部重绘。当 有RenderObject 绘制的很频繁或很复杂时,可以通过RepaintBoundary Widget来指定isRepaintBoundary 为 true,这样在绘制时仅会重绘自身而无需重绘它的 parent,如此便可提高性能。 还有一个问题,通过RepaintBoundary Widget如何设置isRepaintBoundary属性呢?其实如果使用了RepaintBoundary Widget,其对应的RenderRepaintBoundary会自动将isRepaintBoundary设为true的: class RenderRepaintBoundary extends RenderProxyBox { /// Creates a repaint boundary around [child]. RenderRepaintBoundary({ RenderBox child }) : super(child); @override bool get isRepaintBoundary => true; } 命中测试 我们在”事件处理与通知“一章中已经讲过Flutter事件机制和命中测试流程,本节我们看一下其内部实现原理。 一个对象是否可以响应事件,取决于其对命中测试的返回,当发生用户事件时,会从根节点(RenderView)开始进行命中测试,下面是RenderView的hitTest()源码: bool hitTest(HitTestResult result, { Offset position }) { if (child != null) child.hitTest(result, position: position); //递归子RenderBox进行命中测试 result.add(HitTestEntry(this)); //将测试结果添加到result中 return true; } 我们再看看RenderBox默认的hitTest()实现: bool hitTest(HitTestResult result, { @required Offset position }) { ... if (_size.contains(position)) { if (hitTestChildren(result, position: position) || hitTestSelf(position)) { result.add(BoxHitTestEntry(this, position)); return true; } } return false; } 我们看到默认的实现里调用了hitTestSelf()和hitTestChildren()两个方法,这两个方法默认实现如下: @protected bool hitTestSelf(Offset position) => false; @protected bool hitTestChildren(HitTestResult result, { Offset position }) => false; hitTest 方法用来判断该 RenderObject 是否在被点击的范围内,同时负责将被点击的 RenderBox 添加到 HitTestResult 列表中,参数 position 为事件触发的坐标(如果有的话),返回 true 则表示有 RenderBox 通过了命中测试,需要响应事件,反之则认为当前RenderBox没有命中。在继承RenderBox时,可以直接重写hitTest()方法,也可以重写 hitTestSelf() 或 hitTestChildren(), 唯一不同的是 hitTest()中需要将通过命中测试的节点信息添加到命中测试结果列表中,而 hitTestSelf() 和 hitTestChildren()则只需要简单的返回true或false。 语义化 语义化即Semantics,主要是提供给读屏软件的接口,也是实现辅助功能的基础,通过语义化接口可以让机器理解页面上的内容,对于有视力障碍用户可以使用读屏软件来理解UI内容。如果一个RenderObject要支持语义化接口,可以实现 describeApproximatePaintClip和 visitChildrenForSemantics方法和semanticsAnnotator getter。更多关于语义化的信息可以查看API文档。 总结 本节我们介绍了RenderObject主要的功能和方法,理解这些内容可以帮助我们更好的理解Flutter UI底层原理。我们也可以看到,如果要从头到尾实现一个RenderObject是比较麻烦的,我们必须去实现layout、绘制和命中测试逻辑,但是值得庆幸的是,大多数时候我们可以直接在Widget层通过组合或者CustomPaint完成自定义UI。如果遇到只能定义一个新RenderObject的场景时(如要实现一个新的layout算法的布局容器),可以直接继承自RenderBox,这样可以帮我们减少一部分工作。 "},"chapter14/flutter_app_startup.html":{"url":"chapter14/flutter_app_startup.html","title":"Flutter从启动到显示","keywords":"","body":"Flutter运行机制-从启动到显示 Flutter的入口在\"lib/main.dart\"的main()函数中,它是Dart应用程序的起点。在Flutter应用中,main()函数如下: void main() { runApp(MyApp()); } 可以看main()函数只调用了一个runApp()方法,我们看看runApp()方法中都做了什么: void runApp(Widget app) { WidgetsFlutterBinding.ensureInitialized() ..attachRootWidget(app) ..scheduleWarmUpFrame(); } 参数app是一个Widget,它是Flutter应用启动后要展示的第一个Widget。而WidgetsFlutterBinding正是绑定Widget 框架和Flutter engine的桥梁,定义如下: class WidgetsFlutterBinding extends BindingBase with GestureBinding, ServicesBinding, SchedulerBinding, PaintingBinding, SemanticsBinding, RendererBinding, WidgetsBinding { static WidgetsBinding ensureInitialized() { if (WidgetsBinding.instance == null) WidgetsFlutterBinding(); return WidgetsBinding.instance; } } 可以看到WidgetsFlutterBinding继承自 BindingBase 并混入了很多Binding,在介绍这些Binding之前我们先介绍一下Window对象。我们看看Window的官方解释: The most basic interface to the host operating system's user interface. 很明显,Window正是Flutter Framework连接宿主操作系统的接口。我们看一下Window类的部分定义: class Window { // 当前设备的DPI,即一个物理相许显示多少逻辑像素,数字越大,显示效果就越精细保真。 // DPI是设备屏幕的固件属性,如Nexus 6的屏幕DPI为3.5 double get devicePixelRatio => _devicePixelRatio; // Flutter UI绘制区域的大小 Size get physicalSize => _physicalSize; // 当前系统默认的语言Locale Locale get locale; // 当前系统字体缩放比例。 double get textScaleFactor => _textScaleFactor; // 当绘制区域大小改变回调 VoidCallback get onMetricsChanged => _onMetricsChanged; // Locale发生变化回调 VoidCallback get onLocaleChanged => _onLocaleChanged; // 系统字体缩放变化回调 VoidCallback get onTextScaleFactorChanged => _onTextScaleFactorChanged; // 绘制前回调,一般会受显示器的垂直同步信号VSync驱动,当屏幕刷新时就会被调用 FrameCallback get onBeginFrame => _onBeginFrame; // 绘制回调 VoidCallback get onDrawFrame => _onDrawFrame; // 点击或指针事件回调 PointerDataPacketCallback get onPointerDataPacket => _onPointerDataPacket; // 调度Frame,该方法执行后,onBeginFrame和onDrawFrame将紧接着会在合适时机被调用, // 此方法会直接调用Flutter engine的Window_scheduleFrame方法 void scheduleFrame() native 'Window_scheduleFrame'; // 更新应用在GPU上的渲染,此方法会直接调用Flutter engine的Window_render方法 void render(Scene scene) native 'Window_render'; // 发送平台消息 void sendPlatformMessage(String name, ByteData data, PlatformMessageResponseCallback callback) ; // 平台通道消息处理回调 PlatformMessageCallback get onPlatformMessage => _onPlatformMessage; ... //其它属性及回调 } 可以看到Window类包含了当前设备和系统的一些信息以及Flutter Engine的一些回调。现在我们再回来看看WidgetsFlutterBinding混入的各种Binding。通过查看这些 Binding的源码,我们可以发现这些Binding中基本都是监听并处理Window对象的一些事件,然后将这些事件按照Framework的模型包装、抽象然后分发。可以看到WidgetsFlutterBinding正是粘连Flutter engine与上层Framework的”胶水“。 GestureBinding:提供了window.onPointerDataPacket 回调,绑定Framework手势子系统,是Framework事件模型与底层事件的绑定入口。 ServicesBinding:提供了window.onPlatformMessage 回调, 用于绑定平台消息通道(message channel),主要处理原生和Flutter通信。 SchedulerBinding:提供了window.onBeginFrame和window.onDrawFrame回调,监听刷新事件,绑定Framework绘制调度子系统。 PaintingBinding:绑定绘制库,主要用于处理图片缓存。 SemanticsBinding:语义化层与Flutter engine的桥梁,主要是辅助功能的底层支持。 RendererBinding: 提供了window.onMetricsChanged 、window.onTextScaleFactorChanged 等回调。它是渲染树与Flutter engine的桥梁。 WidgetsBinding:提供了window.onLocaleChanged、onBuildScheduled 等回调。它Flutter Widget层与engine的桥梁。 WidgetsFlutterBinding.ensureInitialized()负责初始化一个WidgetsBinding的全局单例,紧接着会调用WidgetsBinding的attachRootWidget方法,该方法负责将根Widget添加到RenderView上,代码如下: void attachRootWidget(Widget rootWidget) { _renderViewElement = RenderObjectToWidgetAdapter( container: renderView, debugShortDescription: '[root]', child: rootWidget ).attachToRenderTree(buildOwner, renderViewElement); } 注意,代码中的有renderView和renderViewElement两个变量,renderView是一个RenderObject,它是渲染树的根,而renderViewElement是renderView对应的Element对象,可见该方法主要完成了 根Widget 到根 RenderObject再到更Element的整个关联过程。我们看看attachToRenderTree的源码实现: RenderObjectToWidgetElement attachToRenderTree(BuildOwner owner, [RenderObjectToWidgetElement element]) { if (element == null) { owner.lockState(() { element = createElement(); assert(element != null); element.assignOwner(owner); }); owner.buildScope(element, () { element.mount(null, null); }); } else { element._newWidget = this; element.markNeedsBuild(); } return element; } 该方法负责创建根 Element,即 RenderObjectToWidgetElement,并且将 Element 与 Widget 进行关联,即创建出 WidgetTree 对应的 ElementTree。如果 Element 已经创建过了,则将根 Element 中关联的 Widget 设为新的,由此可以看出 Element 只会创建一次,后面会进行复用。那么BuildOwner是什么呢?其实他就是Widget framework的管理类,它跟踪哪些Widget需要重新构建。 渲染 回到runApp的实现中,当调用完attachRootWidget后,最后一行会调用 WidgetsFlutterBinding 实例的 scheduleWarmUpFrame() 方法,该方法的实现在 SchedulerBinding 中,它被调用后会立即进行一次绘制(而不是等待\"Vsync\" 信号),在此次绘制结束前,该方法会锁定事件分发,也就是说在本次绘制结束完成之前Flutter将不会响应各种事件,这可以保证在绘制过程中不会再触发新的重绘。下面是scheduleWarmUpFrame() 方法的部分实现(省略了无关代码): void scheduleWarmUpFrame() { ... Timer.run(() { handleBeginFrame(null); }); Timer.run(() { handleDrawFrame(); resetEpoch(); }); // 锁定事件 lockEvents(() async { await endOfFrame; Timeline.finishSync(); }); ... } 可以看到该方法中主要调用了handleBeginFrame() 和 handleDrawFrame() 两个方法,在看这两个方法之前我们首先了解一下 Frame 和c 的概念: Frame: 一次绘制过程,我们称其为一帧。Flutter engine受显示器垂直同步信号\"VSync\"的趋势不断的触发绘制。我们之前说的Flutter可以实现60fps(Frame Per-Second),就是指一秒钟可以触发60次重绘,FPS值越大,界面就越流畅。 FrameCallback:SchedulerBinding 类中有三个FrameCallback回调队列, 在一次绘制过程中,这三个回调队列会放在不同时机被执行: transientCallbacks:用于存放一些临时回调,一般存放动画回调。可以通过SchedulerBinding.instance.scheduleFrameCallback 添加回调。 persistentCallbacks:用于存放一些持久的回调,不能在此类回调中再请求新的绘制帧,持久回调一经注册则不能移除。SchedulerBinding.instance.addPersitentFrameCallback(),这个回调中处理了布局与绘制工作。 postFrameCallbacks:在Frame结束时只会被调用一次,调用后会被系统移除,可由 SchedulerBinding.instance.addPostFrameCallback() 注册,注意,不要在此类回调中再触发新的Frame,这可以会导致循环刷新。 现在请读者自行查看handleBeginFrame() 和 handleDrawFrame() 两个方法的源码,可以发现前者主要是执行了transientCallbacks队列,而后者执行了 persistentCallbacks 和 postFrameCallbacks 队列。 绘制 渲染和绘制逻辑在RenderBinding 中实现,查看其源发,发现在其initInstances()方法中有如下代码: void initInstances() { ... //省略无关代码 //监听Window对象的事件 ui.window ..onMetricsChanged = handleMetricsChanged ..onTextScaleFactorChanged = handleTextScaleFactorChanged ..onSemanticsEnabledChanged = _handleSemanticsEnabledChanged ..onSemanticsAction = _handleSemanticsAction; //添加PersistentFrameCallback addPersistentFrameCallback(_handlePersistentFrameCallback); } 我们看最后一行,通过addPersistentFrameCallback 向persistentCallbacks队列添加了一个回调 _handlePersistentFrameCallback: void _handlePersistentFrameCallback(Duration timeStamp) { drawFrame(); } 该方法直接调用了RenderBinding的drawFrame()方法: void drawFrame() { assert(renderView != null); pipelineOwner.flushLayout(); //布局 pipelineOwner.flushCompositingBits(); //重绘之前的预处理操作,检查RenderObject是否需要重绘 pipelineOwner.flushPaint(); // 重绘 renderView.compositeFrame(); // 将需要绘制的比特数据发给GPU pipelineOwner.flushSemantics(); // this also sends the semantics to the OS. } 我们看看这些方法分别做了什么: flushLayout() void flushLayout() { ... while (_nodesNeedingLayout.isNotEmpty) { final List dirtyNodes = _nodesNeedingLayout; _nodesNeedingLayout = []; for (RenderObject node in dirtyNodes..sort((RenderObject a, RenderObject b) => a.depth - b.depth)) { if (node._needsLayout && node.owner == this) node._layoutWithoutResize(); } } } } 源码很简单,该方法主要任务是更新了所有被标记为“dirty”的RenderObject的布局信息。主要的动作发生在node._layoutWithoutResize()方法中,该方法中会调用performLayout()进行重新布局。 flushCompositingBits() void flushCompositingBits() { _nodesNeedingCompositingBitsUpdate.sort( (RenderObject a, RenderObject b) => a.depth - b.depth ); for (RenderObject node in _nodesNeedingCompositingBitsUpdate) { if (node._needsCompositingBitsUpdate && node.owner == this) node._updateCompositingBits(); //更新RenderObject.needsCompositing属性值 } _nodesNeedingCompositingBitsUpdate.clear(); } 检查RenderObject是否需要重绘,然后更新RenderObject.needsCompositing属性,如果该属性值被标记为true则需要重绘。 flushPaint() void flushPaint() { ... try { final List dirtyNodes = _nodesNeedingPaint; _nodesNeedingPaint = []; // 反向遍历需要重绘的RenderObject for (RenderObject node in dirtyNodes..sort((RenderObject a, RenderObject b) => b.depth - a.depth)) { if (node._needsPaint && node.owner == this) { if (node._layer.attached) { // 真正的绘制逻辑 PaintingContext.repaintCompositedChild(node); } else { node._skippedPaintingOnLayer(); } } } } } 该方法进行了最终的绘制,可以看出它不是重绘了所有 RenderObject,而是只重绘了需要重绘的 RenderObject。真正的绘制是通过PaintingContext.repaintCompositedChild()来绘制的,该方法最终会调用Flutter engine提供的Canvas API来完成绘制。 compositeFrame() void compositeFrame() { ... try { final ui.SceneBuilder builder = ui.SceneBuilder(); final ui.Scene scene = layer.buildScene(builder); if (automaticSystemUiAdjustment) _updateSystemChrome(); ui.window.render(scene); //调用Flutter engine的渲染API scene.dispose(); } finally { Timeline.finishSync(); } } 这个方法中有一个Scene对象,Scene对象是一个数据结构,保存最终渲染后的像素信息。这个方法将Canvas画好的Scene传给window.render()方法,该方法会直接将scene信息发送给Flutter engine,最终又engine将图像画在设备屏幕上。 最后 需要注意的是:由于RenderBinding只是一个mixin,而with它的是WidgetBinding,所以我们需要看看WidgetBinding中是否重写该方法,查看WidgetBinding的drawFrame()方法源码: @override void drawFrame() { ...//省略无关代码 try { if (renderViewElement != null) buildOwner.buildScope(renderViewElement); super.drawFrame(); //调用RenderBinding的drawFrame()方法 buildOwner.finalizeTree(); } } 我们发现在调用RenderBinding.drawFrame()方法前会调用 buildOwner.buildScope() (非首次绘制),该方法会将被标记为“dirty” 的 Element 进行 rebuild() 。 总结 本节介绍了Flutter APP从启动到显示到屏幕上的主流程,读者可以结合前面章节对Widget、Element以及RenderObject的介绍来加强细节理解。 "}} \ No newline at end of file diff --git a/_book/todo.html b/_book/todo.html index 5cbebea9..c729f2b0 100644 --- a/_book/todo.html +++ b/_book/todo.html @@ -1453,7 +1453,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"系统能力调用","level":"1.13.5","depth":2,"next":{"title":"国际化","level":"1.14","depth":1,"path":"chapter12/index.md","ref":"chapter12/index.md","articles":[{"title":"让App支持多语言","level":"1.14.1","depth":2,"path":"chapter12/multi_languages_support.md","ref":"chapter12/multi_languages_support.md","articles":[]},{"title":"实现Localizations","level":"1.14.2","depth":2,"path":"chapter12/locallization_implement.md","ref":"chapter12/locallization_implement.md","articles":[]},{"title":"使用Intl包","level":"1.14.3","depth":2,"path":"chapter12/intl.md","ref":"chapter12/intl.md","articles":[]}]},"previous":{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"path":"chapter11/ios_implement.md","ref":"chapter11/ios_implement.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
    Flutter中文网
    ":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"todo.md","mtime":"2019-01-04T06:55:39.217Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T08:40:19.734Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"系统能力调用","level":"1.13.5","depth":2,"next":{"title":"国际化","level":"1.14","depth":1,"path":"chapter12/index.md","ref":"chapter12/index.md","articles":[{"title":"让App支持多语言","level":"1.14.1","depth":2,"path":"chapter12/multi_languages_support.md","ref":"chapter12/multi_languages_support.md","articles":[]},{"title":"实现Localizations","level":"1.14.2","depth":2,"path":"chapter12/locallization_implement.md","ref":"chapter12/locallization_implement.md","articles":[]},{"title":"使用Intl包","level":"1.14.3","depth":2,"path":"chapter12/intl.md","ref":"chapter12/intl.md","articles":[]}]},"previous":{"title":"插件开发:实现IOS端API","level":"1.13.4","depth":2,"path":"chapter11/ios_implement.md","ref":"chapter11/ios_implement.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-search","search-pro","ace","splitter","toggle-chapters","prism","donate","-highlight"],"root":"docs","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{},"ace":{},"splitter":{},"search-pro":{"cutWordLib":"nodejieba","defineWord":["Gitbook Use"]},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"donate":{"alipay":"","alipayText":"支付宝打赏","button":"赏","title":"","wechat":"https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"toggle-chapters":{}},"theme":"default","author":"wendux 824783146@qq.com","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"《Flutter实战》","language":"zh-hans","links":{"sharing":{"all":null,"facebook":null,"google":null,"twitter":null,"weibo":null},"sidebar":{"
    Flutter中文网
    ":"https://flutterchina.club"}},"gitbook":"*","description":"记录Gitbook的配置和一些插件的使用"},"file":{"path":"todo.md","mtime":"2019-01-04T06:55:39.217Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-01-25T12:57:42.716Z"},"basePath":".","book":{"language":""}}); }); diff --git a/book.json b/book.json index d338cfb2..3f551911 100644 --- a/book.json +++ b/book.json @@ -32,7 +32,7 @@ "defineWord" : ["Gitbook Use"] }, "donate": { - "wechat": "https://cdn.jsdelivr.net/gh/flutterchina/website@1.0/images/pay.jpg", + "wechat": "https://cdn.jsdelivr.net/gh/flutterchina/flutter-in-action/docs/imgs/pay.jpeg", "button": "赏", "wechatText": "微信打赏" } diff --git a/docs/imgs/pay.jpeg b/docs/imgs/pay.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..34546fa64be5b1ea6090ac37bd0420de1d82905c GIT binary patch literal 68951 zcmce-2~-o=_C6X%T5ZJ%QE5%Ls3@pu2S6Jn*AW2`l}W~^h=>dk5r{%kt%!(-v;&|- zh$9FAA~FOSQX-Rz5C=$v0D&N&2_Xrw$Uvp?j@^B4-`{)x_tsnMzurr&Rn!WVQ)i#E z_dehE?Njf+iCijxH&&eAWw*!G+`NT;+zSS=1kDn_|QzIu##7&wrdG0S$*3Vlud+N3W8|EL0Ff};; z^Y!gU_YZC?UVik~1+}N&@3^t)!Vi6}|5_1XY$?AP`C$LfXYq=aZdS)`oq2iq!^MXS zPl?QSSqGN5M?FfbOBnsQJNoy2dynI#)21(4ylS=i<}JVNad7lJG$}H34hsj^H$nlragT0w{g!( zO8>U+W!=9m{P=GZMg4ypIr<+f1-Ko+Y5(^=deF%KUJKyY`cB-Bll~mOIl#GesKDd@ z`vV=*O+yzKnZ)UF+AXB@vRuo!CeB?nh4qCs*vW0})OD!^A6U#zY>|Sni}itUAD+0m z6T3n*rkzFavxZ?F@eb+Bz8aE!ZwpOH`+?Sv9p%5e`K{9e`Kb9u_+X^8CrN9j(6X?} zm=v04G`@&)w_UkZ8|nF$rW+(>x9iTmbq*{0>mb*%dPueTRa%!pt_^Fe@X9&3*yS~` z6kEf34%OKPAQ(TOpW zkgr(!$Ax#(j*m@|9z+}$D7rbp0t=RjK>J-LY72&rp9@V*Q$x6 zNE(~AXVhrS<@s5IPnMiT>WpvOIpJ6wT#z@bzx8hsRjC$ffD%NTF@bgOvLd!@QwJfSoDbJm?dhZ$DM<5 z{85K7;kQWw&nQ%=$L+zl=paAkJfE?(NbI2QWwWI4&+tqz=07Baw7ouAu9(8FI zej#bTu-b(gdYri)cPyXg6Q)^9dT-Fkz{i!5J`nowc{Hx4q1r$2vhi< z;MOn$aXalIWGH+E+cy@@U&|XFswb0mTx4L-z0BJvMr#7PvK^yfrpRKY1cZ%@<7co+E zNl)NIJ(#cOSF%9(#w1_MPz-5rU=b26PrE~nV8u-J8;q;RC3Ejf1{lvE3h|aBmWO>a z9zEb+rQ58>&4vUC&>B-zbcFPb_|a1ytgRuz#Fj*4%jj0xG@Uad>u>lUqu01K+oB2D zWR}8uOK8Ve*F1yorY1v0!gZ`f*!`oL?Vz0|th?1bn#9lIBQo*QBN}UxA$ncsKb{3` zB651(f78WfAOoyX28qLXB^%?S9{e$QRMkd&ld=i@hBZ5onv6T~AIR3ECKpyEmYc7~ zHS2M|K=-a-0fqy5Tw4~+6#Jsa52ip4oh!>b|2o*82@?JtzT*CPyw*uw0 zu@b8>RUVsfr0awh(ynU>B#s_ePevqBq_;omar@HB&_-=gBjZ!lS*}u}+XF3h*X^a5 z=y49D`V=VG9E&5yGBuGSG?VcQ@Y8AkL*JGwFp~e zhtN#cHVGU9tqJL!h1cFh<5{h@wuCvdjXNxr8J;>L9f|Y`Z>-yk?eQGAH;%1?BZv>U zL-xu}_!+C8F}_G4exNmfsD8*AZc-oD)@egn1CfKm2gKYr*e>E8=+}`D?Q_&}n3!`C zx%2m^m3Oi&KVU07CC9N1Aap_oQuFMnXfUe_-^BVAyUZ-mSzuJ6lSJwCE#{lOrYr}_ z7rqHX(tPbl?`RV=Y5ui33T-arjPx-;5Kcn_`0t7QAq7i!ov$>Mr+&*q5x&IbGbG{4 z5_};eJx<_qm#?@f%6_aX=F4*tArgr0_Eb3yz;CU`3`n&Gd?CLiQ{y6+s7f?2OTsxC z62|=Na1)&TEY;&?z%wkyk~{9wT0E8aHPdt-p0WCNbI0#uffmS+;-iwNea!kiq!o=n z>x8#Jw`A}1IIg*liCu__DrId_qdNGPz>53UWZr|{h#z#vRKH? zO6@CzcJ>^Q;!E7oHL{T#9C#hHMUTq~vP7pr-lQ}=?n%35>$tIs?v3q->>wujb0z1V z?g(lUK>C=doH&+qSC8`(zH<3wBooew<@2(M318rMK?Byx=YlUF;k|@arl@Vy*gLJ+ zm;~LxS8Z3RSB;&+1e}O3#3ZqnK5l_+g`O@hF=!^W?t*;(D@6MEBkNebOei(ou#Gf!dWfEHUs?ILdcQPLK+EwrT`|=oVwt0c$H5wLa zxe6{PWt6EvjLy^btM$0PZZlDkjMW9XjuBtRRGcAo5CquyPp36e=)ca!sA5oe&vf1W zK@v|I0k_^KKJ?B(C-)KyGrtU-6#RX3sdlI>_n@bAg}T?QSNIJ0ES#N>GKcjzkU;k{ zmDb85tO0k(4bEcRA+^;&zv^)xgq?a^%K+p+dToEhk~L9fL6n?)4&Bq^KAs-R0w=8e}>wu@iXQ8S2vav}D;8zlmmlkgAyaC@APW%cT4AE?` zA3Gr64-melDxI_~q!g$WPR5ra2w|i8tY$r_OPH>)SEiBpW{Sr;V?E9aQIb`w(L`v! z(bobfQ@DjS9IN)h`rsRHM#euZ3SFm>w-7t&D%#Tn{8`a~GA$PbHLSjb? zDb{_7wQvM~Y{GwaaVdNx?i&1C1-B|HuIe)coy3Bib!){6m!e8SgQJpB;Z57ge@DEZ z9iY(B1hkp7a6Qhx>??eOWJwzVVf$?YlqXg|gN9P>+mjfKy~k{!qRe5t!-42fJA^z0 zJ>aFGr%_0EMUPvB43mjZNtq!Ua-c38GA+|RLcdDkjh;#yge47fCE4%$d+5sBVFQ=~ zO=T*+&)hzuM~Eg|_@2fZ+A%~L7RaY^zUoe*H^$T933k>hNN^Hegr(TM)8xR$cAK!P zoCmDW*PF%+Mr)v@q))QZGTp&;`_Wzeb1R@742m9S06G;0t-}j4Mp@%r(rY%D=f^Y+ ze{{lEp+nqrk^oZ97_VXqpzGW(bj>H0WTPe?E92}3kC%}7*_E6}S%2r5FeVt1QEaBW zka5m1i{INyW@_WqEGaSBVuZ{!1o@=3Q$rl9;$sf14#PoH)sWH=o&Xga)-u|?wM<3y zN0m36>C$1?1`T$?>xs`8A}4JOtC?$q727S&=MIp+1>9nZ8EQ|ANxZojtI*@7Z?)E@ zus+ivpWom=80OduC~G?QJCp%^N$dzwUm1Vjd=ldf{|vlqyl;BkKr}lS;Oep(VjjL=Tv!OrphiP?J%$ihkuXn>!*}Zf)f*)l z=;s(xzHAZo0A*AnF{>r|2#3~JQN7edVrF9o{t#`F6iLC(RB_Lvk-eljP9oVi&J_|LoZJn{|hv ztaUOZzCU#kB(ZqZ3GK!nR$C**Y(4JHZ5@fIam6!%YncZifcy;X<**o>$+nQot0o$66YW?ETpF@Pr@CXd|MkVV*L0x!jHwm#}m;a z?q$-Sr_{Kxi2l@t>W!$>nma=s@`CdVy&-!h%|ef}5zbb}){n3FM$c)k)Z;So=dGz+ z%&keRVWMv_)&-EJxW@ITd`;07J63w?pPej&z-`ef%?+^P3dQF{JWUaV=4G@if${6L z9B4F$==oO@x&Y83>w@hsy(DGWzmg>YT_}6?xVd`V2A8p9>=emQpvScv3DKh56fm3M z)Mm!Jq(BP$7)oH}RUz5}58l?}vPo#0Q0WR9vqywjM7EihrC{^Oyp{b3U6iWy0{<}U zmnnnf5D$L^9@tAO67tv=#)OlpN2$J0X72fFzg|FP?l9WLM%B>Wm?TNf|>a{UObQJ84F_iEyj3 z$%dm53DpgDMeyJQ3NwmvR1W`RLpwwBQC-!vbc+^vXXZ96oTT(6()BnyLj^&(T#q{e z57l5>1?XFNFdNvGivr&n31-GQ=lHVW#&!HjW2$! z=1NHQ!oh(m;4_1|U|8cTEVLGJ7mm;Ym^+uq%cJ85YTaTR|G89_PnVoH@0&X19pLPOX@kE08Jr#-dZ1spyV*@so2rllZCZNzl66Dx}I zL83%l7I`7nMSU|sdqr-|Yivg7eNy-($4;9CM)g27I0@UYjaP+@?U$x61z_)L|4}fu z*=xYnlQm5N0ay&lEB0}BlO~7iRu|a2b23Hv-C?PIP|Hqj1NeDd5dj6%dXS|%2eteR z>>_B2@F3sW4XBh+md4Prk90LL&tt6cdXTf4`q{FK4?!8~NA0h-ThpC=#ERO-Ab zp49(^e=MvwEZVqLBV1}x0!sPqes<)Ve4 z-R}t+)_#IULDuy#{0=`QN7Qt5i1RGYvrmsxo;>(S`voI63Ei`2YMY@^Cef9Qxd(|s zc)lsnIl~%vMjrU7c?kl{AMl{%2+vnf=wmPoStvkggE?w5v==M3om5QqqZrf?N&d## zR&6s_KMj-6i2f9nWK#XoS$f=NRsm}=C9;8I(GwReB2I(uLOdv;++`ZoS#2nBt@D}n znyn@WYC)TsC5R2k4G*Kh#KQT0l1PQI=C$sG+7o&PzR~0I8MD2BcMWYpii<~@&<@TM z)j}EEnk+dz^W{hM6D?Qdc755Q0%A*sI5n)grX>E_R;iaYjU+w%6 zqO007;#I;Ss5M3s)P(oQfJe({ znOz`qSItA{7laxhBDDMh)|lU2c*t*@hj7cdIJXgU7mnr&53~?LFMdu7wOQKHmqnM5 z(LSs!&J;-!&D7%}6}we`T76#^0HRgiga-Iq4jL}lg+&p4FAy~z#JuD?>)Z~P%2k>c z-Ki0qF{y2N)j_zGEy*?m?izr+!C1srPf1Wc?Kj9v(9_=sGdqZ_Oi9ib;y?(ea*`HM z!p+1&LlbHsWR0C+cx78^pU0zoyJ9p5Nn%r)#mz5-hrmMhhOKjel~1&l@|g41O)V^2L4x z&x5C_V`~{;wHj;&GrB`kB9TaZUgEum(64q?lYm?OMkvY)l9Sqv+qpcmi=1++t?*%O zLkHZ7mn0tTKuxJp&()riRZiGj6N2)#cCfr0_<*%6Pxs+t{eoXV$u#p1Ibdgqeio^< z(=8O?I_%vDkuv7Tjgn(hBmg_b@aZwtzU+ynvg>VJP$twy*LG?zYjfnPc9y1M*Bk9H zMs5)-8B2WF@c1iClfV&?`%$n>b0x2f#npOrKpa*8~%WJVHk|#D-zHhu&R!A;L zogmfY4qzr7oGNr}A2f{;S?d#|X{Lrz1JtIHN#f*M+Cr^J?#Z`LjdMpf_PfldRMjuF z?15S`uoIU6w;~{ZBC0^bt&1fk+Lc^4dSmodcaBO9EnhlS`$+p-A&iFx{IJK}DQP)^ zKq@i=+40<8{p<}tToK)Xy90^{kXJ9IvI*jO9TIaYkVx29q&~!W+{4!EhzlEuAfIx-bm227y)#YiUI7 zU3qRIjU8u*^!Gz^b^9pXdTgbFc+GleXSXNXao(jZl@IYfc|i$S8CGal6gLw|>2(>~ zrrSpx+fH?^DG7brQ9jhqWibjhLU_gwV- ztYSQ2a=fYAyR!mH>UY3_+EiJ z(im5naw*uZn%FXqo%pEj*7j;YeBzW~%orP;MBFbim3)*q9aZRh`p;I4WX}Ohx=YjS zw{aoGP^pXYj?=7phAd&xAH)veIv+qDKFVP?%enj@9#0{fDHA7)n}RyxRwErqmWVK) zQX++=knshPGwp+XCcdHn)fwOvKbYQO+GkTr$$P%vDq zd}?|f=1CL}j1Woi;6SxdCM5Y=rk?G#o+0f&HTiL;E{=M#)4Nj_4V>~~I_wU6W3#ke zL7?`Ywji4{=B#tA;^qnSZ+TO^8*NhO33LZ^p59!M>^oG21|LuXLTa(=RE59c#rl!4wTE>E>A$z%#sx1|vyG142T`rBqLder3B|6-?LTY+dG2;_IG5B^Hv^dffN3jAN?6 zUpB%{WY3kC>v4c_jCtw&;4yEiAFQNzTf0o49+uf~bRrXmGEnXrAH&KADgM(~3SB}( zJFDmQb`Jp@I#eFUJfZDazxo$JqZ>Sl>MvVrQ6qQJlnncvv8FB1K9LXH6}l7M@LnE7 zkkeglWakH}ia!_aJPa5*1KZ#-j~bvmyiK(EoV2N(-7a>gIfe!SG|-UZKTTV!;7LT> z#Z+G%sZ+gCT;AF$15O_RWY8DoL=W?^^6t7*oie*ewyq+`NO$}b#jw^Ua7Y<@iCY@Z z)h_8X*3FayC~n*GFt}6YqFf6i#0-_8t|FIN>Lk1u<4`kxkUf9tdO7}^^-BUe#Folx z0R&|X4g~~=U?yI9OR?_HktvWVDS}~JSHuO2Txudm65E&Ua!D8qwziPvb0>LIOkOg) z1my!yb^et2b8wF}o@rRHMEHWURx#yLx5&h>5SrwxcB(ht4`AKfd#?2ybLY6d&Q?m~ zCUTX_gLsQO@7>ug>>19H6L^LxD)QnTeJ(Qu%}5jQxh#)nR@>T?vL+svH}<+Dl;{Bp zE}IpXq(}oQ)bz^)txd*&LN#$wu60X)YzNFG>zJXOl?toosVa`Fs*5ogQ!0%SdJ2cU zVDi#=TF|H^wfS^6r(j()HD`>Zyswz0>LVAlaAUeuO!zONh@GL2D6p12rhtmkT`t}0 zwmr6)O4$}0fjCnVmi2$10)dQYaG5_nT0&6%(fLbPdEpyjIxvroZHVs^8s6OIB%C!o zk^6G}ecC$g8s)5-RVSEkyXMYdX{9z_!M_?qD7bU<3ed+MW-mQ8?6aa8{x7l=W3|AO z^=;NGX+dZKLo<9uh94xe!}!?%AlOPwEJ$;tRfBq5>5ht?k=W`ne^bR&uA!!=$4^Lg z1K3L(sr~dB%yuRheea@tSPa(xz^#{_LG*+-Yi;*#o;?G!l599F_Z*N6oF#{oX+4GO z7TA@I7{~Or4B(xDDo1>L(-(j0hLSBBm#$mA^I3!0x1okY+9rkDt6vLs`=FMC+OF&n za{d6Nzv1^(6ZP}mLk&w;RReHhbw8DFtz--_D@RO1g&$b6VWrK19$U+qWo1t@TU!T6 z560M9ix6liW%2?&&MTTerU)?96z^EjkGO#EBX-RPVDY!)@jj&LgrhqWP;CyD;v-$I zmBZsB(%`4VoQ(>rzJ9~GIv+|tG)4VxASwir)HIdXRyn&ypS&+(%$`6Ng=rm%tXkOL z!noyF(T4<)<%o%I>(fGl@;HaR!%!vx8^ug9CJ2uT*`8%wv77%2d5?}%C zL;)@Dq3^~Vr{>K@SfnaFlDhwX;1rvS_nS9-PLEA+T=;Gnv#7FJ*-{pcZR+XQGUQXL z@ql2~zw`C?W2SRd)2 z$-bc@NPhD8Y9r(;7@~Nz`*^xbkqr1N*XCqb%$^v(+^A0B_w-KOilp4vZ7j8kWrmaj zs=T13Dx3xo%%-&*S(x@YBjRZp>1zsL@>y2x&&i-fGsxX!V&6{Cw0G57^CzS^&fHw_ zeBaJTvv}5yyI5@}rAEC>C-S6}lG>i-oN5J`Z_v(@mg)kG-lT;tovYYn@@8umV%f3I zc7@27vT#>J7wp<&A}r??=y63e1SYb4VcwEtihx#*RT4r~hWRXIoP10Zh;Y#%%_wag zZB{Mea6#g>$pQ;T{dl9Slq{GIzm=U9gxOBe#s)<5qcbi8CrLPhFv`_F4fGn8rp#eh zE#iem@za&muul}52A}q#?p|ndhjXP=W#ix5_pfx)WGK^)4^pFn8Wtxvm>68KHN%3e zY-E?>wgJd1rBgv%ai>eIvrRJ&%TZ6eB?76HlbdXOx>QA&M0x2vvQ~9$4lVoBC!v)) z-stgZivQ3H{|(m&d0b6C$;U%w%m6F0D^Qlg5_!4&RP+O0Nv*hmFS;C)k|S~%l(EBD zAR?p6dni3_RBzpp-N0RD9PKG501}$b9ryW!t`^md@^u-cL#Zgw)9_;T6f9;u;Zi?x z9SiCC`BMQcpV%63SQzJtq_ddB0wX5cO%AQzh&b!k$bs)|mQ;lZi~cpu#^rb0APOTt zMH1A36%rq3FF4gQv)<*Df(IZP6{(9s9%GRvx4yHpApX?=JH`B*T(W1okT>^W_(})) z+7HCXUlcBvj*(LO)5%k*9+Vl4RS<9I#~oom+O3ceycPQLGCcJ-_t=czt3%kiXeaNn zE)p=e*tP}mpi@z+iad`JdE_Rlu-#TnrgJrSpq8!Oajtz?*B~WZXqDA3S?y#IYkvU^ zss?K{9XK5TT<$ihS8dHofChBeGf^d5s0-5Lo(Uw2nBqFgoZW^@e8IvY?VXY;0hZ6H zj+@!<$CY@D&d`<1#JNqh>Cd#q7bxLJ6tZ^NwUO$mzE^zXL`Jf+tt%Nx=(TfJsZ+S@ zu*s^8YU>xY&4Ow#gVbun$W6-H5CdLJGP;_h^VJ=J1|1F~kCxS(C19 z)Ha_f(IQ}7DPEi(Hwoadt$ZGdWA z7i_CB+FBu2YFEhKnq159pb+?;19*R@IVnVZEyepH>X~*vD#ij zkfZ{ouRmH_2$1$fBcvOw_Hrl*x??sD^uVnRtF19(ZKVRf_OpU?KF+;24{9McWlxtk zorgQ>ko{x$x$2k(D;BCqe?&b2WwO3|Jt*j8!dM7V33R&FdEyd@Ndw+nzQ7bfu|{ z#GmNT{pk??_B4gd zg=j-%fwoGKd(HY0^3A!?P_rvdP6mKKP+K|$>%fZLZT7(4=x*dCK=Yut-x$_lypvY&K^0W>+= z$(GFur+c!$QrYgH}MJW&a6xKvMp{e;qtB9_nKF0Q?){R zRMrd+A*fmN2CZVL-8vb{jPnz~qR2^|&E*emE_ zGjWW>^rg_7)S}L9%AO^60)1?1ll(uQ<=o`zjr|q`C0$#jeFJ7A8;ZT z;9a@jPpm+|a!V9TzXD&Et#&Ap2eq?#2C0BRrJd1^K%+$rKQ89}QSux}PLwfW*@?_}+L847^*O(H^9Ep>qOdu4c(DA_%lk ze?Tp4N!Ct?&fp*2EqywIEmjzQw=}Fy(k#w62`k3>1D>nL>qsP`>ln?1U2$nd*f6@s z)+Y%27~>GQ)D%QhaK^m7X;goxF<9gjEVH%gWj%2zT2j)8KLjgXIFF#gLh8vdn`=5G zf}p9=MHjhfJY9;0kR`}kBo{z#kjnl^VT5GPGh4&n)x?3Lc8?iofqh$vJR_yrqMu3l zuQGv}2?9x0Ys1iR)lGGFmY~@Gmx4%JuI=Y`BrS=U^^mknc6Lo`kRAUxvWixMvMOvj7X51Nk+WgBjR9T_;`8u zQ|Vv-!8}aGUc*E`k~_x?EFyr5{#S{o(vhrr#t8)o@HG(-6re^ef;DugWj#Oj_>P`9SEs3RHkaPx&emw)=F*xpDWZ+h#Gg8Wl#yxN&Iym%c=Gt_jqaF zcd!X_sDA33Xb+8DZBw>7@;+(sT^Uny^MBUzVuk(P@Y`lASf&v}jb!Y&P`MZ460nnG z4KTe0lrT5DJb?>H1%v|p6X*wW&s1%NR;P{EHfdjIU*QMoNd3)Td|~P&oeRaj33BE9 zrWGg>+rt~4Qv$?NT@XZ%;jymRQmcnmJtjS<8Fu=+kVQ%eW&PZ>h6QqdfH*O%rU!1x zkdSHJ_L^K>MB@-BoWXhOBjx4k+WtBS6iwhVSr!_^_8Y-w%b_*`kI>FeD#t66zz%|S zO5|a2xZO%^wZdLgt_!9_0*%Y+)@`iv|5UrPK(_Yd3oW=BH$q_sPX5E}J3&z{Y4S)0KnXdsxDD?|$kZR7I9$GNwV`tW(ZFc3>GrD24jaF7()dqZt&^AUKErnfWm`8?~DusvEA_po* z2$FfnI10k=SOMJfP-6X(MpVqwu_>fu3QxY_c}^L+1p$Ri_z*Tj+l-M>HL)IUiI+sy zLLTEmXd$s3@XWMa?R{tzfO|Ir=D`pr02IaN5fZTCxC4LAK1uT#6o%x+nhN!h#Gnoy z%_Vus#7?!ba61rmxXE@frzp-C)}2x3o>0W_GTMzbbyRPPk5~YPYd`j@wohSpHO`_! zZBf6&vyZEE2io1bT25$&&nyia$|UkU298vQS)1&WgkUE~UKt*BDA%s^V4uTI02D=@ zc7l#*W{NVZ0|FhNR2$3TVy7AIu_IqOGAp|!9q>Rf_JqVs)ih8KsWZe%aY%y?@gi1& z5jqSpg}DhOmS6^D z?V#((k=`LhhfL@vfh1@`wO8ZMX=~($Q1XscaGynI$uOdn%1r5SDGJhPS=hc0jpt1?a^wpdFxMk}UvkXPggI>nYw zp)BQZ+IK#G^@av`_a<&ZR%$(Mm7pjF`cXX(Z3mfmV?VKA<`q>vHkCLSf!uZZZv))$ zgYWxg6Ld$Q=IB2+U4YjKh!cPSu~x(CA)nWEUt5jx-<)CKWx|r5G(6xwBym z@vnndADCi&+>xOc+DP2GI3kf3Am;2SkOZ|iFPLcP^saw%#F0d&kBze%5|?fs-%aDY zBpbV23gmo_II`(wen z?VE^1?gL3B@%qM*LpL(Agzy5V%Uj2%UpH9CCSfj_?TyMKUK#cvV_ASIYeg&xP>PA3=@3n%( z_d^C%WYS&44fZS2M3z37VZltU_lBtncjTUjBGe7RZ-=9+p6@h0VC-* zTOy~svVG~Niq|L_mR-GN&fE0P)t+!^ZMAh-c=Q*6RkI={rb6iB=n2W(lheWiPiNYX zEKZ83iKkxjzAidAkNW7a?XRCX+LApexD@c zy~8ug=k#wBJ>2Cd6A!vzs`|N4e zn?3iQR$Tkdq&Hcw~6___^t$TPif38CiDj@Bf@wkf^M)gl(ysHWdGlSJdPN zFE#wsZ*uKxnRL`KMR>+rw7ajO^V6dJNmif!D6^Ms5gl_5ZWs~VjmYt`l9pqdIcsh` z*wyLd^xOWjIHa zKC>aAI^^xA(<#Tkww4lGsea$Z;Urjs52mfG6k2Z`tc|tgwNI&xt}VUwiZ1XP`lDIv z6b5fuap3oB2QCLlr!28YkI?|3Hh3x2?Ss{zG6)|c% zkW0l;Qk#9Rq36O{>NDDnwAkB%`pX$Ye#ix)z1N|J<`;qd#gCem{omiu`1-616pH811uzCC>LQGb2l<@i3#<1AsRc_;f)wHEGRUL)=iK?*7!QuQf-ggEpyw44+{$bj7 zUxpif>FWSaC}w=k=+KCu9aV&T?&-Op%5#le&|Y45EIusa?AB`E+pcM)r`86#=6gep zKoQhVBNKHX`Scsghjf$K4D5VtZgOr3yMz(hWeWQhR^N1(9CD4<`0kgvdv7^Dn*Zs3 z)WO*W>BWwd;aL<9{!78kw%C>YBPDea5f$OZ&cB5%bFN%*XO7qF`5}k)m^&^gjjwg1 zEmT-GRD0Z%jV};XIfYHXRZ+-?LX#7AEavkbHD&+e*rt$*{4U_9gG~HOA`5c{zTSPMyV>$ffa?8_Z!s-pJoI^KuJz4qt zlmGG%5JyRbbDQgkDZuRI32q|sd8IBZfC4C0)Qf>?Z29hrF{((5f+$-Rbox2Qf6Q&Ia`)L zt-dg}YT(!5^-gcxcnam@)4%MpoUlzz$L{C=q7CE|>U`F=-Dn7_lKC&`9J(=!^xNhb z3xUb%W67CG%LX58X?vo%US#{CWrp+jJpUhO23(@iUL=#ptp#s$NI*VGZ4maV0d&aY z18#y(hHK?)pe3>z{8ttWwBl~=KCXR zyY&Z6d#pE2q`bFVtXQ@SY_!;d#DM*lb}PZoZt7$8ICjo%DG-~Y1oC4Xi9A>B(}V&x@}El;Rd%*m5W4cI5Z+b0 zphLFO$OpUJsha=#mrC#SKnvL0dE(r;w{k9CD5H?EI~zgyFKH>*kKvpS2I`QB4*=#l zM6l&&e51k@h?O~s^}_LuJ{fgB$6KBXy-ZJb$}Wy4ew`56!co0_k9zO(+D;YZK3?v5 zMe>oDq_VLwvA82GSnEC|k=Xq*)YLcPiOGdyuea|C^0U}W0(iGy3EFcF=SC=w%Q%#5 z-uUTVH&&EC^=}%9SlP(4+4FpLbqCpO(TYU{MN#b`?yG*kXa>rHi=f0l2A0z^-naFc zXmqeHv`boWKl_`&q^!xRyWD^ELAp<@Puxq{u{{HV#=Enx4;#cn&k_X+YrC2Ck zI+gS-D3sG}1Zf>dnuFO_R+({Bwrf+~JZQ>1d}U$VQ^zA$PoNeerziK>&xO^*(h+4X znXznj%#2mx89&*+^laY#sA0?9JV&vra71N&SoM5-A zhRH*H1FQ)fUhlD3KI?9Ek1#;@ll+NuLwj1@eve_d+e4L?+6t!Zxs~>#q~0)bAhPw3 z4cB_S{$1&cux|OfxU)&Sy7#9! zKDzJgzRKBHMAinWSh@^f805^4KD|QSU8zfbYTKC~ z>gBMae!-ftM|EZ09X^87Yl6Dgnf{RzGHqbvYM-kww;vx6T`o?UyrxJf9(wUGq$_&) zr#jJu2oc>TS@%&GBhhuo9Efe?Q%eNn1^%Mcm~AB+f8@7h`^{i$-zvIC1_I!2hp1;x zVSP!z2+FUAJtg@Iyq%WRe6xA{Dcf!D!&ArL8yg}9>}MMg#)|ui+G#)o(wU#sGUYpc zELDkCHnFh+C&oN4f6|B~19ESaMc)~T)-{Ec`$lwemmPkb>9MR~!@6CM3Q1C%7s78- zdtmJY=%34&>{UIc&yr7dvuA|RZ-vQQrabVtyrv*=xHej50y2- z`q<310h}IkID5t;uU*Tn@-olhiYK3LvAvx7rE#_IhgBi&#t7Ibv)BF-aqPfJ)ctA4 zA&R93-RyGQu5vGWR&LCVzUV5uA!=}V`0`Zfl4Z+skGu`9ErbvqnD$^vLf8FePIL>W zq>1KpjW^ACb?*;{U$(4zH}{M(R)u~;?Lo@j+Wuf;ZS>b|xr@zzHk8937L3DJxA4rJ zhkuE^)>WY?KRu)3Ln$*veD(F*?TuGf7g=n_{xI*3jXAH#{4~WiuxHyuQJ0&c`uZHV zgfGF)=C1oP`Vtlg!)mX^=XSxN3NvZLM0ha_l$DRf8fcg^pf<)bg;T-nVM8asmlSh$ z)HBA-s-e#hu^((G^RQSzU4~iF&>_aR<`I(oU*EUnZLJXiMUy)h2txmNYm@=1jB^HL zp0iXYB5Fetu@5~zeSf(yXD?_@WM2gy9|*)*-cQfcNS^( zOj&UK%%MOl_f=UR#35BhZnigW?LMBpH=yn4i4bP7pzzJx1q;%7`xnhRxG?O< z&N)h>Z8zjskL6F#%p?Ld#f@!%$E|z(xjJ>Gu;^T1C8!p*%i~V`jGVX z?z@>s*Do=3JafgM@06`dIPLXVbItG#i{aPDv(Kv;0FVJ36{sS-fWPt7)*yM>xGK21 z4NJk!l8&u_`K-Xpw+UV_l)_YSTWrby`xM>72N{(5GT7>JQSUP=n=D@U)tF}Xjb1{x zTXwi(+3#1m`xYBurXoZ1wTi5D1SRXZZD4zY9mtLjeuM3Oms!7*z_3l$iy98&)U9q4 zpO7^d`6~`ij;(n#?S~@MC96=-+r4){H|tXYX3J@g1ek4RpF4Kb*!76yn=SE{Kf}C+7U`v z-?ByF;k>lft6xWDoy*!B&5`q7rJVOUWYIUSGQu>f>kff%^!YY zw(oeEdtBk6Ui0xesf)aR@0zvzkdTy13hI#wJLmfPt({yKn&9B|S-btg%vDQOePQ?Q zmU!@wr#z0nqztUAtXisLZ;RM)Jj^Nw!uN?;tq&D z@nfqjg1XsTnc*8c-qaKcx(fm-Z*QLya3o}Ls?{!sWk%*{?xHNN_~Xl8Lxbf_7l#r< zJFY*MX2fP`!;T3GVphzc3qN}Jitezd9a!{v;xfmHx60f>b=zZ*?lxkRA|m82C>OKK zhnDqx=&-FYjyPTM{>`&XdG2o?u`Gl5SE9+Y!roINyP~&Nehe*DWnCE*^>+`8W;e8E z+321HW=y{N*}3```vZ&pWumRGe3GRitqA+#vpuYL$anJNxF_zGwMp~0pNQX7YAGQE z$p^cQFQw!(lzK~}Y06?hC-cHF!Ol7ZyEEkXQ(hhTq18=rZ?(JUs#CP3-Q=^om8Uzb zs>X|U9$!Tjjl5YjII#2an>Fs-yIh@L8LL-@;&+BkL~feL*(9>xTPz*&rC{G@&5^uF?dec0{R>4 ztq&wU!x<59xbdl+aNj@LPwgw)UEG|xQ@nZAyF?@j#06(SkDF}x5>g7f;jz2mr5%PR zq)-CH)YO?R3F*tT`fOj-9Bj#l!!Dp{9SzIZpXSzdjyBHyDbe5FI}uy|6dJT5YEJ^b zWo3vqHUU0DQa1uM4#eX+zmW?TgOt4BdJR4@QA;C5xfk^qpdLWOi}z@^9mgR`pVoT_V@Br8B;2 zR6V*@Eh(=23$`ZH%qZ60GZ?v!B!)yriBcM=bzzl^6J0Sg(_ed3t&sZ zocZp@iguarDj3*~s{m!T34+2ni&8;{|Dn3dL$9laE2)YNBN?b*JXsx>W?r2hJSW?6 z&&~8%tDHJ%rM72-W1~dyyaxk5cgK$d32VU$8+WAV{n2D9r)P9eSbenB{%I499KyG# zmQQJYssgXzO|}Rvld}>=)~*>l5woN$w(N66_<{wor7vSOs)ffgGw3NzgykNa&qjQX zh$ZqouMV?@6!ysl{ava%(bE3Yf;AbZuaE4p8nfd6bbBs6#EDXxpVs{PeP#>1iBfU=U40B zT7j6qF1!!0%nkkGcK$Q%2v&dhEWi1|_q;lgcZRBs$(EL`l{TX4$j2LAmKpe?^dQ zVgp|u9l!~beu34U3{6ePcEZgw^ik}BqBf?rF7uKxmcAhk@Qe(4?dMv#>mzg+5nWR{ z83~w)sepb5$qJ`(h*UzHFEuubY_1mmGH`<^R2Oy@0jVR-X%VZ>oNpL>=>+pG8DD=$E3}+h;8;-<1^3 zay#LEL*J>N$)Dw15RuBx8HZteiTZ(6)&rOa_E$2ZI{=$#$B~22QT6%|Wk90?$u8$p zvbtC39|%lpmb5--$I#RHi6Q9SO>?OeoQ8mEa7N}PjGC4Px=CNdbOu{QzZ5H-X}1LXQCU_W&lrO z2*4Il6y=@WC!!DT02wByKzI57|H-`90&8Pa!^f766rU`W?6cusSMtM0uRV=%lP3Hi zXKd`x!~$*`!+0MF$p4K`By=zEbP#?Jidyik5J`DYy8)${x`R^HO|W*E3mBt#c#YD3 z@u8EAdNxVdHCKf30K)cyQBDeY;!)4bioK5>7-`+OQ&Sa?;$7mPtwx-Lcbubp4N zmS+&V)e)HZ6;F>Qn>(l$lZD?qY`9;R=YKEu8wPyXctMiJ#t|YSnsfo&;JvH6qs{ic z9#@m?=JegzbyHQNM5uKQ4IyF=l18IZ0TD+M-N?7k=6bu}0@==u_$2;yGHO7k$-W$x zXX4GrVrHn?ddcHt^qJCh+?3ZKYrJ3lczN!840&?Wj|9YiX0iTwu8o)Y`URXr-Gbew zMB!USFE2zvBbG`m(3vhqc9R1VlVPb=`)JM?rs6sZp!g59n_Y6eZRhfJ=~-kkPy^_z z%bpe%%Z9)Zd^m~dIEcCOe~n$oYKzZj14N_(P-mpUbAvtB)>$r~QZHGf>4{VWC^Ke7Jsh!k^rjQkYunKsC#S~%Ay4gRHP zHZUKe$%HS2Brx< zv*HR427s>1A3~epu zd)&tyE=_Hh*VpXJc5Z^G>y7wh7+>?)P%@7b;qF9iu1-LPy!6@`BtA?c3B9Wp19H{9sWFy~Q}c<2cBt~i zds_XtnceY$vhrxoU#7Az!wfwI?yzrJfBkmwhr>ZR~_uzDzbSJ=b9NxUQWd0XS&ohE`LC#M~?uB*R9)`{+5qqcTb?*3DD zu$ax@t8i*Q6-mO9+Qh=h;6eArKML=wc+0rcG#>>zi314P+$w3P=LySO6Yq+OV~MTa zjE@Us#=!J5M5KXN^)@KmKztjlebs777}{J9sT#FpX7r3O$)VKPy8+mFD4qUfo|K=_ z15FC>dr6B23wsI|!y72z`IbWD3GnmJMp#PbZ^1kftwzgI*G)oN$rfZtYm4chcH3x^ z_Pr)sT_co97iZvJ7;Vy_w@}k+MOiWcXMz9~!q=3Z#dG<`hPyeRp$6s}6K0^Fdinn- z8r`rbXxCSBB$P?9zZL7REYCOB8u*j)ho3hKWib80BzdYolj_A^9%`HGZG>lck;ET4 zc4HkRX&*d&EPpwOf8B8AdEM1asXs1HQpu>JJyExLoLy!1*6f3;{+kXxU$)F6d6{l0 z-YHO~*Qi9FK2enhq?oae3&5CCQq-4srm~RtwqxUM1A3YUzek_QaxtT-okR1&>UVR& z{kK`L`-}oTtaQfyzaZ#km4>ssUG8E-D>{>+Tz*AtlYzEt0T09$ic?N?m!(tpD;HQ> zZ?@1*rVc`PA=;G6;48|7o6>fJ#X)2JpqRit%oVmzB%C^b9gGc?-g|9CoqLY4nYVpj zoHvK^$<44duECTnXKq(%j!)14mG>;~rq4pQ_e5Vm9Aarr)~m9FWr^^Ph26;3wpq-sifg4?%+$-&~hB)#9cuxN8XUa#? z^BNIN+E=Z*uP9-UblK6D#iXNF-kyF4lzr zx0Vt3evJD5swqa@>#+i>xA6WRv^@TyOB!0?N3$vyKJ=XxN&PeyP&Bmn0cv6KCBh6s z1cg+;T`$|w(kfK@r&Jy>E1Kl~QCM>9QpEdu*1 zQvpRFO?NFHpqo1>7nh|Y<2aup#XCRr{y2Jlt%&F3^R~tc9+-GGQ>XvP_r3YSu)^Zt(0c2L1K_-v;6KPr+a~^mX*5d>F_MP)nb{jH9Xg~<)0HE zPvf6$y6N}yF-61NMqORB{LvTVM}?H&)R7>;0HvUmOm#>_`)JrTJ2AV!mY&2Bej}+ z*uh4<{m|g@vWm$vxXuLcS;t@{ih>q#9yI|BK~l$Jl?KFR>Qdw_zBpPe-xVA6WJ&u zPDjf+r5RQk$@{mxG5m(j;bZJnzpr%L#T|aw8aj{lXvJqU3uOEHI#W*?hCh}rQewtD z3CD<3gD67fpdf%P0xhzZ6o7x$G9d=ce*{Ng=VU;$3f+Q>H#6QCQ=xz7J!hNRB_B?aaS(hkv1 zgi~Wwh8v58#OzR{BiiJ9Q0JJ1V{cqEyKvdzeP;J>GbP0-&;!H56pv)H0!Elj#0gd= z)7ciLq3Pu~Sf|Ca?3nBPcKGB)*>v{e+XojAh2d%uo+p|&fCZFm1>jB(eP#bqv`C=0 zIJgP^$BiQXg!m~GvdPBmi}8GRr44oBz+fgrj4@0sYyukGz3V#A8kn8kNX``?R3QNf zNo#xh;=ogRTJUWSS5*4le6=#`+ixJ^^brV7?mdK*eB1PdC+FD%@W*Hpg3&ok65g6* z#_b_HD8l%uSCj^*;43%)3-AYU*vUI94m)nUerf5OSTD92e+BOaM5RO9SHsIn&`jhE zM~qqWSn=uGCF*byVbg;aL6$4CW|4mlXy{f-57IC75@&VQRGhS(hEW-9Ca`ZPv`}O38Dq1uy_x~Ur zZMo~MICq$Ya8=h3eGt|je)akY4C;5>ra`pAgNrTtjVaqJ00){2^dFkFH~vu^Mw8F_ zr`IY}J({=ey5xsTR(!Q3teu_x8sTT*M_*!}=@BVMep!kSfW@-j7iETNhO#&AMs_3X zdxJhX6773k5mrLE5)*UOkeU~h93>*Gal*oZ*4EyQC)OeJ^0Azi-Dp+Dhw%Cmqaq~I z-Bq-mfLOgkB*9mDK|;zp*V$c)LY7CX+4ySGO;c+WcEQAwe}sA&47n`VS5huv)e;X+jXW0Cn2aM&dd!)r)({lZt-K^mFd3- zzsega+$YSz8w6}quDeHb+1F~ieZm;*R1iMPxHvn>aUb&!Q~Zs&%O1+9CNAo*YhuO^ zX!x{%@!h>R>&^Bbwni@%x0quiiCQ=gOQ@s`ZZ~~~x3Ac|Nmjv}r#>JO4Y}HS8E6r1}mqQDhZe;?qv_8v3&wKtk4R&ZF zz0c*$w)xQ%X2D|YYiGjM!$9c{HH>#JN~8f7r;clup$rOi0STdOV+Z}Z; zUBknPN52OIbGAVX2aoK>jNp6*4ihU%ovNP_i-j#LOSHgfr5{>LYDdSeoK>Mh3K#3y zEU3;;Dr|VSopgn~mgDlhwf%n-fmL;zrBSsPSl-xvHg2AF0tsuVPzK*8z>hhlg4*J5 zct`eWtlYd$Ukoi0<-gVIo`YV`Jwcs!N}US@$cHk|dSO-UhF<&m(!{``)|;40m_(B? zwY90?MG*H(jrcvM$Rpy>@*s_!?ND%9RVV%GdW~Y23q%uo8jT5+MIV?2t6luaxJXgL zF4AvL+i}J9PSm<$KWXXsIMfK|!+z02qZ7NSrKj7!dT^T(JaxK)a>_e z+?O|ge&~)~xvscrVvvwg{2-B;9-=G;$?#m>sT$55?Nb*z7ifj+2N0L^+b$9a0dz(6 zjhM2=*V3Qa_zL-St(sYDFs!w-A$H^p?wh-qCvYkI6|3WXL=l>Um!1r}k9# zDI`bC1AgZrLF%ce1MPufoAL)CJ;R5RS6NNOhcIDuG8emaPGtLQ}rNhRt(iR}0JD zo(VtWkQRChpi4n=o;W|-^NoE^;!4lOPj$z@M&Xmk^Ba(!+On!=$G|9W zbj#zg!DkG^TV1>M{4l8$RRw&>)U|KVlwC5Hb6v!(&Fl5scL;aFuqL>mS^2o3fVlup zcbKHOf*N+hbBJLmIK3gd8c`7AUZ1TFW1M={?U*8mnEQ>w_olN$4r<9EzLPgcty&L0P>W;+$UoZFznI}WHe+v|?vaDBP_ zdV9?zY4X|cILz>}{1CfVLmi|jj9KWGrRqL)q3pT%MAa{BPH8vZGJP0ZXyd9I7cPRs z8rOfo*gi2ckP)+d5Ir?dyOInEM0NXh(mQC(b==lMS#2)gxa`G=-4NPbzV)=NgHV{e z>5g4M{0Ni#@+plknl75+OvK>Eg~v=duyZpZ&-;<}UMhYila02%ZF60H%z&k`)lBf~ z-=?IATzJpK*A^7i0K;XpS639HTa3t-gD_$!fl%w=glNihCxA1iPJOF`|kXkwXd%4mc+|PT`BV{|@s`y1&(4PMJQ^ljd)E812Cv*h%u%UNn2P zXQzOigr&v2f=O49BoZfrQ#l)o_Led8L+vOi+%pU_f481%19qg<_Oa-tZ$t zZ)0aq>a>_6r8@#!>ZrviO%{WyEg@=o7eOfW`4jEq-rlQ2JS73&rkJWVXI{=H7f%U{ zjeWcl+iIps!NrM8&pRkW?`53i{k;YZG{vTG`Z>?hjSc9-wC!xy&E-+X0i4s0ibTXA zn=qk=O+MhPEiR7O5W#5-q8^2Ni_*orh+7qy1rU!qs7{`B`_3H=o%bW!8|O&N&2=50 zuz(kxyr3y|`{sE^eA>2a->FATt2h(~;2pQH-_3$>WO+|}C?A`Z z_48g|1V*o+UqY}- zljFmM`w8+3>$mFSVXkR~`B(YUB^dn2}?C7exrR%7zG8IbrVSQ z+;>>V?8yX^oWFa3WJBMdGgrsQUY9?Kt<~O4K>~ayTQ;@?f<7=+1r!+Xr)U0AjE(do zcl)|=URcrH(D4Al+|kF^(wbYc{TG*$m&^%#wD%0TS}iJ!eV}}r>fPrzJ_Y8XX19a( ziD#JNU0pWi1^~=-qZXE*#9ub60cUS+h!a7xB2ScQEIji(^cYX&VloooTb%%(HU z9hhLF3Sw?$05va2%#5F&xE*vXWhe+yP8VyF#*REUpGD@^^pP~0n>j63MH z4&~X+nLqnl-kc^sSrIbi+t4Nw-z$$D=U<)^yw5Bgld361@SIcSTCT2#*Xv78^bL-7 zVW+XCQ**k~`^-2oL>3Fns)z$QW9Qok!8E zKSY>%uk|GMvq>;z2`-TFX+1c=?*Hu=mvJw#ytKK=CfNfc0s&d`55u&fVx7Foe`(KX z3wYdR|FF^Ibi@biQnOBf!Q!+fz5aOf-_kMX1(W{xjK|O@Wj<1?YV_YCwwHnD6)ZdH zacW)2YbT;XwKy8R6jYG-_G2Lo!V@F0!@U_f*&~H8tGLSzYR5y|Ja+)dxuloO!IRk zo_0Ay-AP}gi$>U!{F(twl3%l$HFG5$2Dzpao%HCZy@J)Eb^CQ(Gd4>lHfU-0h;Vz% zjJ_wyh&c*JA8)VRq>s5&zPayi*rdLjb)-^*iI? z0S{~toWV!O{ux%k=&}};8L#^Ez|x8(G*Zjyc?P69QKp+KYNrQ?_PuLqjij93-nyk` zoUJ5lSuxYBc9mhA+}4yF^8w(wJsdz{UyqmSdVCQu14vlih*ng$trpC`BtiA$mb zUm}Hp;xLM%+eh!^1(pKWSo~D$@6mXOx0+qaAusj>;4RyCmSY(t$QNALxrshc6m3n- zQj&W^j9q2)IK7#;k+1Bl5V3}jyX1k!Z7awww%-RXpUoN4{(au0DKJ^7^e%y4@oQb- z9JQgK4D``E;SZNgXFr|bLguiCCbF9ib;OWqN{O!eEG?!hHI~06EPp9?oQ$?wA0dr2 zs(2&YWn70-@|>7?(<5_eEwKp!suC$SLI=i+ai%&l@fpLBh_ctL@1q z&M$uNR)s7KCW-qlc3&MU7ooE-PLz18$uwcMR`%SU0E8vUFhsF2?~dMhD_^!2=^o<} z|FGEPBhW)Wl3*|#5T$tIxbVLsm+r=nx+crE;jHbN>Kfim;Vg!1i>n`p*y#skx@A3V zuZgA=dzh1}5P!XwV`J^U3pF-}!HLge+$9;yN@8HCSBsM9p;n@z$$own==ms(eHMqB zjYi`9L#J8e>{vUz%~b_Pqe^vpt5`sne z`;gAUE3xejNw@LunVSSeBhAawOdG`XSE`3RcX`77&%1`YGmcpUrbBrM@EVd^97UmL z&@#?A3G$}GDnju7)QRR*Dzq`VNl?_VP(Sjop$X{4C9@4xAd!@je8!xSa+0ucd9uyX z>la?PRmJM|ft#0bF3o2+hfx zP~vf;U4b{D(r=+w;SCko)|#K+fjBiDAtOO+I~JDM$S2C18ur&r{m;^HNu_1*hw$p9^fikLXRcOZ=+E#- zDTU$Xv%nT(>Cf3YgqJD4O^iL|EVublTg_`sdgU0Hw_6yCcmyvyi=7H-rt5->h)8Qc ziPQ*go%50svbP|M8jEZUU5$acYf?$4^Qn)-dvayK3G%UzKYHC{u)8JUe7I`6)E+pu z_2=L+iX8Izn0~tSNbJ_DV)q(=T0Z5AR`)T`4vw%a3ftc)#{eJJgtY)HLFlMPSo*kx{&{&&xz6cJ_rD4_ zGWWf`5K`PmlstnGUZsN>Ib)UKk3%gidir_#!R1bunsCjytcQ2PTqKp8Z4-+Vonr6c zcFiK-YuMe9KjNVKA4y4~G~HPH3MGD9iIgE}<_JE+{;OKId0ti5F4Z^JweDHJg>PV+ z zgCWNKX*^LZ=HWC|VgqAw85M&h1F7a{2homAG(rYF4UmZY3bHU**Y%@LGNRhE9sjBm zrC4oP&FmBrthSs7+R5erer!h|I1D*2wCXqQpsY6BPOrSoeC|XF$e6JT@LzU^uL?K4 z_KqmL*GoXC1cV1GJ#Mm2;sxz1oai+EI?DF`l0_PI~{U0RX)Nuq_wl{e5x);1T(f z0GKy6+8IrdAMQXHXUiXz)5PVp zr_htEE?_3ww)kStmT%8=gD0leD{`sB=$yYba+(Y8mCT^H6QG3Lh*?m7S)yAZWNhfr zlS13IVVedh{yN@v{A9oZyG!h|-SmT|Ku^R)oEHvVc%=60xSN1(wRc38x8Par;75yI z_{?zD@?2jIjCnjS=DEL0e>5E4YSd!Xirf|RUu2Bid7i#N@XZo?nASw*KK7Hnt4;l! z##aC)u&?w0PmYd>!oOCD&g(Bw43h4P-63LrPN8KE#;7 z3@djpj+gB?%@_f%Whk%7$X2^%+@f!jEXc}wKlX)djcH8Tt!o$%Rn)1C@7TQqGA{53`@2*h)PUa zhlK<;Ui>&jxi0WUA$)9mCAWM8sB93c2C$?w?snLnLd7keiIxh?$>ht~wN(VlIueHh zZr0KHke%(R^fboeb~Kc22#?k2d!NUBq}@3ROW@;iT!gP~VBf3jT=G|g`L zS(>el<9!xl{Ce~&5JmC()q3b8Z!OKEXKB~-9XGH>bjBXJ9#zG{yhhI8I#HsBx^s$7 z%6f5mj@-(5|H_S1*Q1^D55x{e1Geh|etV1>X0(>38_i>nTt+Ge6kp|5MaorzIhfqc z^-@o-%Q;`%;l8s}``1)q@d4n>U4+Q#1-mV;Btl_nf%QFy1=PaAVu2VD`#NTf&qNL8 z`OVV542?f%D0ocrFKJ$WZ<8_1#X4pae zIvDT7kI8=pv1E1eJ>9jqe-tsTN^T);0n1K|4s#2(4mg5VVV2J7-8X!DyjeOTw(+gwA#>zzfYD;Rs!Y&JRT9{VLAcV zrVsp%Uq~S`J#|11M2A~rY{WVV*HT$vv1S zAJTND!%9BbA8~ULaV81K^DCc><WPtlY_8cguRoa!=kChtv=c8*x8ypBAPXHun6Ju&lK)|r2ucVPf9q|ivQesrVzTx@r%D%ac+tMis+LWeCpsxQ2Q4A#sAycW}J3e zvdenqbI&uu+rM7+y&?3Meaw9*bP68sqjlKS ztbMXxuu3Z;+iS?(^)`z|_s(m|xj@ttoXk9tCKIFRQ{_cf7f!!|6XtXf@j_e@da)+PX*E&wM~eKywc`;m_!I0gGK+3;J+AxE;GdMyV%G_@pk z3G&i{nDlA;H|q?~f!L@2ZZkWhJn>`DW{p7P-lEq|P7~BZm5i~{8}P0(=U1F*CI)6) zjA44^+z){+29WD*l;PGrH1`U z7FZYT(+`H|Bz=jd045Q`B!Ig!H>WuPjU4oH3+7Iv*}SAjsoTMe>yd$JXm;3xUil5M zPfrUa7|LgmCKs<+_N}=5`6!1_B&-~yD|!>`!)GhPpxp^c){79OW&>Un`u}-Rm!kn5 zy2&-#1`tk%eDLY3ozsa57onetF#uv`E;2)gE@*iGD0c&gN0XG6oi>;N&=eQkvVXq5 zz`i?}`FL3S(_mNw#$621%r}HoUc8=0A4XK!0Kvy}!Y-`Sds>+$-ePNfO3;$DB?q3@ zlQ634jL;HKh$z}{d;L{avDK?A?|i9V*I$EOB#V>uDM}v#!G6W$jn{yPZF1Ya!F&$4 zj2x$MfqHCR{d%CUw_-O}TbXU-j%Rs~9&;5{`9?f!qT2rqu@~fgHQCpiCHL6xDMxXy z@UX?~;^zn{YC)xPL12>}Vtz$4vW6Bs+>E{(U8^9s0O8k8E$$PLR{Gd}cXH54yJM zsMc!`Cz`u#_|#mR0^(znfBi)SFVD}NwES z>Gg%uGF+<+7@@NLe&~e<-(RRXADLO0!k;`8-5@RkqDou( ztICyZ%@=nwT<8PHs=6GJ$cyoWC0mOOMU49eWA$AhJ%{pe))DuqxQ`P!hP^inCY|g<#j(n z)wHT&LArrwDIBhmEqN|1p~{{Ir5QzOc8Dc3uEsNHoPQgM*e(WyGltF#mc?V4pv=o! zAh%m`ioe<19M!jwKzNTiS%V1d^&@f`Cj$X*k}VU}g@|UiBScQEht(ZJ;WB-V{o>Cc z$qi)%?oe705s|_~^Ww0uEN14gWZD}SGHPcRZ_WS-l(FrSQw0ubGt9{_`{ z&;%Cxly&{ugAS{Um5>0pk=Wk(ML#^gaouNXsom)w(KS}p*Gg$E9)gjPId# z^NEy~q=}0z&&~OPpRmX>L9_$MSc((Hs(H@LKK`SKH$tB30h_(w+rQof^n`+I6kiPU zKMEcHOYfxl!QaS^BISitx~BZ4W0apSOOO;Kx)vBQ!n(*NCqf@{t@}QS{3O0Yx%}aj zz9s1BET>D>X+CGC$6Y~TfGvYw$FBHOUz)xBf$KwUQ0g7Iif9UrqZ~jvcsqUZFfQsx zykZecA-}e>W_fv`Iq+9XO^o(*qgwIDg7=r!&PvbHpE2yNRLxJ&m3N1}0!S7?95a_V$G34_v^ zv_E67_5(1sM=5EiVm`R056hUfM;IRkgO~@F%(Y%wI~d;FCr_YI44;VffTt)Gg6VcS zEK251dP78MvBYgC+5O3Lo$lf3BOu|G7nef^B%M#yyV_Tz z{!#<&e@y>*&jq`wC=30S9u)^&W??OpXR5uPMSEeBxLKMT zSCOm2wszl`8j0p_hN?qVgBPdBMHezV*U{53&5O1hy})%^n~IOQ+U1uzASdlgSHIw%NtN<4^|9;EXS++nfWK z9CrHYKE@B z;^-IjeGg|i$^vh@KrBrZClU~V9`881;|Qrjyoobx#_$xhDnqX;Nw)$f7kAX(!-1kK-`8A;rXPlw&P?kP-1Q^p|2xg*6 zXD&!n)Zodf*>{?_=LOyVHA^m#pBXo47dy0U_~tY|iU6m6aSPKeN)Idg+{~&d@=RdW z=wia^^+6K7=J~VGoAZzI@ol?(;|d~AHMARTx{{Oc-QoSTmp@%|wExR^qI?b7IAA2C zt*v_MH=QRbq4&Y;gg2z)ZSP6H;@GEi4uU&#YDL~w?_!x$MBdV+rc+uCZ-ryvw3?Xu zo1S!P;%6F)PZ!Ml_mcXsJ( z5280luPRw{dzB@KdY3$7!RWeQRGZ|?SspsxT}L$z2mh6e49?VOj6_AYB+N1{qs%l$GjB0;V=Q@ttgko4!c3meiZ|J;~6_l{g)jWHGZ}FJA$d z08^g#-BdjqD|;9AG+lV$wwP|Bhm*2u^=b^vD#E;)!PGHLi@#O&d^=hy4*F z!nrJElju)1(H6?|ebW>DQMtPZ4qJnT97}seOt7{gGuDc2U$}vRi3gt2`iB$?AqR`MZ`aZ^~t4~2(}7q7pF-o;>?&&D*ZZ&a}N~W`sbwgyX$0rc;IpBWrp&m zH9KAryd#$;5+P>n+%rSC5tW9A<0A*0pT$b_4X7agJQi0dS##XGDp%i%O&pSB!-g?~ zF?VY~9VIC}Ouk^IO20jJk@dlw7gGvmgRD2J@=3+)jH{*y!;_@?$z|qtZp(JdKjoCz{)BbEz~!vGjd8TCk~$3-rlP zK>Al)+j)C)buEEC&;qh*bAXcgQxdOe-v@-{*#Un8Y=Qc>vh?((8H85B%7o%wFt95iXXq zu)iuogoee%@IY%CBY5M2Q%^+Bv>&yI{}GN3vd6&7rKxW74)-Q@?7xZ25!uw5c!A~zej&k@8$Ejej-l0hw+LGd=nnL5Kb!}^IEf|!JxoCDf zK#6~jyh2pf!Pq#Zl8&YIB@Y6`1+6mdGYgFq%Rzceh#zc)Hes)h8zh}{NG?S-WH~A#aZqtM^<@*MMo7? zO%F;rylXkuFd}=k-W)FqQk-%-B3nADFq)qD><(IndK;gM`0VVgv5VEN0H>F1PT5y= z7PY?kXJeOwnkE0xtvZ~z4jXPb5WBoBH#TWr;TaeT-eKe*%YqhNg`shF*CHo9J?lu^ z7nsUtgvmqC2-X0hpxPbgyq9fB(lHf=SD#1hU%VBSIKd9N&EmG=TGW=;*9Xz#sI)n7 z!~7)c4o6W7wjoO-F%!A*ntt@Xz-uaWDJYHkRuRJ$Pzv&vxurM%du!eorHn6@kIG%X zD}24Yh83q0(4w4vc?Aj{8yX59r%f%*)2W;)eGK~WB#9nPnKrTkQE ze~INHF%{0Sh}S+PPB8Lg_3xJJ^`}#L%h@hi36w?t2#4?v!RXp7a*>CA0YII)o_Ww4;qF5PQMXhH9fs2WJzPB);sm#ZZ`)c z(kSUMf1|SH$;C(?d4f#d>caQ1PGfP5X1?CC>6OOMJFgnq*A4MUK?LGNZKrgKL4VoN zOg8A#b@7Nu&-Va&jhFK4)a^){6DpR?YAVn;NgB z808xGF{%tG=9NayY27~xzrdlBV41(qC3mVwkYk5;`SuQ4l;);0yn_6e#fjG=KU`1f ztP4c+t@Kb$x-U34Ww;YI7M&Z?;oV;LB2DL9@L-7lk(nXgQ=5q!3rK0f+sB zCEa=ceT^{156X`am0ctq4JC8h)9N8J+X-~ zwV&pEfvpg>r3ZJqU>;#!Jmf2fp4{tEusYDIM7?KQN?>xq2SJny+0i;rk={C&Xu3QH z9Wi2tP?M=RV$NFln4zvMg3$yXL~lj?Nobk<2R03K%PQh_ew1XP4zFJEQ4Eh;rnq}8 zhiiV;O>E-BF&k#4E^Ex=8f+X;LyF~X>8%}3F6@pK#(dkd;^Q44ej25vb^{#tD zBqxOZ8ss`<>B{TJ!va!KYFdtYRe+(U^(8lbdxaxrgrRF2e=EP6&Td&QAF&P-O^I^0p}Kq zs|#i1`F*&CsMf4If4AS~&DA=6Lp@Qxij$MvGxt69Zi#J`+HeGx;Cv-Yp6-T#PaVW9 zOQqQw(NuIU_EfDrdC)~m85-}x5Wr~YywZG=>v>G;XVOnMX~OgKej9^V9{jnqs!!UO=GqsV^wf@#U>j%Lb1lXJx*Yw<>k?y-&JI zw_ah$f~7T2eNtG?!uyUg$x*qZa_1BXZw6w9%Fz$yv56*re!f3;0Ie?^3EIdF!Vn}a zZku<5EWveO3PIs~qR>=L17P1G|D)*UBsNxY3w}zr%T$$anZ1wXkz5k=oi}PE^xqDu zP)-|&lC@Z}_@DTS5`ZyRzp&FUXNbibdtbcXqjGoYQwAs9DzK#g$UQB= z*x5`v7#50(;Usu~Z79mZ3qZhorv9l&h5nFmn7;NHcTl%__Is_ZR3Rfixc%jLF8dvE z&v?UH#=jK7eAE|rIK4teIA8CQs@MOD$1QzV`{r;FiEBT8;7y*~S6fLNSsfZ2O>cd% zi;NydPpWb*v!kyg`l>=lr25Qv?9|ulht!X;1M~`9B?s>J3RH}}2gDf{Z0AJWZ_;2O zIxj{VSFC?50&!~S^AB)@QBF$t8FmZK+?qD*yhQ2`h*t`7&qysN$rHZmwA)8zB$qR` zf{mLV^TTRSy8g?hdawQmXfN3Cq;_GLI{SR_o&)K}r$xSt1cza`BoWKc*jN8MVbV=;@vmOH$@GfH|6%N{qoNGIw$TAWNvQ#(Yv@u$5JBk}x{+=HVMr+fM;Zp{ z2I&E$d+3sG0m&hUQaY3d&-44%dDr*8>pSPH;~)INVlAA9`?>et*S^9C!6r{0`7WiGe$xHhUDpIPkmjjBct z(L73Mqr>E!O0Zy*rtfk5cyz8q{a3?LE@UglPT~y}s}YoL4M#d`4oepD0}-OUnVw^o zO>~Y;I&Lm}-lS)iib6DGtRHm=0qif;0$7Un1KtIbg8cwf;ZO4*)Ksk| zvuAlyA1Z0|Lw&hAu@8(p4p0Yv*{kcYl&OCp*pf>{dDXsiUTq|WvFW185JO)>ukw>2 zqRD(Y1~9NAq7eWfT9WV z9#0S%{J1RW2N17*n00%Qu^%v%d#Lq#NV66U5p4Ch6xk<*$|ZX|+h&zBGcxkY=wGqV zGtoRSH_%}nMCNiS2YRkYFT58Dj*q8CAf%+DncpM3F}&vGrn5NXWf2FJfNT1PMMa_H zR3ULXHN@;7KjZ<7(8>|qh z^0)d7THQpuLSCa&$O%@9}<; z<_Hn{k!rl}qIcC5@3d&2;zyMa=o>PLKFkk=c|usE3D}5GJ2B2u~Z37um_>;cLgnd7}#_LfaG_ zZLu;ieo?DLN3-WO(petODHrc!rnsgxbz37TXw~pFCokF3B7)+Z54nFghEc{|e(?#1 zB+}a(fDyAJ~tq=uF$F(#(#dGR?8o>9tGh7ODlvwtYz7Idju_Cntk{id6Uu({yx@85wn%RP5a zgknb*{?t^Xg?tHBd^<%zq8{x<*BI%=kGd9CWZgfy@Z(iUQsm-bFU2obja2e|tKgaco4!TU0L0eQyV>;QSmWGRv7N0irFQigj-ZoS85o+SmWyj+=@P(o2Vx^KZzl+G`;*zWoMY)IZgbV$o z5>LheD|wBUR@rrDL;HzKScO1E8{PVRWyQ`4YM!GpgTHj)xx6q>7Eh?#H*Vf&C{!AU z6w{1K5j)t4rjVB4RgG5zM-l=|Pbjw$RRTB^5{JwPy0!I%t#wjQxJX9&8$-yu*J1be z&TP#q-nQrwoDE}mFRgf2kvSwPi8=>wJG3FW`w8&QR7L5+0r zw3TpZgR5ZI#rN;BS!u7crad2=NLGB$`JEG5HWH!p=X}9vElaZBXJ$DLzQ*5&C%I2q z4D@yE-?D3B{jZ?n3vkMwG;-#?VVpF zo=IGg4-mI$9%VWuXz-2Tg>h*{CDFUE4Zn1#gb8OjDU$<=7b@B$|I(K*6d$HMB2z!zOyfv!_u9DAzu>@s^Gyf%82_ zM`QaT1@{Rd(!@wkAdXnH$HcIUVKjov@=hrqdI>*^0=D=5{(#-G7W+*)?1I} zI`jPXnvC|1iQSJ)0dOIAZjiF8dz{HNPUq9xc>s)7aD;ql?d`Z6nRSD-#qJ3TWY= z$D;SP#-jf~3gWPd_ZiA;k$4-eiD0h?@D)8Yl3{!+zp zsr)CIr)85*uw#82$|w$4>mBU0$kmi+RS;r1P|76a~%N9^3}eE$ZojTpB=w@@t&O(!DLMCWs)O5ciudJbZ^2L$S zf@|$l+hLjBv29H7rb9aYEo)0_JB(WC_Tl;Y;gmf;j32h%Vvig2cKAvXV;s}SN3a-jSkNB=?bI!?hdwwr^Kkvk7b1~D4?+d!WG&W z>=H~?;=7Z9kVe?5_wnHc&=Hy~V~9)70po)uL9e|`N5DB-Nx+6!jKY0DZ=B%NPmrW(>=hSVzJS4<Hx)m$KM(U@IZj#79;4*%t5wQE%jYPo74n`B9paN@Cfw}Z7Uh97u3yPml? zvMw&fQ-v9NOtxgmZ`YFe+z@ct$7LlpP3hy+NG`>${}1C>EGYB+mlIKv%e&*V=GNn# z@W$v9Ij4`3ljw<;GlNi~cO;Z>`*G7qpQa58}u?GVKte$M!!=MN8O;Qnh!dgmc zHVJP`rm;hy5PL0lPIjcu*b(Xz+lfoK2ygSPrhp}C8At%?@Pz^AE|a+P&CAN7Xve4= zoZ~Zc0^jOE#AX81?a$Z;zyZ~&1JvfmDK|ZS+cTYpJ+5WYN>tPh?E4BYa)5rg(PXw( zIb<}g2q8-&7NQ)g9i?Gkqor{x?=KE~!v3AeY+!PDeMA8WC|A6j;S)?f=6@qU{5RT; z=O?yhAfSOCP=YS*gxkos-zC=z886WVl;Uk~l^AG|vn8cXXdICO_W#LhwJu(bnO?Uoq)M#A*71|^O(Jn!)#!tw3}mK0kpP_UdmkuZ8yOXjIm^bok4GnG{Lpmj zU@DOWz3jv~XibgvXR&ND^f9n)Xa}gTkLO%G9XyD?+5=(=d}kfVbGd5mrcGttWCGG# z$0nFJsx>-vHR6IW${5WZ@8RfyJ^k>xw1m9Y2ziYjRf2SH>+4n6u|b53lQ%Ee?Cnyw z9ahlx%IT`OZ-HSO!84^u^7^tA%E)txobYqgoq;#xix&X}?*Mk`oKq+8yI}#1&LULt zMl16x#zP;dac2rgwWZw%x^&(9k-Wh`%tO78WUpu@plAdhkvrO@{2(`F>c(YBG;?o{ z7wtg2Y3pigv?MF6+-nmW++Ci7?Nj23u)#Rx=J7__Q{GDyD3=*Qa->uiG06lmZ&7SabrzK2{QEyvLQ7ltE(eKpGyyT`?N+wKOG55 zeJGC;+@tQcPp8_AbSvv^Rkl$ri6~UkCZ3hH3}A=g;yS3-`vTcQNQH>u$O~S7R~muN zjoW8;X6oTTm}+E7Bw6v;*3mtpqH{`(4UH$%;gy`(7%lpz-7XymbrZt1Tp{@{En}cI zM$!MdbEI%DE2rjw*!xs!(Kqy~{0D2{y_vdo8WL#Os2gBr(!!Gfr9uK=3A-}$W5KS* z*64jIy*5*Xq3M8op(<_JVxDa_TwCdS=7H)b|)N-TG#dqqti@E`rot*=Q zp%Sybi?Ou?lS)%gAyW*&GMXXSg%r|gAZ{;R4Snw_j!Z6N^#2YpZLPR3IqyFj0G|IU zmr+*}4|>*3gWZ5VuOg77A((8DX-lZ(Ml~Dd#?{ni%#4OWmP4Ks)Jbc6S!T5) zBEM?3pRnL}4V!W<2pT`+PG(}otOd}X3{tupk)-1vTeb18-wk|>`Q8IZ{Pn_XG-!o- zc-BFk(_dqD(HAACjI?Aw+HlN>BzQmd26B&K(4}I;(_n)=y*7yd(@{42ukn?a$*<)ne1FS<7o)D62(DG244LGKh<89n z&Mdfy!-FsO_86w7#L?n|RyDc?`g2-#L?@-D<6;C5neS6J(S*#qakp&1RDU_w;|CCH z)>j`N&~f~2Fn6AHT{&p2oU;QaEK6_d7bazyD&K5_KG>Ao$b`wgzjg7p^cO$@s37>V zV|&Wc7jfWRQRN*yY)gEPs`5>J^RFnYP#+|Mv7A1FisO4549O_C>0^T zFO&DzC(rQ8Olc#tWI`WT(q;Nm2vd_ON(kl70DEJc_`%@qBQjt`t$%m>8Lg9R0*yC~b6j4^Zw9e= zK3#6?khlPonvjG#J63G};V-x>lCOSUjU01ESd*a#Mz0x~LQXA|46A-iIsDM5OP1vS z;B^yF&YQiv>uAr9`Qkaoz8Nq7J_*;l{8WR0Z4hb8>dr;Urt!chf~+e-1PC^$B?Wm2?MCHplxPBCV%OlXl&VzK8 zO+sqR;VNG4*t3OhCK-R3WG}r=IwtEERRWrw-!Lq}_?*^2BW`ZOZwJVQxM{eq6VJ$ZKrSJxqsN8E1obzhbr(-`6}NiAPU8B<(U{7vX1`w=V#rwD9}* z&Z}=`v;cJmkV`48-u{#%h7SNlD5T5%d+M;x4SF>+%mJCaP_ALV12e+MhV2|8eddME3H29iIrRJJFIZ<- zdEV^>{bFi#NOxOj{LRFC5t?A#-e@YLo89r^@$`3dL%+V*;5LE%*H8f%kPS40+H0(`nXkAzb4~}k5%i~ooxU{u()=Cy zxYNT`D{uU2xYf)VcR0UpJ=ax`Z|ZYNrlSHs)1ukdHd zc7IgFv;@1^k((POB+{^$MsK=5TygCn)9<8c0CkumBC54Kzig7E;oRUXn!ql^`9Q|n z2rQY9d#lyvWL$1=qjq>^Cqa#J|Asb^i7t58XcDPe(;L2Ae(G;6WvGxK1xk_-Xk#2+Ekx?uO}_x>wLn+YX6((c{E|4 zwJ?h>#QeZ7LcqreyFKCQR_cf!QFIUE1~%MT$abC+np1_OUdW?#JS>@0fT=~ zx!;WXlj^jkLOfGpsX5|Z#aAR(_V#q()Sz%bWsaSvJ)y{QL zem`0$r9f)KbK1qpT6OH{ZLc^>5;i>N=$eEyqfO?a{QPM01TuMPmND&jj37CWZ`-$j zdsPVKmgIEv_GGn0HH0~4MyBrf;o#{e3|4La2b=5?S0NN+xcs<%dc94kqGDeenF4IJ z<$7Fj9Jcl#wG~`ScZHx^4`56TkCZ&u@VT#o|1MjQ3{^k#T6WH_L8ESb1&&-eg~JvX z!CQP&q{O5ly9H`M|D6%O-ub`YEMWeXIi9=qV!Bp15HXGI_hZ~?S>=&4oL@9a7vR*@ z9CBlheo3%SB&1aFL74G_l#epTv z=eJ*r(Zt(A0_pO%39rC;W%>TpZOD%R-{11VG2Pj`mmoRp^dPgnV)l-G?CYuV2%kgS zsyAJ$C%0FfiIghpOp#M=q)7L*R3|B59&wy?zfo_}Q^&e^O_!BLHeLp+d{W#mUNN=k zO2%(px}l~Us%eRsLHN_OAs=Ij-rzBPUd_^5i=L4?;W+Er%&9*r$GLp&3vva5cq~Ew zpI5)OirhHxr~J0`kMcu1q=FOrUTzL+HgxkHmzXr?n_6ecOWJlNg1PwRXPOhBkd zehr6=Vha`C#4U%I{_90qk5N=xeY&PeH;2fuy6b3Ye+$=VWW2$K+W7Z%YJIwJgoLrL ztp}q?Yn0>Nsz>&?{VsNOHg~=e&%-FnqAH7q=9BFa%D&2>25C3)_M?~ELErJVz68Gi z7*}5cA=njmH8ti_aq%EBAXVbQi5m?WBJYzDHUfiru;w&xl|DDDdAopT#OO7yf45%g z$IRVJpOdf`3@V9qW@I&%u?OAjKA{BAlzBF(CP8&?gZfZ(PLgUI0$riI=*! zu-XHv;r68q4Ps}M2vvlxyF zS4b|N{m&!44lp9$P%Z7FG70wtP%UM*jfmrT2#e5X(?EyV)X z1gp3HKuB86dFsZ|)vrrGK%q3}+|NYq6Etm|=q}%z!rc<{`_plho=j#?u#1b(r!Nzf zG6;>g%w#~)T|hmc=oA&a4+Lb#2a<=xBfx8wHNLU_8ngPbrmj_lnp)&!iS^}SFR4iy z{EIBU7OBbiT1{|#w%9vx{CelL%|Fnk8yg_?_^%*9hlN``OcZ~nyD3uiS3@)6ud*KU zRD(!|UDH^FMj4695}tr0c|x!=`dTiHy&G4&PSy_+ek>bvd>A+qnG@gLiTaI+G*rlJ zb^qw_CqHCQt@YmTKa%lA1l2}Kpki_vI z%Ks#0wb2>vR1$PP>?8WvhP?Diu@XC#W3)w|@Oy%2M}_)Is3s%FikJBO1u;NB>3wr% z=Syy*>d^%g84QWo&VMnTPE@k1^qT&qWLfOB)vY)HvCT8hlFH0VVyrQ2a^=w!0o-ps zNr|fsPju^;7&%k@Ff*FC_U_@@F`nP^drP3;K`|2)(;3}>~oA?|##`wVsU|~L^;_4I<(4np!%mb3h7l_u@Af1(NhTX& zd^;FY!lQIS*GYd6XS&dLm@2Z@xYQiCgl3DE;K3e1%YD-pu2A|7Aw6uwyCr*7LEU7s zT;wwSiH62l&^6^m$bI~joib2rO&d}LRWOqD2p%vtX*3}9tACnLJXi_cj!mS8-m@R@ z$m7JuW--0Iq_w2?noKVHa}oN76kYsWV_NQaAZ(HKN5; zKFBuhydE20@E{^B=6(7Vnd~4{f?cfre-}0FB!>I5)}^8mCp5opdq=C0jS>HWg}VDN zvNsaKg8wswMfnfO{quu@yPjtF9{?Kqa^nENKhEZNIQuAu@P4{aJFSPj3F5q5ES=lq zO|b2jgfJChg|Ey(h6E|~#YM@3NT%)kO2Bw;rxzfT*LN}jT*{u+8-dnOAZ`fLWH!f7 zT6otgiR8-AJ#A;pKad~i<@@`+6Pi~!zkPlJg^hoG;6E?e#QiwLuk%jCIOom+<~%_O z)S_O=o?CpTv*#xU1&R?8uWRMus38x}cbSpiS(P*Xd)&UFc$>>6`4(jC+F%7!1W7End9>GhfLUoW5o<>kM~mL4thuJe1iA@afjiW?RcA$L&@z%#LFVUMC$YY z&mo;!@0_NrJFF7skutpQ)%YOM8%zO;EHIM!;!~NzzYlgPM&{mCv_+HVa%hZe;ejdbs8>bdWV@$W& z+wNXG4Jjeebu85G}tT`|S3L1(Rwk&Wr;ECS1 zKpdi1_F)1}l_4tAId*Pt&Yef@rJHmAPKYGS zzo9yX$A*99bbb>)uvseJy@0Hu24Z3Du;e`>BK%UTF0VOqEwBnkCk` zJynuM?^M!a*ox%!IFxdmA=8R2y!%VEVuwT2N&D3zTgx}f4dn6)RK39M@bL=~Y z-J)D+oW@!YoPn6sW&Q#1If1`Jxi`whRJFdF_#k8|G2*UtbDRh0VPrWFu6D!d->>^#18n?FE_ z8eAm6mArgi8|nhRsR_68k1JKJq7`w13IVF?ojH8kxb9Okm3g!me>QqmR1MwZR}r@A zI2J_W)7sQv;@UUfoIvMuX81s?Fh=;qXzGPuXT$|8Ox(1}5tZZCkuH8eEf%&Y&P-V(jNxV;hgc@L?bZ~hrNesM(9Pso1QQ-a`lWsj+I%v>* zhawG5=-0W~FwA(rtef4@(x$uZu&QEP!MBj$EB85u#-0uc3Nh!|xFp&dnHRLnJJ{=u zt{7Xw(IAm21D9|HK9Y(1;8z^cCf)!z^NWgz^O26dIkB^2Mb_4APW%y?mBI-@lH%38uf`z1X5`YrH0AxW-Rr^u zq2cRUm;9tPo2|+y<>2KvwGt$j4oyB9y^SfYl|z0WE!_=c-i}nujc-e|=a+L$je)+p zIt`*4qNFA7-Y4(RuzrUDcelXkD3hcAaHWV%GW6p0IjBxjDl*?|gQX8J%Qx>Aov2ZV ztp{6wzm%;y!BW}VmU2S{C^x?iZOtNfDf5)hmc3q2;sf?PE`sMHy{vNMNv3ET{w-x& zMb$`hxIY6AZRcayMdtYi!|ZbPfqtq3Bi-tzs)x~AS^707Lr{T{CX)9zd2P@`X zb7bivzyv>CR#uKHl=dKh7pW}MrHwB$rL2pc*oA0a?l=orVrxbpR_-4L`HOZAM(osN ztN6vS$GYgMsA~7HszzwXPbmre#hh8zzolcCc3l$XW#@%ghdS0Txg5G2q(V5^$VWxF zhK2IAKfL<&v+75t-QgC~NjwY~cwTUH3|8Z(g!>*+#|Fj;_hc_g6u()%NNAEP}@Zqw3+uH--X zQKC0ZtH&3K`~J7o?yE;Nmp6UJu;`qyTc##spKy3)fuW8@OGPUPstCYPdiK~zxd%K^@dXncwyoDz91{2Bt zaZ$ju&%Db%pQTAnSEPVl?31aILhhJn=A*TsGeO@Ik)wLpF|5_Jy?-kJVtf$&9f&v? zmx<7fYgT$BR}|9u5RlB$RbrA!5dP0GPvPeOEn3PvwsWUo{pc>$v=e`1-AClgYLV~a zn_$3&yIN4tQKd+U#TLLa9R=5>zQ*OrGQZ3QroMED`5hk|;|JV1@$f%2N5+zo>vds= zXT6e0SYPt4%Z5m>?V`xB9*PVV56Y@8DT=s9y3O(U`m$yBpq5 z5p;qP`SLFB$P^e^$MLY!KjY>Bi2mrgd#jrZU@(94lIekoLSA4|BUL#-j%tSUqv0Q-r)c%{|;a@ zPV2Y>+F^};y4m?=cJzfg`4L^{*M#q_zSJ;JpJo>AwIqC2L+Ead6jfsWXF;937~Q+F zNPCSv&8ydl{teF+oO8c7bB-@H!W#RKYA&`o+94HGw!B#O!rJ)CVI|-E?l=dB36V2 z5L7md$Si5*EAkhPl}BxXL6Mx_Zw^5CFE~&ZpohprWjAl{Z*}um-UbHV&)~gb!i;(| zKj)rp#=0g_;*4Uq{N!OMTIbIm7^-b)XwArGiII1Q30StI;`oL5^5s+Fe3{}=r~oft zBoL5G-$xy_1jR`+^+x2;1_`qT3jU8Lh5Fx5%4Ko?!gRqPGwW|Q+CE)EtX-D&@aWLG z9woD#GWo2RT4EBg%_q|@;z&%!Z|SJXSb6MJFVS=rMI#VS zR>2fU&6ql(b*;fxcb6zS!O9zPPwxrF?KmYix#5jB^Ni{Z%e%aXAZ^aHbZ13z%8p9Smz zb~NTU+Nm;AK>Q)U)2-y;^USf1J?FPgcWmr^6by@OMw26RX-ONY z8q`2l{;!zPMW$<8e{p~+oXz2SnQE&)a7eLiw#d2aonF4PJ+EHou!k+;_%q~8yPR@@ z-60=AW@6s39(y|^AbFkXCmQNK{mz@eW5YMa#kEOq21R`{_V*TxqLR>-FG4^QQciZq ztcjfg{5qnexz>8|$|b<~$Lr?dZ(lrWuSwIcZ-=loU7bq-~MU|HH>M3 z;nrd!-9fFNg8+X~eYz5A0W|{kKz(JkAIx6VjH^eMF!K>`N#gl6}fstk&GQ=saWRaafm`CRP%Le~<8#buQ5vX^Q>UO*R5q zpVqm|>C)TpV5v3;4;b-Z-1l}={{$F!JojtAYZ0*A{+<=&2L9Si@zu(~RZl15+eJXw zS@Mye$QBUws6Zn&>2aP}7Nt_DTS(@iHHu11s-rjQ#gwy+kXbg#bP~I}>>s$WPV|c6 zne*&|H5io`851e3Y7%7TWOKEfGVh8u2af1Gm+z3<>}PD-usLd~Ir@gAfehc2Dfge+ zF;;F`s=ikIl?CQu&E8LCT@javbx!;O)yPtKL1|uo0}W43eI@_fs_$1|rNGpPLnT~$ zZ62xPT}S2FbdEM2dIt#|TJlep%+$VsF1L~CEEL9ca^wggJttm(skL^XThprHTj?=# zfj0qnOH`V69K7B1dl6Sr-9BvWA%gUe=P(De8YIMJ-_b?OnAbnhF5U*Ik_BFLzeJ6X zyz1$Qo12K30Z!0=y&^!Y z8s+7P#o`6=x?jvuwfX!4E1bj`^`jJnkzgY?QNv~l#W_ikXUC^axRu1H?HXbh_eG6c zTO*lKDZ7?Lt?Fm?K~eVDMe!zk^H{15K%n28s%A0j(#57@xo}z3&^BybJS*IzF4SGx z!Of2uaP{U2du6;hT9Z&(ZVw=uV(VOOBJFwj3pOjrcJZPOHw$*WWi}Q-(rRKjFPCjo z_ZGIRn*WyL;WL8iFoJD8TRi*Ka~csaY-k=;(UBRm=V|S6BqB;zU(0A>{AMjw4rxAs zXpYc_8pv~*7Kb(deOu-h?y(|B<+YdYeBf&w`X^O0Wb8#l#!qCPPh~aRH;3YYvpzbx zYhRX+1ocKy5h#n(p^utjHf}ll!rhN3%MYZ;g-4SWY;0>?T$P z^W#O(9XoJFFUlvtv~u@8J$Sz=Px!`0|rfIvK;1T!iW_4P^3z zUqE@&8LYg5f3tTp+vcev?TIj@I#gJgl2Nw37h0q(%jZxT%-)Yg z;ysA>SEx)YM>_Y>(Z7NNIui7Z-!93O1-lTmNj}kS%Ps69FP71-X44%c*e>o{p+_fU zyIf2>cA?YDs7(1*G3^1je$mF^OB$&k5w!VGo`V}qp-rkD*7pDBkl((*1k9R0=7lX* z9`3YK`HgKYFQ~Qx=vhB=kXp>}3r5dB@3r*4+lQ2X&XU{$3eUe@&~s8O&;tBV&7mjvBLFGrBo^#asAaxC<8Ck6@W1qFzW9*tm8ZU=)6!7(ix2X2YOr?03pm%>POorh#lE2`+CI0A}C&;h_^Y0!G6}a~W5sVhF@aPHE;n_Uq1=N8bAr_Ti>ECzUMmy&nH zkZ2uE#Z((h_V8B(LmU$)=Pd*lG*4s@@AXtIL%VaXRK1@TANo{y-!GAEgfNsZk8x9j zOa6g~w``pu>~kfU%qfMI$VXvynzV8TE=-wm;nX@54u1^L`>+e5PP# zzDewNQaYW-H$1UlNmH8!#IFGe3;CwU)Y-})sSC4qyrrX%{5X%gXyJ9-@jK9GV1rR7 zhxrFOM#Q_ukN}{_B)QVe3!G0LGmqP{C@k8+EvFc+wK%?sOT=y*>(lCl$G@3QfqDf* zW~s*H^h6CJdPsb5GEk~Yk2CfFyW7&IvU7b)w+@ zJlchXq=4Ihz9|S2`wRfS*7nzKwY-hvV}{6~S+m?`!(J`PRDmYD+HzVPidgida;x8U z800}uo~((m{~!O;F({kvYEfpED?N7EKM-@b-pLzS3H!&b&ITNp_&|MX{XON6J6))gf1D+Q#mD@1SBBn1SAu7bg*NjC8ywl01+QW|zms zw_D2kY9HvZn%vd07 zP!~pWlOihLBTL^Vr<(JgFvQiL>E6OLUb3R>p^}>|0Gf7HBkMmwI<5V2W zJeA_p<`Tl{{p!x`ru&iz(V#R+8N>h|0PY@%lD(F?pwEvAEr|6wbR#Bc9j2{n*hwyr zFQs;k8FinH12fI>t9N7R;VS{*a%89lE02UV>DZXa=cWJofF{h?J9X*?MXr+f5?5zC z6FE`k8YGEpIGt-`-le{8j_Qz!j|C3PsVY96^2=#=Q~q%ER~8m)9e78LrQ~k$@TdE? zcc<7%^SYNWkA3AnGX64rt5-g3`D6h3ZMphW^Zahy@YblblTmd?9(?1%8O!>^{63^0 z0;Z8zT4GU0Ox2BMPf_qtTcmMh2P6QbTbgvltFqzNzC~w1@ zEKKJ$6c?9eGUH*)ZP#XiAQ7Nj#R}g6&(0{|XyQGSkqQRMfp9<|EZ`ms^9Mdl1Kl5@ z2fP9bWRkZ(jrGBg0PV>?5Xj)XZs1&hc}rr*aZX?YCO-AzwU6*4D@dXWq7^)%ggvmI zFa!XppDHV7Ts{qd0u~iHd67wYi20lKa?A(Mmwx2$T^89;?61~*BSpNZy24Gv)85Uu zf`66CTO39sp>fXwcd!{7`KIB3fKlr#KB>^m4C((lU4(lk(F}sh9!$uX3V(WetGSuH z$Nc2CM`9uc#6GV7;+c2+sd~IB7~7KZIVXsIR+CIo`YnfAK!_-Nmw~`dRw+HgAxF+0 zdTo(%mD^_ZcOq{%zT8UflUY31gJjT^<^89hqx?JJ%kTt>taN5koDlt5so~QwU33c2O2(=@#j?( z9Gbx_PendrnXo;4WV02imveLO%7exG*}a1xBjBB3ZuI22;44^%^w@XOm}X>b`ggpF zxiI*eGoH%_{db7Ml)Me_6H!(C+A98+Z~pV73J7IMo9qgG@kxu}wh@J^(s;1~lcN!7 zFGl!E@YZnyaMw689y*xsUP}3HAA@s*A)2rE3j0m3dMTSw37rxyd72)HU&D}Z)o@HURLqoo&ljVu&%mb z=pnhU2yn-@0s<8LEUw z&!3*xY4Uy)7Xm-J-M>_2@DYxvJ`2+Fc$}VEYWEF(7!4u~0zcFo{>{TPtyACCJJQ4Q zk+u`tlMvQW@oEWN!Ba0$ITEs?bmccK{H$B@xP}P8y4{hTx2omIdvrLe#ct{(vHw7V zoWma8MC=@&r}8zslib1^n=}^&4TUm556QxjH-5Uf35?=DHt@`FExr;dX{$q*-57)7 zXjq>ph=ut514VO|f_`h0Ls^MrNe~iIbBk65T>B50<@z`H=pSLfYk494xnB<3-6)J} z)`sIQ_m?c-D?7@mGid!JXx~=;apiGDoK%zm9x%E>T|17Hq*x$$VLakpns2cJ@zS0? z_}rzA&QL5oh>0gmOs*haeF&pj)f9kO#%xWP8XzD|4J_)Kz0$we7JFZIJvN?ue`R1E z`r?HCMy5(~%Ku=i(=UY0u6?;^;x=&>zJe5ePSf6&VX)o~&M zruviK{-{8vG;T+X>GwL#H@z>^fm6);x3|;blmkgcB}!@&ypQVj|5p>4a`R5~p7f7V zw*yJG92KWZJcR0P*j#x=#AZky?n+#|oO~_WlPdjh3nM>eg!I#(=~#o`-zRyIz1DcQ z(YsoxDv|~<>AGdL7)-!<&oVF|KrL1xir^al>=PO%cr1B#?^l8i)>NjZrVEUuX>ci$ zVQ+fl*2wA+9LA+_Yb?^&i1!n}_z3|EqHAA8dX`^%c*_96($U1MPA+Jl`ihM{KMLER zrZ3iBn=0xxw_dc=rIPKh^54O|RK<}{pMXiMSJ~tTNUTc8DFhVq5RAnfFsUZjA4Q?B zcg!(xQeRYq2N1O4`^?GG)3@_Q5(IrFH;udN^-=Tl-RVggAq!Sr**i}Bs^jM)H<50H1s@dFSl`C z6NWQB7@nvfuD)ZtfBv;JM2uW!U_O+BSF7ieWJ{x{yO?{(zD6N1DS=3dU7b!-j5^`< zil<_GkC4pQ+t}l{ypK2nJ~W^9=f3KJVwjHIPFtkhSku@4f!;`Pnfm+#Nlr+fJX0Yo z)|R?cVPrppkME}VXoip|CA?;^B#bguuxnoHzu)2g_Q$&%Um-l1Qb0aER^t z@Zu!H8g0>#_iuapg36M>09vTClf^k#(f&`7~Fkl zSZw?zkTAq24Zrq0lnE1o{Ubu5Z|jBKEd4VD4lGb)?LM90FUqe^DA}#M+zc&LqxI=Ks(SqeMMcBBN-9?ON#IHdVIkVp^vlEr>gx3t zILTAPNTn}xFYLQmETbcR!1!8&zdXgQi7-?l1W)y|CG6JR_$|pFP1=+%zNeqzK;qOb zvCB23W%dYU#P0i46ZSQwWYw`flqLWr>B{4?TF|oPyB^@9sy{ij^mrkNUK3J7F^E~<;Z#`3ivPfY@Ab04`Z>(dEL~yky3-I2rr15#b zn_>nW376(jZxFLNKdDW0pXjau)6QwX6{0JT0tz3&`W3bM8%r^j2l@}h@{%=~9sz`_ zyk}+{Xv(d;RPiW{&BvWzW6-f`xd9gVi4rljL$ez8uYa2yj#s6YZthkm<8+-OyHw$>> zk*avLAj&uo88K0ULJH2jX9F_KmOanPEzDjX6z#A{SzL4pq&_15L1{>Q!T2#g#*I&kR3Oe`Y62oO=~bBicp;Xl-$_k9J0aZ1y_j6DPJ6p%$?5B{acnftH9S$2t3;0F#DIT)%KdxNd&NV5@wmYD(1B=l+N zJy#c_a12YNmc)%!RpB|*aMe*UX+o2)J#ro=agKrOR*X^-p3#k8l-oOdEVet^;kLc` ztchhKuXG9c1s6%f=RSCB#Z99jGQ@RIqZ@(U{1g=bIbLYT^tLKN#wS-{0)^ul%*;0V zeCwebh34YV7u7>6&BpXBS#b#jcac_H6#gZY6*&*OzSO$uL`mMt^`%!4^4xgQtYbUT&3p-CP~ty z4d%EwBWN>LS%hfyBWLFZHO|G zcWgj%L>Vw=Nj4KN8fwl14_~v}d9#RwN++RAP_1e2Z<;)C=0a~}Gf@+*Smg*a9oW2Q zO3m(qCNcBAU(Dq*G_f*GReCd)ZRpEOYGzyxjDTP`B5N+Wa;EkbM;-MfB+oq(`5yaUo z8zb*Wnkh>`Gt|`}>q{4r*=$)k%l2oCrt4BjSj1F>G6PR7@{mFnW5tab%Aqj*H!)8p zV%`T019Lq!qO|aV5RPAhs~Ub0b-%GQ3zC}|<}B2UAm=!+*wouyPTSovfiSv4xfER%7g6>pDj{{|sKhQm!N+(G^a{x7Bd><3ly%$8;!KmpHPL%epz&fle~MIx-LuDj;CXb_pNv^ZSjU zy&;~f?SUc+{8o>N$|>Dq?_cXwMi^Bx)1q0##qFY;ggR)l4K~uCQ0~VLDWA-w9KyJi zExo3Osp*JQTI2X5foM8IDxG;)Nid3}P(dGNaUw}=cJp*7N+y5D5g{dL7t07lTxz(E z9ZYlV^pf%iMZDXdmuC)cMCFTfzN1TK$dK@Sza}YW6&x|-_iMZ(bL#^+Lx@+%tf1%0 z7K&{?AP23*Luz{#@QcDcc|nJ{O-tccD-)m8PK{bUuc2eZRe01?xq}#pq>TIWv@_MK z$JEdhSv49RBu&NM<-y(B-wLL_!PQ4KwNIGYmGw!DvNVvu4-*k(u$F)BV{xYbydKf; z$lqWMO8aOlYke7Y5d(_aCmx6Rj8K)qp7Ly>3~qI{X{{Rxh?3O8@?%t?LyCrf?G? z7pSZ6Aoj?401~B44`dN>TLW(u0$N^)=N*%B0oec}k*||&M0utw3RSMA5v4iZ$K}j4 zIV-r{aYM+XAq`Ws>H%8Ks=jve8S16$oOiEGb8nQ{`$ zPbNQV3iI|teoYXEN+~lqnX4E_Eyf28)RD_eSsSsP97xbB9FPtg{!oEhKSFJ#iYjjH z4D0%)k{j2-kfSr(e}N!I=(KIB?t37(DnDa8Jd^7Qw?sa7Kvk4TEboTYnG*IC>2~k> z$gCqqFu~S))o`Xv2)1wcjEpX@Qs0d9(@UPpR^x%J=K{YWOBJruawn^!(XMfd92JN^ zISGMN{YpIe!;8yS>VIhd8*Q!!e2N@F`PUF1%L$`VGWOODVTpLnWsvwY~=x%)?tUe_Ix?jCwO54Z+G`J~U%+E2C^aQ&%*?imZw<)Ef zWiwm$YJ9dbc?HC!VrqgSS*L8F_ZSGvh-=hLhn&4z0oMIJ3uda0`PT) zom6E2`P(K!Qcw%cV}LVZ>*G~!HM1ScmgZKb1PsL=V5e(*mgP2D^G4-5sA#FXUFq8& zQqCD@3nq@p*_ED5niOfa0`fVzg7e&9WwJBR7N;#1hZ8!L!~BuEdSyNXo0Lf8tgB^? zDd*%V*`8zSEwNW9zvyopyo=C_wjrZ0srg+u%fI2%8LNY+#oius;B3|184-bMEMH18 z`(mxo!HesO>q;je)!=e2-bp?&DS*_`F?l|uP5zaf&+)q~hxd!})kedKiTG=|=5ac$ zcUcN@NraI^v_l3eT4nai)Afm5r0BwQ0V$i~tmFF^69%Rv7gosih0nMTY2lCeNNh{;Wj z>j_#@{EU~ldN@w9P;9P`Omb92><-f?eHG2P`mb1R+L(UzLXpht-Uqv{6*8tt1c<;o z){-xJ;PC!&dOFTuPWFz5Os*2H6w}y?=t~WfN9a(~^@uN?TfqA__(VUD`sf3xk4wsz z{jrcs;pnaC+}9z#;mue19}BRw>yqBjwQEc!^~!*+9C-O5f8}%L_fvRrX01_0)ORa1 z&EIQ`$v1j!?MNij9PsX;SLjJibkoU zziOH=AEtorZSKcgh7c>$OP{!WE58_GK5jJcPJXaqfRUfWsnW9KnosxVizD?7N&^Ju zrY4>#fxBE(#*g<7FR_VVx1dUQIp+z~$yDnP%+$SMx%+XqM5-pKl+rrEgWpW)sj`L% z8~Dh*wX+^Rlo6u+-YU3saR?#-ig#Yz=X-qE(=Vg_rw-54_k6Rg)8NsYU^GQ?0)eUs zt+Z84NwG~rts~Y9BJXe3-)+X;8fJN?QRL3hequ(|b|W3e!O*GY;+7M4O>pp}f82=J zbO$Doa&#-Ykc0R<7a~otVGsW~_DvdJf13&wrYRV3P5i=``HKaa(Yl$I{(ZqDxOO65 zYJ_@qHg07&sv-Xt*HxCPl74T?wqVP^dlW|lBkkN z!NDhTAEa0A%D$`th0X+z-b|9cL@W1rK&-r)-#E7eL zOFvSCc{zKMb86G#Yc*ZKjjO?*+*nOrcAwabcnev|)2SQa`&9U%cV@oKleg}vlSyaV zjRYRY{Tv6DZT*KMT^X@-?GfL^^a%mUdaY$gYCiB5Or#i#H>Dh-M5A7yB2Ou)_!s3y z8|`R^6E+EzX8+8==?hnwYDAfGWZ7x+ye@reX`&4+7mvZqCFv+KU3a|RwgAkLH~FSX z=vZKcOB1v7OxIgnL6? z(p7@#P&c#D#YS4L+3jb=${gMI=$sRF2O>f>iu%Z#%YCll9wXLv*}p?1G|Yp(WIfwj zw51%OaEx{;O1%15BTcP{d3d*rX0SDP!286EfBg)>mPB?LxJbsjd+b3XWh#|uI*>0s z9b`;7;rKM;BHgy9G5yxct5EseAF6vw8b?>eD8G}SwU%@n13*fFxKh~p@r|9ZOopV( zipyA!Mdj!V-ha*euVJSqTD}fSjF)N;25Ioe>r#>S(4Vj@4Cud0p&As!hm-_>tEoGw=0n~D8?SXT3&fg(}T1;_S@{u zH{4cKDZmnyf{3|}Xnm#>CG{U!CEUfFfmXA11NAt7w+gI$-Hr- z_;67-;p@Wf6-l<~c#f)gL1>TqGv=vL|}63i?^Mt~tibTcE;i?|tGU6oDJndg`_ z)m~z^^@T_&Cj)NlzARn;bidZ-$qCvn!dX@cKa|Q=^=xawyQm+eN&pll%3zFvnLkZj z*b}6kHI-@FcFwu^T%CmC+6_tCj}lG+E$)XI&5wxn*7-gWn0yReL#}zxy&hMUeo}nK zvX)m|?ad)_w&?gF-z(kS9E>cG4hN5uMqMO=(UC3HuDD!L#n ztDIe5yB6!T+Xt>U7XjOo1p2aa6s*nj(S{Lc*_u;I5cX$UT-hDK#5@$BSmR>)x{N6A+BK~3`zx1`IbJM$g zQ?Y}mEUsM3#H|`8Upy+LrE_9;;4=+2-vpvuV+aA_v=1@;rJr}eV9&AtQJa-L9s)?jx<0Sm) z1;to!Vo>-%OH2y@2oN&*zkfiHmkLVd4V-6)7XblOzzayA#5zy}9E};5&FV)S{fp2` z=l~Mwz<@e$j5_RJgoy2Q0?5&mc1#4;3>ExvU<7_Ng+5AvITEw^{R1n(2y{UcF&oF5 zl_(N0C@uakg6iu>w+%q)Vh~TqV3}Y9PykXyfM}+6GG1jh)V}}}-inhont+)M0#*8e z-@gcKZWv)21(;~U<^b`35h6Aq27XK=UNJv~Ad{W_cNw6f#k8T!>wI(18HYlFKa;?! z#-Q^vs45k47gGAxe-WTB4(>lr&y@n5g&_V#pyI%!LR%6vdW1J>lwKT+5J{hm@IFmM z%n>P=j*9$u6?D)5B>@pRj^jNV1aSYp2P!pzHlYAiCO{1hpz<#yJ_rMp0R#>P^g+d= z!NC8+=bze+mI##25d%aJ5|V!!IwEo+fR;-F0m|)A{zq9+6>W3<>&O3x+K!l(NC^Sj zo3DN-{=~viwMDzS%q={kjAll8_LUK2@8L*`#?nb^2OG-B{bEI)VE+OUhX2X*Apie` zsD}#=Rbhk9VRGcqCse7^ce(mNDEs(lu8c6AwrMVC<>U9je2YTe;lIFP%KujQf&cSY zilTE{(X1ip=d-_<$P+Saut=j*^-kT!l@BsxlO(rX!35d$UvQ2|pd#im#=lbEYI3WL zyUhz0Pmrm~+1;bxGCO<^U#@>KB+g=p#ivn3MNpm#4Z_4X#0?6Q#U3p{ydL8e!SrwK z#f6e5$h9g2nrDsN>5*3gSGhF{fJ9S8;#+_Ks}`9gT`0Ngw|nRWN{vll4dr_ZfD3`a znU6HgUj4mW#)V{&?vmrm=WLgwg92CYm|SDpXf2uo%*dTQO(HjIYl=qGCYNl~77rx%9~Jc(TXMF`!A9v5K{ z(PO%}ii_rkr+^e}sn1q`b(py_$KJkeomIuZS1B zKxkCe+_dnvOzIe&Al&*XE#aP~Aq_n)tGSn0!{XTX(gUjjjsz$Sp%jyvC!Yedo=Nts z#8<1(@&J<2JE(N=X ze6iu=MDL+YwusrcZjj?Ho7p6UA&?P*z0zrF_Oy|lC%XrU9%Q+yrt4a{9xp{c%TK3H z7#oePRi+MLw2@&fAMahrK8$%OEQP}_mfwOckD>M%h2CjeH-9RF?uek2$n2mTUZ`55=RYc8CjTr z54nqHp`U-?|IV7>Wg><+4Puz&M6Cx7p_&>9#C8QTfq`gZ*Kc06YMW%BT||Us8%t{F zQP-kNczd!;Dz$HcIG8G7?gO!A*(rz8AB369pPy3{F>*PoSL$&gU;S!IV-V5m-~)LS z8rITI&gg>@5x;@|{QJ_PONgGC_a^C3!`jAej}H(GM5jzA^2f!uS3M9ndnplX(JLl< z%teT|^ca}541r#t<#dKYRi#~Ic#-(~Rb6>W_bc^?e=CEnU~prNM6^cPsJ8qHYq z_{=o_8ioDtQ^ZP3_)!BVo&!^MG=ZH<^p$Sfdt6j5e8K3tba518N4sAx0vu}?|)jDPakE^ zbNK}QEX~y9PDs;;z#nD!p$=*D1^|Sh$ zjyelXv*;%Fa6!(CGn>2z)hCwxsr1*Ha09a8=NXgm)}SUxUvS8#XqI^dm|}509S>~# z^QTTt)1tBDA$-V}&PKY?jAQ6Gfo{+8W%#OKOa8-bkp>t3)h|Q>ojh9^v$@vA7tJW* zR(OLD^Lo0c%X#li3gJ3lX}U=py&Et4T5j^nx#LyH` z?D##?K#{vjE+%Ck#fW|p8`-;KM(B-L7)v)etjsH{qwc zw4jU5f6|*Ez~8s8u5-Cd+HD_+MCNF-hX&_={siXR#ik=?*<32fLYBbaq{{T^Zs3ro z;kZfQ{L?$bhFw@-ex69G>5&5^n$_F{iJi>d3y|$RbqytWfSjj-RWo__sERZ8!uY)} zBa%%!iO58&aQB*^m;4r0eNbLex!SX{>=Qd>aFf2y#%>;bZ-{|@go)Y=b605!TqLLB z5pzS@nrVtk^rh=rxL{1wDQB^k5u4^1MlXhq+rYR|sVCE{TERqVs<-a=qN>3HQ(w-c zJ^t~&#-EoiY(si!Vo6Ya!3rVs`76QK`8$Hgvcf$iPO%vm8{H2;9n<-nl7u&^)CTw1 zlqGrmnawkZ?*zcpsk8QX-AMAaoe-AGbN1sV$+`)!O7!=`F_t44s_a};jCo&y+TC(` zfy>ej{=p9f{ss=Q_sQOY>#doOv~zbqd0hN{D&I{rPvZQhvRwSCTX8K{sG$tKLDnF- z3b~5q)71LKoBM$u!-w4kHFK{VgDQ|ZZln#1HWA_h~ z6w87d4G!om`*bphl&XE~w{GepE}KaA;yx|x{eI_eBO7cTyda>OV(CL zIu7xb41k;Rd>ZCTeOmWCa9u%7`OC021FIJ9GJ1mtS98VxyUoD9$z!LOA)W!Bp@Ryu z_IstL&4-K?1K~9y3ThFiCs{}JVtk3M#O}aHPuR! z%n{=XQk!_CL4t~!7GNe$B-8{TyY%Ks>@k95kbo0mSs^YY5ns8O>64wO6#XkN=*{ib z*9^;vju3uo*57O5xi2u~+4N(z4cVg1MJ&SC|7V^J>->ruLnKLWK9j!YF~B+t?G%+C z#(8CGgY}ZeL{-mvMx1(5xX-VD^1YJ6CA^@w9Ztah(z{hyyU=pQT2v+g2PismL|M)! zMV6b~A;256wI$kZ?%aucpr>B<^A^#`sSlOkr4$Y31AHat3x)LkuiL{~J`@(UWma0| z9a%cA)TGLXVZ1ERK=g~?ChBqph9M*6B-kXNBPzhzT9%#bln8uq#?o8b z$l8Ek9X~?6ho@BQITVpCK2mYz*52WHv+B4?sl1NoD4&_( zUdox8cEH zjX+6lSCb+@d33O4tj+cCi!~29Deu(H*ED5J)*Z9cbX-B-5cjU)Yw#_b$L1OUkqv2_ zuY@$JbY6D=@utCGme7lTE>`y9rOY=bb+7BI6V5SKXwjJY(h@c%ToDtG%DCj_&bIc) zC3o5-2`(E5lYL9^$<9f^p-MgzA{C^*v!_AzjxG!<8mWQ(?Qn|!ya^t; z_l2#l?`50Y^pUCa&>ZvT&I)@m74=a^(HKK zDE47;@3ATI?!r?e*hBn%yus;y(zex4ingB*{sO%U z{>KbaU&Z4C2l^|(J~|1~-Egcy6-T5+Gec|5`plK#c|*@+b8j@|dk#=#N$|@31#DHn z=BDHxd@3I~$WKt}vio?eDaRnpCr0UL`IWnT3|yJIJR07usv~?PB5&m&MP9G`Q%pr^ zCO0DF>#@p+s1cnQsc#S2brtyd;5=Tgmvv_fvR&gYc!S=C|0`z~-xYmi7(LPDgh zz?%KTtM&10l7`Tcl5x-&3%dOOtq@aTc(G$bB&$Heu}LVFo_%^5mtVC~xRDqFPvGHo zTjJgEsiBrF0WC^SH%SEV2-O3tSq269qGkyJJAFATToYzMLkb-JZG0#LiCi1Wze~e- z*`Sm@AMl0SvYlF;xEr3zZ8A0!D{W;~V+2ksF%o;~$g~3dm<@R9AfEx^Sd5nS3*|!u zzb3ITE#PavR~KIrxcd{WD7#0$tC(E_eT6tunL=fSui5gE-uFesSbKq9N zHYoWV!i~Ah8hP>3BHO|HU#RL2H%cc)X+;;MjIu1hx#lWOm(UI&B^Nb$p`es(cXyP) z+50Be>pUAVM|-Er!p#CgUpM6m2uE{7Q-ew#c!j&+?tMKnYW1Y%)&=_F#951d#3qPE zp-n?Dt4@PoI@Y+h{u^?)7>90(2y^9=fuw88XYV^}*=c>nPETHCmstmj32`prwUnm0 zz*?hkni9z5c2|&nW-t7PiX^L=ySQjC?t#VnS?(^f7#hNfxx0MFH;naO%lRJc4f$~J zisf%k2VpYn4OFDnF`!*8msmxL*{juatCJ$(4N+4Xqg~Q__LUOgzEF6U=TGsl`77k; zaVK?8y`igkj`fb3t)EGy?aXN>j~FT_V&e-c&1&gI>Tz@*+B4H>&m{~&gnN?^qO)lI zvTa3hBkp|WpB%5mmtP%qc)^kp_j^GMQAvj8SjiHToY4@a&)pp@R5 z_TQV}yC~N+yd@i~a63+I`17ahzbY2SJaIrDN}|6_^z@?GGFtuI8xSG6&zik{YwIs? zZRE{MbuVm?BbafFCmV*F8S)^Ggb8lS*m-Qm=?tF35u%ef^^H_@NRBI^+F)E@U13qm z?;L)VZQ>77zgHEwF&LY#M8)#~4wjc!OLd?2 zG&na(+;W#_NXU`|&tYgj9_~1Qm6b&KG#D31vj{#VkCZ*jO8bTJF?!iSpPXA{jgWFg(NgOHt>SzxkWqwo2+1WNWxTam#7KH_la_!fhewO5wif1% zv+Z{=`f&3rh}w+~t`^an`_4idA_5&>*<0mX%+m9spvuj@rw>uY!ccw;OJ2bXnAEc} zK}_R2-nJ-kK$Opxor{0Z={{7r{bu>4pXTi+AHVJIqVMf>DtM{A78@_i%OEW7AnEkj zFVYGI{iuu%ednkcq<);wg3>RRXR)?JX8576mOnU0{{s2l9<^f=uYtphfZBLkiAh7c zaIhqiSXJPq$TKl@VabQ~-#WE#tWkK`aSbIfwfzM|lim(=$fYf&a-T49**XR*KlLj) z+hU6)mzrzd8L;6qyRyar=EnipBdY7Z&q5#3$i08Mn{+#LOF!_OT7{B};z;^m7W4ZycdzOge|WbB8;iPPYT`yX3|pp zkfS{T7Rx&~9FG11UkPCqEgsDQ{X%Lc`x57$UJ=TkY!YNaQ|Z4=MRMw=Sjs5OCJwt* zT$DVv6>5A_laHPLbWe5S zUAl>B?6&wmIXpq@(#S<1EQ?Zq8pf5x2)CxVq}#rYcM3&Kv9a_aNa0$Bk;Cr;Yc!>@aFD0^kHSbBbx+Lp60?26o3 z_G|sW03&|>hhG$+9U?jvA(_tn8dwsh8nBl8W0j;46dC@JF{lMvaRpEN?D>f*tDgCW z*lx!-1@5i6_ch;1X&8|jlU7m}fG}F3P+kW$60+eG&rYTu^}l@Cxc}eS_`;Z{T!^=%0T9*602VnVL(yyv4AhABqop@f$@t@o~x`2#v)nDmg9|PW@(U z;p}9qIj6>Yt#Fp!sZdbeNm(2*w4+T}1IG`60n3sS`0#$V;NV9<_5P}EeWsHEAZjALnxhd60| znI4Y>GIOm_WbJ>33+^%D3))yU0@`_MvtzhGe<0 zyF+}^T8YJ_H4o`o#DZ9Z_EVgzIDeR&*|Mp7#3Ka#8P45R~d=V!O#+Gb&N zICf?hCLj~z&NBdyjzP8QcsMcxM7qC-y^*z*T6!3-DXaE-ZDkT$-2NCq2%r#5q!*mX z%PXcMM4pbyptw74yB3x{N!@umSbUYu8Tv6uRdGN8VWguL+k4cIUC6I19xN`lhS%2L z{i=;NQm&!7P}c$`71yY;?7%qp7yherBz%J8B!#0$kU) z84+GIT+gQ>hHc?4mP0U$AVxD`<0eygdGwHOOsyBZig=Fr(z{=VkE4fn7SJMren@|H zt2WvwvyC)gp4Fbn&xEcayW>+GbR8BD8ztf$=Qfpij&>$8He$dz`~}2W^3#;)^#qSX zeI=PG`NpO5Qd6Z3AI~xM`_(|3i@x}<6YJMr7o&)Rtc5Z`&#_9!N11{Tv>uPDsFBd; z5pTHZK^7?<qWH_9qZcZ~QqK~hnt!IB6&M-%cDV4?UhC*z zj<}>~g5C=G5j5ndBoZJzqN1v0-YNkP5TH>F&5P~C(f2#bsKbq5B<{oJ%sAor>gF*1 zAkECw^rXtfw>u`j@oACYwC0(NEvPke1t#`b4c(tYzu6*R;4msLG&(ni4m04O z&ZJk3XZjyaE`4s1qKEwcN-I6ZsUm{?FM-T_)7U)1-l)wkU7kb~i^%QQJ6r(Z5p_rS zZN1V-VLlzYEY73A@1^S8e*r=9d~=S~Th6ZS1z&p6OEXOh!{sog#I|Ro+S=Dmj5dr$ zld!!Ty7U>Q#KB$-SA{fME7(~uv+DlN1(4Oz5@U90l~V>4fDvMmKywa{a$P?HwhVM2 zp2Xx@jAMK+o%p#KwZwoCHInSGD}PY>z&dbVrNztvd%SO?G8;sXFCsmW`h(ky=7I@9 zZx|VT;A%X&t@0*RJD;^*C}-!2V~hqFY%zB;-St7;kDSVqIVNK+IcQKsTFDh9n=>Zy zc=0Mt@9K|w19lXtjMy zL&ChscB?z4L3DXXTh=u~FB}I>gg#tm{9Ath`GbxKO?aAfC-WYi?Du+M=9F5AGOPu7 z*<}lje2)X$veqUmwOb-%yj2(w@*}qEzO|^{6cqnd2AR`NOu_i$1_R>S9)x+8&Xv=G z<7Y=~YTJ4E9uqhJJQP&LyYh3$YFwr6IUp=Hp0Zlb#`V#vf)2o8C$m7vw@sT^5mab` z^q)`Kud8`jxjdx2!$ckXoAj7ge=X^*!LRCjyuxm;Z^SX&Kl{UL3)NnwNtu-@(F1F* zh}(SWivQ51Cf9mL3r-PZ<{1YTEcYVwBw?s1&C~}S5_L>a_(HIIMVHxOQ$os9jKrdQ!*i zOM75b)T4*2V`L%UzlT_w(+D`+fPHG$^M?Pizfv~iIXYh*{XGy*Vy z$f(wTJe{^48JpIbj$6L|j9baT{4XG|g!j`knzGq1JJz8ht%G;ph` z>^7h^DRUEhN$YA(f>2fZ3nV|GA@+B^0nL4r9ir$i8FU*7(4w+jdrIHEMJvkLDO=Mq zRo5%W!XK8ohZ&lY=wG9q`gQlKI(8x{W%qn%?%Lwo2=qa2kIKB#`@KwIwlfhRjXA{l z3zWi`&0k--C+!GvtvpS0;{NtYu(9c`W}RZ>RTGsf*ni9P$=LM!cz-=)dF{_VAL^)h zPARmLk$N6o{WbEM2bB|}Ps(HG(yE(-)|5rYv~;U)R1d_*R~h<*t9cC*MKH9D|IrYv zFSLRwOm@-G8_6rpE|hBGoPr;}t+z@j^hk43duK~|C-aZ}U*If=GEuu}9MZLA2I^>0 zJlQcO@i;Q}SXr3zEV4^i#SNVKgNbj|gPEkG(Na_c)k(_*3G6|ac6sG;BfsgBz{!Eri51n+0x>|5QK=$jd1AREakrO^&WT!{`lLuHCotz>xJMlpTW z^3tV8DN7_~s`jP+1)2)^$A)RjatF)qNYc1~calAOj}HF>1*OfLZ^<3rGJJ?0BtSEQ zE04*aD-EcP$(QjLi<8a0#Y8Y|fqc^hA(A_$VDwS7h1W>HbB z)fk%Tv;K$SH7Co=mNWrdhFS(j5j7Xuv(Z|gK^_f1XWSVyQY6Rg0xg@N=P+nT>x_8n zUOE0A@tPs!V_mEyw@^z)yECX5U&5bCXO#qn=xrCQ^l#(m4=GgZ)pE}62+fO_r8G7- zWj85ADt#;15%N@E3gsX->&He$LPe~=Ddlo?Yk)%@x{PUpEC1y!!$Dp>4isuC8L|1adATS`1vxRkJz>be#PNQaj|K+{j$; zp?wkbVHLZUPx5a21;Z;cx8mdJ&)=nmLA;Y&NpoX|4>TB3M0nhGe4#HFV}iiUkkNuK z_g;`5y?9Vr#eeef`KXPO#zv4_UG=DU7q6mX>gDt;yR15F5JPqfAsI;9Y3gC=RAv(w#>{o&jf2Q6OuE=xUgLdX=cKn1uV~w zWU-m01sJ&?)zjH7i|qR!zpB2PnlgD1(Frx$o{m))-N+4|?#lEFE?1zk!Y6EJ9AuD{ z-Ouw<8GCPcmgrfz#a;X%#b+XwxE48J;G4cel0GZPC~oZ(FUBn6h&aWJDC}Ix$Ruea zVb)Z)-V!X3Ow?im2~X1mDg`#G@@GWb1JtH4k_0GrJm`f>0e~BH*SK6R^O+w4lnYptc=GCg)1%;7O ztJJ|Qh1GTw-(@ylZL}Wm@ih(hXjZCx18j8PQY33X@-Cls%bn^?3;NbZ>-A(yv}LXD z6E{wfoYC=3&ufP=mgTpCk*-$vn&N{p$cfOYaphSJ=4c$#~ClwL~9eRqu( zYqiSzF_&vH_^aD{EYjh5yA1H#Q#q(7%LB1T-FUsGqIIaxb%Js@YcSpMDB`$`!OFtS z`d!#HLmsK?-#^)aTE_y{cGM(~(uud%)2X)t55z5LTlL;OCxBeQA3MwQxo#4uCB=Jh z1Zy34)zA+q9zq!TTymD3U%1i$aVuvFxN9&*DlaG#4o}~r??TPd4^`bA&UerM0=zrD z!%8g|yTwhXRy9La9Y3o^z3hI{zc^qU(ceGP)0X57+OOBo>` z;#20z>_k*~DHVsQuie2h&pbO zF(3WLnx}=0i{=ZV=FTOUr;!0vTn<*Mt+Gkh0vpe;MPT)eUC?C6lgnb(CrcIrq0%xw z+LNu#VatK>niwIB=nES!=SsGeBR~U#D69Dfpp%JhaE$qqQWuYM55Oq z8bC*oUHpDb`{i}-@k@%TS5y~yAXJi$ERW*tk=l1iIuC7}`tu-gyFofu5T>Lt%cwok zn(;^I*R3aFkIFw8Mb6FXx;YfyeLYc$rR3^FN=XCv)gBuM(0`RX?i95ZK~Gb?W9M-- ziw9*Tec5hqyBQ%RAWd%o_qDy1wHU{YuUpU9A5Uc7Bqp7G>O9xSowh7AvGzf4MryBi zFs8q<=3`|*SVVsFvj?_Or)qC3N0xElh(XJE^rP}uwjrWgG$5k?)#8bbsj-9SO(qp& z0%2-O$==GeFUA;pJH?`JBviA7gY&nHfL4>Mw`%UP3v;;#BSTPIW1q`AlEltBv0_&ahZZ)0fRHq!n zy$UI5^-Hf5rKAdcs59jBDW&KBEF3^1-_8Zq`yTR;W{m~)ft&{J^+M@XHO%4B!WO}6 z;<2-J4N}{m;VA8w+@l-M)BXZazY3{I9oDYfy=kxuUl_2Bk9-B@GLL-OSv#iJ=C&kk z>MNLD1>E@6C0kN8AxmwXLhs6vja4GpxPIPWHu~wxNs#~Z``6*;=xa|CAwf8B@p-1Q zar*Z92lc#ux7Xs7s;i*tB|6AZ;9~OvZ-NweIxE0;cSxLXXjYk*W1>(EG9VD9bDbkI z6rxi+8tlxeK38E9#Zx5_^e#r5TgA2PT*iD^nmIZ8w)0Acqh7_%d&&8;(3M3qc2D0v za}_J+L+|JQx(tsT6r+3hcYS?QAlo5Xs1&Z}v!2uepA?l&@eHpVb;&k9tYf!UxK%W_ z+HyD{j`2(QJE@+<&uShyjti#E!g=ZY6cn&$0t5m+W&b45Q&cCsA2=a8|4)O4{eAX# G<$nRl2MiVf literal 0 HcmV?d00001